Managing information on computer system
By simplifying the user interface and improving the efficiency of information management, the problems of cumbersome and inefficient information management in the existing technology are solved, and faster and more efficient information management is achieved, saving user time and equipment energy.
Patent Information
- Application Number
- CN202411508658.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-08-12
- Filing Date
- 2023-01-05
- Publication Date
- 2025-02-21
AI Technical Summary
The prior art is used to manage information on computer systems and electronic devices cumbersome and inefficient, especially in user interface design, resulting in a waste of user time and device energy.
Provides a faster and more efficient method and interface for receiving and configuring information on electronic devices, reducing user cognitive burdens and saving power in battery-powered devices by simplifying the user interface.
Faster and efficient information management is achieved, reducing the complexity of user input and equipment energy consumption, especially in battery-powered devices to extend battery life.
Smart Images

Figure CN119493509A_ABST
Abstract
Description
[0001] Division Statement
[0002] This application is a divisional application of the Chinese invention patent application with the application date of January 5, 2023, the invention name of “Managing Information on Computer Systems” and the application number of 202380030129.4.
[0003] CROSS-REFERENCE TO RELATED APPLICATIONS
[0004] This application claims priority to U.S. patent application serial number 17 / 886,845, entitled “MANAGING INFORMATION ON A COMPUTER SYSTEM,” filed on August 12, 2022, U.S. provisional patent application serial number 63 / 349,123, entitled “MANAGING INFORMATION ON A COMPUTER SYSTEM,” filed on June 5, 2022, and U.S. provisional patent application serial number 63 / 303,002, entitled “MANAGING INFORMATION ON A COMPUTER SYSTEM,” filed on January 25, 2022, the contents of each of which are hereby incorporated by reference in their entirety. Technical Field
[0005] The present disclosure relates generally to computer user interfaces and, more particularly, to techniques for managing information on computer systems. Background Art
[0006] Users often use personal electronic devices to perform operations, such as transferring information between devices. This technology usually requires the user to provide various inputs and authorizations to perform the operations. Summary of the Invention
[0007] However, some techniques for managing information on computer systems and / or electronic devices are often cumbersome and inefficient. For example, some existing techniques use complex and time-consuming user interfaces that may include multiple keystrokes or button presses. These techniques require more time than necessary, resulting in wasted user time and device energy. This latter consideration is particularly important in battery-powered devices.
[0008] Thus, the present technology provides electronic devices with faster, more efficient methods and interfaces for receiving and configuring information on electronic devices. Such methods and interfaces optionally supplement or replace other methods for receiving and configuring information on electronic devices. Such methods and interfaces reduce the cognitive burden on users and create more efficient human-computer interfaces. For battery-powered computing devices, such methods and interfaces save power and increase the time between battery charges.
[0009] According to some embodiments, a method performed at a computer system in communication with a display generation component and one or more input devices is described. The method includes: detecting user input for initiating a transaction request via the one or more input devices; in response to detecting the user input initiating the transaction request, displaying a transaction user interface via the display generation component, wherein displaying the transaction user interface includes: displaying, via the display generation component, a first graphical user interface element indicating a location of a reader of the computer system at a first location; and displaying, via the display generation component, a second graphical user interface element at a second location different from the first location, wherein the second graphical user interface element is displayed in a first orientation; while displaying the transaction user interface, detecting movement of the computer system; and in response to detecting the movement of the computer system, rotating the second graphical user interface element about a center of mass of the second graphical user interface element to a second orientation different from the first orientation, while continuing to display the first graphical user interface element indicating the location of the reader of the computer system at the first location.
[0010] 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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: detecting user input for initiating a transaction request via the one or more input devices; in response to detecting the user input for initiating the transaction request, displaying a transaction user interface via the display generation component, wherein displaying the transaction user interface comprises: displaying, via the display generation component, a first graphical user interface element indicating a position of a reader of the computer system at a first position; and displaying, via the display generation component, a second graphical user interface element at a second position different from the first position, wherein the second graphical user interface element is displayed in a first orientation; while displaying the transaction user interface, detecting movement of the computer system; and in response to detecting the movement of the computer system, rotating the second graphical user interface element about a center of mass of the second graphical user interface element to a second orientation different from the first orientation, while continuing to display the first graphical user interface element indicating the position of the reader of the computer system at the first position.
[0011] 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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: detecting user input for initiating a transaction request via the one or more input devices; in response to detecting the user input for initiating the transaction request, displaying a transaction user interface via the display generation component, wherein displaying the transaction user interface comprises: displaying, via the display generation component, a first graphical user interface element indicating a position of a reader of the computer system at a first position; and displaying, via the display generation component, a second graphical user interface element at a second position different from the first position, wherein the second graphical user interface element is displayed in a first orientation; while displaying the transaction user interface, detecting movement of the computer system; and in response to detecting the movement of the computer system, rotating the second graphical user interface element about a center of mass of the second graphical user interface element to a second orientation different from the first orientation, while continuing to display the first graphical user interface element indicating the position of the reader of the computer system at the first position.
[0012] According to some embodiments, a computer system is described. The computer system includes: one or more processors, wherein the computer system communicates with a display generation component and one or more input devices; 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: detecting user input for initiating a transaction request via the one or more input devices; in response to detecting the user input for initiating the transaction request, displaying a transaction user interface via the display generation component, wherein displaying the transaction user interface includes: displaying, via the display generation component, a first graphical user interface element indicating a position of a reader of the computer system at a first position; and displaying, via the display generation component, a second graphical user interface element at a second position different from the first position, wherein the second graphical user interface element is displayed in a first orientation; while displaying the transaction user interface, detecting movement of the computer system; and in response to detecting the movement of the computer system, rotating the second graphical user interface element about a center of mass of the second graphical user interface element to a second orientation different from the first orientation, while continuing to display the first graphical user interface element indicating the position of the reader of the computer system at the first position.
[0013] According to some embodiments, a computer system is described. The computer system communicates with a display generation component and one or more input devices. The computer system includes: a component for detecting user input for initiating a transaction request via the one or more input devices; a component for displaying a transaction user interface via the display generation component in response to detecting the user input initiating the transaction request, wherein displaying the transaction user interface includes: displaying a first graphical user interface element indicating a position of a reader of the computer system at a first position via the display generation component; and displaying a second graphical user interface element at a second position different from the first position via the display generation component, wherein the second graphical user interface element is displayed in a first orientation; a component for detecting movement of the computer system when displaying the transaction user interface; and a component for performing the following operations in response to detecting movement of the computer system: rotating the second graphical user interface element about a center of mass of the second graphical user interface element to a second orientation different from the first orientation, while continuing to display the first graphical user interface element indicating the position of the reader of the computer system at the first position.
[0014] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: detecting user input for initiating a transaction request via the one or more input devices; in response to detecting the user input for initiating the transaction request, displaying a transaction user interface via the display generation component, wherein displaying the transaction user interface includes: displaying, via the display generation component, a first graphical user interface element indicating a position of a reader of the computer system at a first position; and displaying, via the display generation component, a second graphical user interface element at a second position different from the first position, wherein the second graphical user interface element is displayed in a first orientation; while displaying the transaction user interface, detecting movement of the computer system; and in response to detecting the movement of the computer system, rotating the second graphical user interface element about a center of mass of the second graphical user interface element to a second orientation different from the first orientation, while continuing to display the first graphical user interface element indicating the position of the reader of the computer system at the first position.
[0015] According to some embodiments, a method performed at a computer system in communication with a display generation component and one or more input devices is described. The method includes: detecting user input for initiating a transaction request via the one or more input devices; communicating with a user device; requesting an account associated with a provider of the transaction request from the user device based on a determination that the account associated with the provider of the transaction request is available on the user device; and abandoning the requesting of the account associated with the provider of the transaction request from the user device based on a determination that the account associated with the provider of the transaction request is not available on the user device.
[0016] 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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: detecting user input for initiating a transaction request via the one or more input devices; communicating with a user device; requesting an account associated with the provider of the transaction request from the user device based on a determination that the account associated with the provider of the transaction request is available on the user device; and abandoning the requesting of the account associated with the provider of the transaction request from the user device based on a determination that the account associated with the provider of the transaction request is not available on the user device.
[0017] 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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: detecting user input for initiating a transaction request via the one or more input devices; communicating with a user device; requesting an account associated with the provider of the transaction request from the user device based on a determination that the account associated with the provider of the transaction request is available on the user device; and abandoning the requesting of the account associated with the provider of the transaction request from the user device based on a determination that the account associated with the provider of the transaction request is not available on the user device.
[0018] According to some embodiments, a computer system is described. The computer system includes one or more processors in communication with a display generation component and one or more input devices, 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: detecting user input for initiating a transaction request via the one or more input devices; communicating with a user device; requesting an account associated with the provider of the transaction request from the user device based on a determination that the account associated with the provider of the transaction request is available on the user device; and abandoning the requesting of the account associated with the provider of the transaction request from the user device based on a determination that the account associated with the provider of the transaction request is not available on the user device.
[0019] According to some embodiments, a computer system is described. The computer system is in communication with a display generation component and one or more input devices. The computer system includes: means for detecting user input for initiating a transaction request via the one or more input devices; means for communicating with a user device; means for requesting an account associated with a provider of the transaction request from the user device based on a determination that the account associated with the provider of the transaction request is available on the user device; and means for forgoing the request from the user device for the account associated with the provider of the transaction request based on a determination that the account associated with the provider of the transaction request is not available on the user device.
[0020] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: detecting user input for initiating a transaction request via the one or more input devices; communicating with a user device; requesting an account associated with the provider of the transaction request from the user device based on a determination that the account associated with the provider of the transaction request is available on the user device; and forgoing requesting the account associated with the provider of the transaction request from the user device based on a determination that the account associated with the provider of the transaction request is not available on the user device.
[0021] According to some embodiments, a method performed at a computer system in communication with a display generation component and one or more input devices is described. The method includes: in response to detecting a login to a user account after a software update: initiating a process of configuring the account on the computer system based on determining that a first set of configuration criteria is satisfied, the first set of configuration criteria including a first configuration criterion that is satisfied when an account associated with the user account exceeds a threshold amount; and abandoning initiating the process of configuring the account on the computer system based on determining that the first set of configuration criteria is not satisfied.
[0022] 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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: in response to detecting a login to a user account after a software update, initiating a process of configuring the account on the computer system based on a determination that a first set of configuration criteria is satisfied, the first set of configuration criteria including a first configuration criterion that is satisfied when an account associated with the user account exceeds a threshold amount; and abandoning initiating the process of configuring the account on the computer system based on a determination that the first set of configuration criteria is not satisfied.
[0023] 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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: in response to detecting a login to a user account after a software update, initiating a process of configuring the account on the computer system based on a determination that a first set of configuration criteria is satisfied, the first set of configuration criteria including a first configuration criterion that is satisfied when an account associated with the user account exceeds a threshold amount; and abandoning initiating the process of configuring the account on the computer system based on a determination that the first set of configuration criteria is not satisfied.
[0024] According to some embodiments, a computer system is described. The computer system includes: one or more processors, wherein the computer system communicates with a display generation component and one or more input devices; 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: in response to detecting a login to a user account after a software update: initiating a process of configuring the account on the computer system based on determining that a first set of configuration criteria is satisfied, the first set of configuration criteria including a first configuration criterion that is satisfied when an account associated with the user account exceeds a threshold amount; and abandoning initiating the process of configuring the account on the computer system based on determining that the first set of configuration criteria is not satisfied.
[0025] According to some embodiments, a computer system is described. The computer system is in communication with a display generation component and one or more input devices. The computer system includes means for, in response to detecting a login to a user account after a software update, performing the following operations: initiating a process of configuring the account on the computer system based on a determination that a first set of configuration criteria is satisfied, the first set of configuration criteria including a first configuration criterion that is satisfied when an account associated with the user account exceeds a threshold amount; and abandoning initiating the process of configuring the account on the computer system based on a determination that the first set of configuration criteria is not satisfied.
[0026] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: in response to detecting a login to a user account after a software update, initiating a process of configuring the account on the computer system based on a determination that a first set of configuration criteria is satisfied, the first set of configuration criteria including a first configuration criterion that is satisfied when an account associated with the user account exceeds a threshold amount; and abandoning initiating the process of configuring the account on the computer system based on a determination that the first set of configuration criteria is not satisfied.
[0027] According to some embodiments, a method performed at a computer system in communication with a display generation component and one or more input devices is described. The method includes: receiving a request to associate a transfer amount with an account; displaying a first user interface element associated with recurring transactions and single transactions and a second user interface element associated with single transactions but not associated with recurring transactions; and in response to receiving user input: configuring the transfer amount for use with both the recurring transaction and the single transaction based on determining that the user input corresponds to a selection of the first user interface element; and configuring the transfer amount for use with the single transaction and not configuring the transfer amount for use with the recurring transaction based on determining that the user input corresponds to a selection of the second user interface element.
[0028] 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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: receiving a request to associate a transfer amount with an account; displaying a first user interface element associated with recurring transactions and single transactions and a second user interface element associated with single transactions but not associated with recurring transactions; and in response to receiving user input: configuring the transfer amount for use with recurring transactions and single transactions based on determining that the user input corresponds to a selection of the first user interface element; and configuring the transfer amount for use with the single transaction but not for use with the recurring transaction based on determining that the user input corresponds to a selection of the second user interface element.
[0029] 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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: receiving a request to associate a transfer amount with an account; displaying a first user interface element associated with recurring transactions and single transactions and a second user interface element associated with single transactions but not associated with recurring transactions; and in response to receiving user input: configuring the transfer amount for use with recurring transactions and single transactions based on determining that the user input corresponds to a selection of the first user interface element; and configuring the transfer amount for use with the single transaction but not with the recurring transaction based on determining that the user input corresponds to a selection of the second user interface element.
[0030] According to some embodiments, a computer system is described. The computer system includes: one or more processors in communication with a display generation component and one or more input devices; 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: receiving a request to associate a transfer amount with an account; displaying a first user interface element associated with recurring transactions and single transactions and a second user interface element associated with single transactions but not associated with recurring transactions; and in response to receiving user input: configuring the transfer amount for use with recurring transactions and single transactions based on determining that the user input corresponds to a selection of the first user interface element; and configuring the transfer amount for use with the single transaction and not for use with the recurring transaction based on determining that the user input corresponds to a selection of the second user interface element.
[0031] According to some embodiments, a computer system is described. The computer system is in communication with a display generation component and one or more input devices. The computer system includes: means for receiving a request to associate a transfer amount with an account; means for displaying a first user interface element associated with recurring transactions and single transactions and a second user interface element associated with single transactions but not associated with recurring transactions; and means for, in response to receiving user input, performing the following operations: based on determining that the user input corresponds to a selection of the first user interface element, configuring the transfer amount for use with recurring transactions and single transactions; and based on determining that the user input corresponds to a selection of the second user interface element, configuring the transfer amount for use with the single transaction and not configuring the transfer amount for use with the recurring transaction.
[0032] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs including instructions for: receiving a request to associate a transfer amount with an account; displaying a first user interface element associated with recurring transactions and single transactions and a second user interface element associated with single transactions but not associated with recurring transactions; and in response to receiving user input: configuring the transfer amount for use with recurring transactions and single transactions based on determining that the user input corresponds to a selection of the first user interface element; and configuring the transfer amount for use with the single transaction but not with the recurring transaction based on determining that the user input corresponds to a selection of the second user interface element.
[0033] According to some embodiments, a method performed at a computer system in communication with a display generation component and one or more input devices is described. The method includes: receiving a request corresponding to a transaction for a first amount; based on determining that a first set of conditions are satisfied, displaying, via the display generation component, a first activatable user interface element corresponding to the amount and the first amount of the first transaction; and based on determining that a second set of conditions are satisfied, displaying, via the display generation component, a second activatable user interface element corresponding to the amount and a second amount different from the first amount of the second transaction.
[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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: receiving a request corresponding to a transaction for a first amount; based on determining that a first set of conditions are satisfied, displaying, via the display generation component, a first activatable user interface element corresponding to the amount and the first amount of the first transaction; and based on determining that a second set of conditions are satisfied, displaying, via the display generation component, a second activatable user interface element corresponding to the amount and the second amount different from the first amount.
[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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: receiving a request corresponding to a transaction for a first amount; based on determining that a first set of conditions are satisfied, displaying, via the display generation component, a first activatable user interface element corresponding to the amount and the first amount of the first transaction; and based on determining that a second set of conditions are satisfied, displaying, via the display generation component, a second activatable user interface element corresponding to the amount and the second amount different from the first amount.
[0036] According to some embodiments, a computer system is described that includes one or more processors in communication with a display generation component and one or more input devices, 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: receiving a request corresponding to a transaction for a first amount; displaying, via the display generation component, a first activatable user interface element corresponding to the amount and the first amount of the first transaction based on a determination that a first set of conditions are satisfied; and displaying, via the display generation component, a second activatable user interface element corresponding to the amount and the second amount different from the first amount based on a determination that a second set of conditions are satisfied.
[0037] According to some embodiments, a computer system is described. The computer system is in communication with a display generation component and one or more input devices. The computer system includes: means for receiving a request corresponding to a transaction for a first amount; means for displaying, via the display generation component, a first activatable user interface element corresponding to the amount and a first amount of the first transaction based on a determination that a first set of conditions are satisfied; and means for displaying, via the display generation component, a second activatable user interface element corresponding to the amount and a second amount different from the first amount based on a determination that a second set of conditions are satisfied.
[0038] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: receiving a request corresponding to a transaction for a first amount; based on determining that a first set of conditions are satisfied, displaying, via the display generation component, a first activatable user interface element corresponding to the amount and the first amount of the first transaction; and based on determining that a second set of conditions are satisfied, displaying, via the display generation component, a second activatable user interface element corresponding to the amount and the second amount different from the first amount.
[0039] According to some embodiments, a method performed at a computer system in communication with a display generation component and one or more input devices is described. The method includes: detecting a first user input via the one or more input devices; in response to detecting the first user input, displaying a numeric input user interface via the display generation component; while displaying the numeric input user interface, detecting a second user input comprising a first set of one or more gestures via the one or more input devices; and in response to detecting completion of the first set of one or more gestures, entering a number in a numeric sequence, the number being based on the number of gestures in the first set of one or more gestures.
[0040] 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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: detecting a first user input via the one or more input devices; in response to detecting the first user input, displaying a numeric input user interface via the display generation component; while displaying the numeric input user interface, detecting a second user input comprising a first set of one or more gestures via the one or more input devices; and in response to detecting completion of the first set of one or more gestures, entering a number in a numeric sequence that is based on the number of gestures in the first set of one or more gestures.
[0041] 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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: detecting a first user input via the one or more input devices; in response to detecting the first user input, displaying a numeric input user interface via the display generation component; while displaying the numeric input user interface, detecting a second user input comprising a first set of one or more gestures via the one or more input devices; and in response to detecting completion of the first set of one or more gestures, entering a number in a numeric sequence that is based on the number of gestures in the first set of one or more gestures.
[0042] According to some embodiments, a computer system in communication with a display generation component and one or more input devices is described. The computer system includes: 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: detecting a first user input via the one or more input devices; in response to detecting the first user input, displaying a numeric input user interface via the display generation component; while displaying the numeric input user interface, detecting a second user input comprising a first set of one or more gestures via the one or more input devices; and in response to detecting completion of the first set of one or more gestures, entering a number in a numeric sequence that is based on the number of gestures in the first set of one or more gestures.
[0043] According to some embodiments, a computer system configured to communicate with a display generation component and one or more input devices is described. The computer system includes: means for detecting a first user input via the one or more input devices; means for displaying a numeric input user interface via the display generation component in response to detecting the first user input; means for detecting a second user input comprising a first set of one or more gestures via the one or more input devices while displaying the numeric input user interface; and means for inputting a number in a numeric sequence in response to detecting completion of the first set of one or more gestures, the number being based on the number of gestures in the first set of one or more gestures.
[0044] According to some embodiments, a computer program product is described that includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices. The one or more programs include instructions for: detecting a first user input via the one or more input devices; in response to detecting the first user input, displaying a numeric input user interface via the display generation component; while displaying the numeric input user interface, detecting a second user input comprising a first set of one or more gestures via the one or more input devices; and in response to detecting completion of the first set of one or more gestures, inputting a number in a numeric sequence that is based on the number of gestures in the first set of one or more gestures.
[0045] According to some embodiments, a method is described for performing at a computer system in communication with a display generation component and one or more input devices. The method includes: when the computer system is unlocked and when a user interface of a first application is displayed via the display generation component, receiving a first input via the one or more input devices; in response to receiving the first input: displaying a first numeric keypad; locking the computer system based on a first set of lock conditions being satisfied; and abandoning locking the computer system based on the first set of lock conditions not being satisfied; when the first numeric keypad is displayed, receiving a second input corresponding to a numeric sequence via the one or more input devices and using the first numeric keypad, wherein regardless of the numeric sequence, the computer system is not unlocked based on the second input using the first numeric keypad; and after receiving the second input and while the computer system is locked, receiving a third input via the one or more input devices without using the first numeric keypad; and in response to receiving the third input: unlocking the computer system based on a determination that the third input matches a registered credential, independent of the numeric sequence corresponding to the second input; and abandoning unlocking the computer system based on a determination that the third input does not match a registered credential, independent of the numeric sequence corresponding to the second input.
[0046] 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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: when the computer system is unlocked and when a user interface of a first application is displayed via the display generation component, receiving a first input via the one or more input devices; in response to receiving the first input: displaying a first numeric keypad; locking the computer system based on a first set of lock conditions being satisfied; and in response to the first set of lock conditions not being satisfied, forgoing locking the computer system; when the first numeric keypad is displayed, receiving a second input corresponding to a numeric sequence via the one or more input devices and using the first numeric keypad, wherein the computer system is not unlocked based on the second input using the first numeric keypad regardless of the numeric sequence; and after receiving the second input and while the computer system is locked, receiving a third input without using the first numeric keypad via the one or more input devices; and in response to receiving the third input: unlocking the computer system based on a determination that the third input matches a registered credential, independent of the numeric sequence corresponding to the second input; and in response to a determination that the third input does not match a registered credential, forgoing unlocking the computer system, independent of the numeric sequence corresponding to the second input.
[0047] 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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: when the computer system is unlocked and when a user interface of a first application is displayed via the display generation component, receiving a first input via the one or more input devices; in response to receiving the first input: displaying a first numeric keypad; locking the computer system based on a first set of lock conditions being satisfied; and in response to the first set of lock conditions not being satisfied, forgoing locking the computer system; when the first numeric keypad is displayed, receiving a second input corresponding to a numeric sequence via the one or more input devices and using the first numeric keypad, wherein the computer system is not unlocked based on the second input using the first numeric keypad regardless of the numeric sequence; and after receiving the second input and while the computer system is locked, receiving a third input without using the first numeric keypad via the one or more input devices; and in response to receiving the third input: unlocking the computer system based on a determination that the third input matches a registered credential, independent of the numeric sequence corresponding to the second input; and in response to a determination that the third input does not match a registered credential, forgoing unlocking the computer system, independent of the numeric sequence corresponding to the second input.
[0048] According to some embodiments, a computer system configured to communicate with a display generation component and one or more input devices is described. The computer system includes: 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: when the computer system is unlocked and when a user interface of a first application is displayed via the display generating component, receiving a first input via the one or more input devices; in response to receiving the first input: displaying a first numeric keypad; locking the computer system based on a first set of lock conditions being satisfied; and in response to the first set of lock conditions not being satisfied, abandoning locking the computer system; when the first numeric keypad is displayed, receiving a second input corresponding to a numeric sequence via the one or more input devices and using the first numeric keypad, wherein regardless of the numeric sequence, the computer system is not unlocked based on the second input using the first numeric keypad; and after receiving the second input and while the computer system is locked, receiving a third input without using the first numeric keypad via the one or more input devices; and in response to receiving the third input: unlocking the computer system based on a determination that the third input matches a registered credential, independent of the numeric sequence corresponding to the second input; and in response to a determination that the third input does not match a registered credential, abandoning unlocking the computer system, independent of the numeric sequence corresponding to the second input.
[0049] According to some embodiments, a computer system in communication with a display generation component and one or more input devices is described. The computer system includes: means for receiving a first input via the one or more input devices when the computer system is unlocked and when a user interface of a first application is displayed via the display generating component; means for performing the following operations in response to receiving the first input: means for displaying a first numeric keypad; means for locking the computer system based on a first set of lock conditions being satisfied; and means for forgoing locking the computer system based on the first set of lock conditions not being satisfied; means for receiving a second input corresponding to a numeric sequence via the one or more input devices and using the first numeric keypad when the first numeric keypad is displayed, wherein the computer system is not unlocked based on the second input using the first numeric keypad regardless of the numeric sequence; and means for receiving a third input without using the first numeric keypad after receiving the second input and while the computer system is locked; and means for performing the following operations in response to receiving the third input: means for unlocking the computer system based on determining that the third input matches a registered credential independent of the numeric sequence corresponding to the second input; and means for forgoing unlocking the computer system based on determining that the third input does not match a registered credential independent of the numeric sequence corresponding to the second input.
[0050] According to some embodiments, a computer program product is described that includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices. The one or more programs include instructions for the following operations: when the computer system is unlocked and when a user interface of a first application is displayed via the display generating component, receiving a first input via the one or more input devices; in response to receiving the first input: displaying a first numeric keypad; locking the computer system based on a first set of lock conditions being satisfied; and abandoning locking the computer system based on the first set of lock conditions not being satisfied; when the first numeric keypad is displayed, receiving a second input corresponding to a numeric sequence via the one or more input devices and using the first numeric keypad, wherein regardless of the numeric sequence, the computer system is not unlocked based on the second input using the first numeric keypad; and after receiving the second input and when the computer system is locked, receiving a third input without using the first numeric keypad via the one or more input devices; and in response to receiving the third input: independently of the numeric sequence corresponding to the second input, unlocking the computer system based on determining that the third input matches a registered credential; and independently of the numeric sequence corresponding to the second input, abandoning unlocking the computer system based on determining that the third input does not match a registered credential.
[0051] According to some embodiments, a method performed at a computer system in communication with a display generation component and one or more input devices is described. The method includes: receiving an indication via the one or more input devices that a first set of transfer obligations has been generated; receiving a request via the one or more input devices to display a transfer summary user interface; in response to receiving the request to display the transfer summary user interface, displaying, via the display generation component, a transfer summary user interface including a number of user interface elements of a first type, wherein displaying the transfer summary user interface includes: displaying at least a first number of user interface elements of the first type based on a determination that the first set of transfer obligations includes a first number of transfer obligations; and displaying at least a second number of user interface elements of the first type based on a determination that the first set of transfer obligations includes a second number of transfer obligations; after displaying the transfer summary user interface, receiving an indication that a corresponding transfer obligation in the first set of transfer obligations has been satisfied; and after receiving the indication that the corresponding transfer obligation in the first set of transfer obligations has been satisfied, displaying, via the display generation component and based on the indication that the corresponding transfer obligation in the first set of transfer obligations has been satisfied, a transfer summary user interface having one less than the number of user interface elements of the first type.
[0052] 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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: receiving, via the one or more input devices, an indication that a first set of transfer obligations has been generated; receiving, via the one or more input devices, a request to display a transfer summary user interface; in response to receiving the request to display the transfer summary user interface, displaying, via the display generation component, a transfer summary user interface including a number of user interface elements of a first type, wherein displaying the transfer summary user interface includes: displaying at least a first number of user interface elements of the first type based on a determination that the first set of transfer obligations includes a first number of transfer obligations; and displaying at least a second number of user interface elements of the first type based on a second number of transfer obligations based on a determination that the first set of transfer obligations includes a second number of transfer obligations; after displaying the transfer summary user interface, receiving an indication that a corresponding transfer obligation in the first set of transfer obligations has been satisfied; and after receiving the indication that the corresponding transfer obligation in the first set of transfer obligations has been satisfied, displaying, via the display generation component and based on the indication that the corresponding transfer obligation in the first set of transfer obligations has been satisfied, a transfer summary user interface having one less than the number of user interface elements of the first type.
[0053] 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 a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: receiving, via the one or more input devices, an indication that a first set of transfer obligations has been generated; receiving, via the one or more input devices, a request to display a transfer summary user interface; in response to receiving the request to display the transfer summary user interface, displaying, via the display generation component, a transfer summary user interface including a number of user interface elements of a first type, wherein displaying the transfer summary user interface includes: displaying at least a first number of user interface elements of the first type based on a determination that the first set of transfer obligations includes a first number of transfer obligations; and displaying at least a second number of user interface elements of the first type based on a second number of transfer obligations based on a determination that the first set of transfer obligations includes a second number of transfer obligations; after displaying the transfer summary user interface, receiving an indication that a corresponding transfer obligation in the first set of transfer obligations has been satisfied; and after receiving the indication that the corresponding transfer obligation in the first set of transfer obligations has been satisfied, displaying, via the display generation component and based on the indication that the corresponding transfer obligation in the first set of transfer obligations has been satisfied, a transfer summary user interface having one less than the number of user interface elements of the first type.
[0054] According to some embodiments, a computer system configured to communicate with a display generation component and one or more input devices is described. The computer system includes: 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: receiving, via the one or more input devices, an indication that a first set of transfer obligations has been generated; receiving, via the one or more input devices, a request to display a transfer summary user interface; in response to receiving the request to display the transfer summary user interface, displaying, via the display generation component, a transfer summary user interface including a number of user interface elements of a first type, wherein displaying the transfer summary user interface includes: displaying at least a first number of user interface elements of the first type based on a determination that the first set of transfer obligations includes a first number of transfer obligations; and displaying at least a second number of user interface elements of the first type based on a second number of transfer obligations based on a determination that the first set of transfer obligations includes a second number of transfer obligations; after displaying the transfer summary user interface, receiving an indication that a corresponding transfer obligation in the first set of transfer obligations has been satisfied; and after receiving the indication that the corresponding transfer obligation in the first set of transfer obligations has been satisfied, displaying, via the display generation component and based on the indication that the corresponding transfer obligation in the first set of transfer obligations has been satisfied, a transfer summary user interface having one less than the number of user interface elements of the first type.
[0055] According to some embodiments, a computer system configured to communicate with a display generation component and one or more input devices is described. The computer system includes: means for receiving, via the one or more input devices, an indication that a first set of transfer obligations has been generated; means for receiving, via the one or more input devices, a request to display a transfer summary user interface; means for, in response to receiving the request to display the transfer summary user interface, displaying, via the display generation component, a transfer summary user interface including a number of user interface elements of a first type, wherein displaying the transfer summary user interface includes: displaying, based on a determination that the first set of transfer obligations includes a first number of transfer obligations, at least a first number of user interface elements of the first type based on the first number; and displaying, based on a determination that the first set of transfer obligations includes a second number of transfer obligations, at least a second number of user interface elements of the first type based on the second number; means for receiving, after displaying the transfer summary user interface, an indication that a corresponding transfer obligation in the first set of transfer obligations has been satisfied; and means for, after receiving the indication that the corresponding transfer obligation in the first set of transfer obligations has been satisfied, displaying, via the display generation component and based on the indication that the corresponding transfer obligation in the first set of transfer obligations has been satisfied, a transfer summary user interface having one less than the number of user interface elements of the first type.
[0056] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for: receiving, via the one or more input devices, an indication that a first set of transfer obligations has been generated; receiving, via the one or more input devices, a request to display a transfer summary user interface; in response to receiving the request to display the transfer summary user interface, displaying, via the display generation component, a transfer summary user interface including a number of user interface elements of a first type, wherein displaying the transfer summary user interface includes: displaying at least a first number of user interface elements of the first type based on a determination that the first set of transfer obligations includes a first number of transfer obligations; and displaying at least a second number of user interface elements of the first type based on a second number of transfer obligations based on a determination that the first set of transfer obligations includes a second number of transfer obligations; after displaying the transfer summary user interface, receiving an indication that a corresponding transfer obligation in the first set of transfer obligations has been satisfied; and after receiving the indication that the corresponding transfer obligation in the first set of transfer obligations has been satisfied, displaying, via the display generation component and based on the indication that the corresponding transfer obligation in the first set of transfer obligations has been satisfied, a transfer summary user interface having one less than the number of user interface elements of the first type.
[0057] Executable instructions for performing these functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Executable instructions for performing these functions are optionally included in a transient computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0058] Thus, a faster, more efficient method and interface for receiving and configuring information on electronic devices is provided, thereby improving the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces can supplement or replace other methods for receiving and configuring information on electronic devices. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, wherein like reference numerals designate corresponding parts throughout the several views.
[0060] Figure 1A is a block diagram illustrating a portable multifunction device with a touch-sensitive display according to some embodiments.
[0061] Figure 1B is a block diagram illustrating example components for event handling according to some embodiments.
[0062] Figure 2 A portable multifunction device with a touch screen according to some embodiments is illustrated.
[0063] Figure 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments.
[0064] Figure 4A An exemplary user interface for a menu of applications on a portable multifunction device according to some embodiments is illustrated.
[0065] Figure 4B An exemplary user interface for a multifunction device having a touch-sensitive surface separate from the display is illustrated according to some embodiments.
[0066] Figure 5A A personal electronic device according to some embodiments is illustrated.
[0067] Figure 5B is a block diagram illustrating a personal electronic device according to some embodiments.
[0068] Figure 5C Illustrated are example devices connected via one or more communication channels in accordance with some embodiments.
[0069] Figures 6A to 6E Illustrated are exemplary user interfaces for managing the display of user interface elements and requesting account information based on movement of a computer system, according to some embodiments.
[0070] Figures 7A to 7S Illustrated are exemplary user interfaces for managing the display of user interface elements and requesting account information based on movement of a computer system, according to some embodiments.
[0071] Figure 8 is a flowchart illustrating a method for managing the display of user interface elements based on movement of a computer system according to some embodiments.
[0072] Figure 9 is a flowchart illustrating a method for requesting account information according to some embodiments.
[0073] FIG. 10A to FIG. 10B Illustrated is an example user interface for configuring an SSH account on a computer system according to some embodiments.
[0074] Figures 11A to 11E Illustrated are exemplary user interfaces for configuring an account on an electronic device according to some embodiments.
[0075] Figure 12is a flow chart illustrating a method for configuring an account on a computer system according to some embodiments.
[0076] 13A to 13B Illustrated is an example user interface for adding data from a data plan to an account according to some embodiments.
[0077] 14A to 14F Illustrated is an example user interface for associating a transfer amount with an account according to some embodiments.
[0078] Figure 15 is a flow chart illustrating a method for associating a transfer amount with an account according to some embodiments.
[0079] 16A to 16C An exemplary user interface for allocating memory according to some embodiments is illustrated.
[0080] Figures 17A to 17Q An exemplary user interface for displaying user interface elements corresponding to transaction types according to some embodiments is illustrated.
[0081] Figure 18 is a flowchart illustrating a method for displaying a user interface element corresponding to a transaction type according to some embodiments.
[0082] Figures 19A to 19U An exemplary user interface for entering a sequence of numbers according to some embodiments is illustrated.
[0083] 20A to 20C is a flow chart illustrating a method for inputting a sequence of numbers according to some embodiments.
[0084] 21A to 21D Illustrated is an exemplary user interface for managing photos on a photo server according to some embodiments.
[0085] 22A to 22H An exemplary user interface for managing one or more pending loans is illustrated, according to some embodiments.
[0086] FIG. 23A to FIG. 23B is a flow chart illustrating a method for managing information according to some embodiments. DETAILED DESCRIPTION
[0087] 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 is provided as a description of exemplary embodiments.
[0088] There is a need for efficient methods and interfaces for electronic devices to receive and configure information on the electronic devices. For example, there is a need for efficient methods and interfaces for displaying user interface elements and requesting account information. Another example is a need for efficient methods and interfaces for configuring an account on a computer system. Another example is a need for efficient methods and interfaces for adding funds from a gift card to an account. Another example is a need for efficient methods and interfaces for selecting a transaction type. Such techniques can reduce the cognitive burden on users who need to receive and configure information on electronic devices, thereby improving productivity. Furthermore, such techniques can reduce processor and battery power that would otherwise be wasted on redundant user input.
[0089] under, Figure 1A to Figure 1B 、 Figure 2 、 Figure 3 、 Figures 4A to 4B and Figures 5A to 5B A description is provided of example devices for performing techniques for receiving and configuring information on an electronic device. Figures 6A to 6E Illustrated are exemplary user interfaces for managing the display of user interface elements and requesting account information based on movement of a computer system, according to some embodiments. Figures 7A to 7S Illustrated are exemplary user interfaces for managing the display of user interface elements and requesting account information based on movement of a computer system, according to some embodiments. Figure 8 is a flowchart illustrating a method for managing the display of user interface elements based on movement of a computer system according to some embodiments. Figure 9 is a flowchart illustrating a method for requesting account information according to some embodiments. Figures 6A to 6E and Figures 7A to 7S The user interface in the example is used to illustrate the process described below, including Figure 8 and Figure 9 in the process. FIG. 10A to FIG. 10B Illustrated is an example user interface for configuring an SSH account on a computer system according to some embodiments. Figures 11A to 11E Illustrated are exemplary user interfaces for configuring an account on an electronic device according to some embodiments. Figure 12 is a flow chart illustrating a method for configuring an account on a computer system according to some embodiments. FIG. 10A to FIG. 10B and Figures 11A to 11E The user interface in the example is used to illustrate the process described below, including Figure 12 in the process. 13A to 13B Illustrated is an example user interface for adding data from a data plan to an account according to some embodiments. 14A to 14F Illustrated is an example user interface for associating a transfer amount with an account according to some embodiments. Figure 15is a flow chart illustrating a method for associating a transfer amount with an account according to some embodiments. 13A to 13B and 14A to 14F The user interface in the example is used to illustrate the process described below, including Figure 15 in the process. 16A to 16C An exemplary user interface for allocating memory according to some embodiments is illustrated. Figures 17A to 17Q An exemplary user interface for displaying user interface elements corresponding to transaction types according to some embodiments is illustrated. Figure 18 is a flowchart illustrating a method for displaying a user interface element corresponding to a transaction type according to some embodiments. 16A to 16C and Figures 17A to 17Q The user interface in the example is used to illustrate the process described below, including Figure 18 in the process. Figures 19A to 19U An exemplary user interface for entering a sequence of numbers and locking a computer system while the sequence of numbers is entered is illustrated in accordance with some embodiments. Figure 20A is a flow chart illustrating a method for inputting a sequence of numbers according to some embodiments. FIG. 20B to FIG. 20C is a flow chart illustrating a method for locking a computer system upon entry of a sequence of numbers according to some embodiments. Figures 19A to 19U The user interface in the example is used to illustrate the process described below, including 20A to 20C in the process. 21A to 21D Illustrated is an exemplary user interface for managing photos on a photo server according to some embodiments. 22A to 22H An exemplary user interface for managing one or more loans is illustrated according to some embodiments. FIG. 23A to FIG. 23B is an illustration of a method for managing information according to some embodiments. 21A to 21D and 22A to 22H The user interface in the example is used to illustrate the process described below, including FIG. 23A to FIG. 23B in the process.
[0090] The processes described below enhance the operability of the device and make 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) through various techniques, including providing improved visual feedback to the user, reducing the number of inputs required to perform an operation, providing additional control options without cluttering the user interface with additional display controls, performing an operation without further user input when a set of conditions have been met, and / or additional techniques. These techniques also reduce power usage and extend the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0091] In addition, in the method described herein where one or more steps depend on having met one or more conditions, it should be understood that the method can be repeated in multiple repetitions so that in the process of repetition, all conditions of the steps in the method of determining the method have been met in different repetitions of the method. For example, if the method needs to perform the first step (if the condition is met), and perform the second step (if the condition is not met), then those of ordinary skill will know that the steps stated are repeated until both the condition is met and the condition is not met (in no particular order). Therefore, the method described as having one or more steps depending on having met one or more conditions can be rewritten as a method of repeating until each condition described in the method is met. However, this does not require a system or computer-readable medium to declare that the system or computer-readable medium includes instructions for performing a contingent operation based on the satisfaction of the corresponding one or more conditions, and is therefore able to determine whether a possible situation has been met without explicitly repeating the steps of the method until all conditions of the steps in the method of determining the method have been met. Those of ordinary skill in the art will also understand that, similar to the method with a contingent step, a system or computer-readable storage medium can repeat the steps of the method as needed multiple times to ensure that all contingent steps have been performed.
[0092] Although the following description uses the terms "first," "second," etc. to describe various elements, these elements should not be limited by the terms. In some embodiments, these terms are used to distinguish one element from another. For example, a first touch can be named a second touch and similarly, a second touch can be named a first touch without departing from the scope of the various described embodiments. In some embodiments, the first touch and the second touch are two separate references to the same touch. In some embodiments, both the first touch and the second touch are touches, but they are not the same touch.
[0093] The terms used in the description of the various described embodiments herein are only for the purpose of describing specific embodiments and are not intended to be limiting. As used in the description of the various described embodiments and in the appended claims, the singular forms "a" and "the" are intended to also include plural forms unless the context clearly indicates otherwise. It will also be understood that the terms "and / or" used herein refer to and encompass any and all possible combinations of one or more items in the associated listed items. It will also be understood that the terms "comprises" and / or "comprising" when used in this specification specify the presence of stated features, integers, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or their groupings.
[0094] The term "if" is optionally interpreted to mean "when," "upon," or "in response to determining," or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined that," or "if [stated condition or event] is detected" are optionally interpreted to mean "upon determining," or "in response to determining," or "upon detecting [stated condition or event]," or "in response to detecting [stated condition or event]," depending on the context.
[0095] Embodiments of electronic devices, user interfaces for such devices, and associated processes for 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 a PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, but are not limited to, the Apple Watch from Apple Inc. (Cupertino, California). Devices, iPod Equipment and Device. Optionally, other portable electronic devices are used, such as laptops or tablet computers with touch-sensitive surfaces (e.g., touch screen displays and / or touchpads). It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer with a touch-sensitive surface (e.g., touch screen displays and / or touchpads). In some embodiments, the electronic device is a computer system that communicates with the display generation component (e.g., via wireless communication, via wired communication). The display generation component is configured to provide visual output, such as display via a CRT display, display via an LED display, or display via image projection. In some embodiments, the display generation component is integrated with the computer system. In some embodiments, the display generation component is separated from the computer system. As used herein, "display" content includes transmitting data (e.g., image data or video data) to an integrated or external display generation component via a wired or wireless connection to visually generate content to display content (e.g., video data rendered or decoded by display controller 156).
[0096] 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 optionally includes one or more other physical user interface devices, such as a physical keyboard, mouse, and / or joystick.
[0097] The device typically supports a variety of applications, such as one or more of the following: a drawing application, a rendering application, a word processing application, a website creation application, a disk editing application, a spreadsheet application, a gaming application, a telephony application, a video conferencing application, an email application, an instant messaging application, a fitness support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application.
[0098] 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 corresponding information displayed on the device are optionally adjusted and / or varied for different applications and / or adjusted and / or varied within the respective applications. In this way, the common physical architecture of the device (such as the touch-sensitive surface) optionally supports various applications with a user interface that is intuitive and clear to the user.
[0099] Attention is now turned to embodiments of portable devices having touch-sensitive displays. Figure 1A is a block diagram illustrating a portable multifunction device 100 with a touch-sensitive display system 112 according to some embodiments. Touch-sensitive display 112 is sometimes referred to as a "touch screen" for convenience, and is sometimes referred to as or referred to as a "touch-sensitive display system." Device 100 includes 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, RF circuitry 108, audio circuitry 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input control devices 116, and external ports 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact force sensors 165 for detecting the intensity of contacts on device 100 (e.g., a touch-sensitive surface, such as touch-sensitive display system 112 of device 100). Device 100 optionally includes one or more tactile output generators 167 for generating tactile output on device 100 (e.g., generating tactile output on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touch pad 355 of device 300). These components optionally communicate via one or more communication buses or signal lines 103.
[0100] As used in this specification and claims, the term "intensity" of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or to a surrogate (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 various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the touch-sensitive surface are optionally used to measure the force at different points on the touch-sensitive surface. In some implementations, the force measurements from multiple force sensors are combined (e.g., weighted averaged) to determine an 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 the contact on the touch-sensitive surface. In some embodiments, the surrogate measurement of the contact force or pressure is used directly 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 into an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of the contact as an attribute of the user input allows the user to access additional device functionality that would otherwise be inaccessible to the user on a smaller device with limited real estate, which is used to display an indication (e.g., on a touch-sensitive display) and / or receive user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls, such as knobs or buttons).
[0101] As used in this specification and claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of a device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device that will be detected by a user using the user's sense of touch. For example, when a device or a component of the device is in contact with a surface that is touch-sensitive to a user (e.g., a finger, palm, or other part of the user's hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation that corresponds to a perceived change in a physical property of the device or a component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is optionally interpreted by the user as a "press click" or "release click" on a physical actuation button. In some cases, the user will feel a tactile sensation, such as a "press click" or "release click," even when the physical actuation button associated with the touch-sensitive surface that was physically pressed (e.g., displaced) by the user's movement does not move. As another example, even when the smoothness of the touch-sensitive surface does not change, movement of the touch-sensitive surface may optionally be interpreted or sensed by the user as "roughness" of the touch-sensitive surface. While such a user's interpretation of touch will be limited by the user's individualized sensory perceptions, many sensory perceptions of touch are common to most users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., "press click," "release click," "roughness"), unless otherwise stated, the generated tactile output corresponds to a physical displacement of the device or a component thereof that would generate that sensory perception for a typical (or average) user.
[0102] It should be understood that device 100 is merely one example of a portable multifunction device and that device 100 optionally has more or fewer components than shown, optionally combines two or more components, or optionally has a different configuration or arrangement of the components. Figure 1A The various components shown are implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application specific integrated circuits.
[0103] Memory 102 optionally includes high-speed random access memory and optionally also 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.
[0104] The peripheral device interface 118 can be used to couple the input peripheral devices and output peripheral devices of the device to the CPU 120 and the memory 102. The one or more processors 120 run or execute various software programs (such as computer programs (e.g., including instructions)) and / or instruction sets stored in the memory 102 to perform various functions of the device 100 and process data. In some embodiments, the peripheral device interface 118, the CPU 120, and the memory controller 122 are optionally implemented on a single chip such as the chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0105] RF (radio frequency) circuitry 108 receives and transmits RF signals, also known as electromagnetic signals. RF circuitry 108 converts electrical signals into / from electromagnetic signals and communicates with a communication network and other communication devices via the electromagnetic signals. RF circuitry 108 optionally includes well-known circuitry for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a codec chipset, a subscriber identity module (SIM) card, memory, and the like. RF circuitry 108 optionally communicates with networks and other devices via wireless communications, such as the Internet (also known as the World Wide Web (WWW)), intranets, and / or wireless networks (such as cellular telephone networks, wireless local area networks (LANs), and / or metropolitan area networks (MANs)). RF circuitry 108 optionally includes well-known circuitry for detecting near-field communication (NFC) fields, such as via a short-range communication radio. The wireless communication optionally uses any 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), Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11d), IEEE 802.11e, IEEE 802.11f, IEEE 802.11g, IEEE 802.11g), IEEE 802.11f, IEEE 802.11g ... 11n and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, 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 filing date of this document.
[0106] 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 electrical signals, and transmits the electrical signals to the speaker 111. The speaker 111 converts the electrical signals into sound waves audible to humans. The audio circuit 110 also receives electrical signals converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signals 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 a headset jack (e.g., Figure 2 The headset jack provides an interface between the audio circuit 110 and a removable audio input / output peripheral device, such as an output-only headset or a headset with both output (e.g., a single or dual-ear headset) and input (e.g., a microphone).
[0107] The I / O subsystem 106 couples input / output peripherals on the device 100, such as the touch screen 112 and other input control devices 116, to a peripherals interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, a depth camera controller 169, an intensity sensor controller 159, a tactile feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive / send electrical signals from / to other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, etc. In some embodiments, the input controller 160 is optionally coupled to any (or none) 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) optionally includes an up / down button for volume control of the speaker 111 and / or microphone 113. The one or more buttons optionally include a push button (e.g., Figure 2206 in). In some embodiments, the electronic device is a computer system that communicates (e.g., via wireless communication, via wired communication) with one or more input devices. In some embodiments, the one or more input devices include a touch-sensitive surface (e.g., a touchpad as part of a touch-sensitive display). In some embodiments, the one or more input devices include one or more camera sensors (e.g., one or more optical sensors 164 and / or one or more depth camera sensors 175), such as for tracking a user's gestures (e.g., hand gestures and / or air gestures) as input. In some embodiments, the one or more input devices are integrated with the computer system. In some embodiments, the one or more input devices are separate from the computer system. In some embodiments, an air gesture is a gesture that is detected without the user touching an input element that is part of the device (or independent of an input element that is part of the device) and is based on detected movement of a part of the user's body through the air, including movement of the user's body relative to an absolute reference (for example, the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (for example, movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of the user's fingers relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (for example, a tap gesture involving movement of the hand in a predetermined position by a predetermined amount and / or speed, or a shake gesture involving a predetermined speed or amount of rotation of a part of the user's body).
[0108] A quick press of the push button optionally releases the lock on the touch screen 112 or optionally initiates the process of unlocking the device using gestures on the touch screen, as described in U.S. patent application Ser. No. 11 / 322,549, filed Dec. 23, 2005, entitled "Unlocking a Device by Performing Gestures on an Unlock Image," (i.e., U.S. Pat. No. 7,657,849), which is hereby incorporated by reference in its entirety. A long press of the push button (e.g., 206) optionally turns the device 100 on or off. The functions of one or more buttons are optionally user-customizable. The touch screen 112 is used to implement virtual or soft buttons and one or more soft keyboards.
[0109] 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. The touch screen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, videos, 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.
[0110] The touch screen 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from the user based on tactile and / or haptic contact. The touch screen 112 and display controller 156 (together with any associated modules and / or instruction sets in memory 102) detect contact on the touch screen 112 (and any movement or interruption of that contact) and convert the detected contact into interaction with a user interface object (e.g., one or more soft keys, icons, web pages, or images) displayed on the touch screen 112. In an exemplary embodiment, the point of contact between the touch screen 112 and the user corresponds to the user's finger.
[0111] The touch screen 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although other display technologies are used in other embodiments. The touch screen 112 and display controller 156 optionally use any of a variety of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch screen 112 to detect contact and any movement or interruption thereof. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as in the Apple ® Touch Controller from Apple Inc. (Cupertino, California). and iPod The technology used in
[0112] The touch-sensitive display in some embodiments of the touch screen 112 is optionally similar to the multi-touch-sensitive touchpads described in the following U.S. Patents: 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman 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, whereas a touch-sensitive touchpad does not provide visual output.
[0113] The touch-sensitive display in some embodiments of the touch screen 112 is described in the following applications: (1) U.S. patent application No. 11 / 381,313, filed on May 2, 2006, “Multipoint Touch Surface Controller”; (2) U.S. patent application No. 10 / 840,862, filed on May 6, 2004, “Multipoint Touchscreen”; (3) U.S. patent application No. 10 / 903,964, filed on July 30, 2004, “Gestures For Touch Sensitive Input Devices”; (4) U.S. patent application No. 11 / 048,264, filed on January 31, 2005, “Gestures For Touch Sensitive Input Devices”; (5) U.S. patent application No. 11 / 038,590, filed on January 18, 2005, “Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices”; (6) U.S. patent application Ser. No. 11 / 228,758, filed Sep. 16, 2005, “Virtual Input Device Placement On A Touch Screen User Interface”; (7) U.S. patent application Ser. No. 11 / 228,700, filed Sep. 16, 2005, “Operation Of A Computer With A Touch Screen Interface”; (8) U.S. patent application Ser. No. 11 / 228,737, filed Sep. 16, 2005, “Activating Virtual Keys Of A Touch-Screen Virtual Keyboard”; and (9) U.S. patent application Ser. No. 11 / 367,749, filed Mar. 3, 2006, “Multi-Functional Hand-Held Device”. All of these applications are incorporated herein by reference in their entirety.
[0114] The touch screen 112 optionally has a video resolution exceeding 100 dpi. In some embodiments, the touch screen has a video resolution of about 160 dpi. The user optionally uses any suitable object or appendage, such as a stylus, a finger, or the like, to contact the touch screen 112. In some embodiments, the user interface is designed to work primarily through finger-based contacts and gestures, which may not be as precise as stylus-based input due to the larger contact area of a finger on the touch screen. In some embodiments, the device converts rough finger-based input into precise pointer / cursor positioning or commands for performing the actions desired by the user.
[0115] In some embodiments, in addition to the touch screen, the device 100 optionally includes a touchpad for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touch screen, does not display visual output. The touchpad is optionally a touch-sensitive surface that is separate from the touch screen 112 or an extension of the touch-sensitive surface formed by the touch screen.
[0116] Device 100 also includes a power system 162 for powering the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, power fault detection circuitry, a power converter or inverter, a power status indicator (e.g., a light emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in a portable device.
[0117] Device 100 optionally also includes one or more optical sensors 164 . Figure 1AAn optical sensor is shown coupled to the optical sensor controller 158 in the I / O subsystem 106. 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 from the environment projected through one or more lenses and converts the light into data representing an image. In conjunction with the imaging module 143 (also called 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, facing away from the touchscreen display 112 on the front of the device, enabling the touchscreen display to be used as a viewfinder for still and / or video image acquisition. In some embodiments, the optical sensor is located on the front of the device, allowing the user to optionally capture an image of the user for video conferencing while viewing other video conference participants on the touchscreen display. In some embodiments, the positioning of the optical sensor 164 can be changed by the user (e.g., by rotating the lens and sensor in the device housing), allowing a single optical sensor 164 to be used with the touchscreen display for both video conferencing and still and / or video image acquisition.
[0118] Device 100 optionally also includes one or more depth camera sensors 175 . Figure 1A A depth camera sensor is shown coupled to a depth camera controller 169 in the I / O subsystem 106. The depth camera sensor 175 receives data from the environment to create a three-dimensional model of objects (e.g., faces) within the scene from a viewpoint (e.g., the depth camera sensor). In some embodiments, in conjunction with the imaging module 143 (also referred to as a camera module), the depth camera sensor 175 is optionally used to determine depth maps for different portions of an image captured by the imaging module 143. In some embodiments, the depth camera sensor is located on the front of the device 100, enabling the user to optionally capture an image of the user with depth information for video conferencing while viewing other video conference participants on the touchscreen display, and to capture selfies with depth map data. In some embodiments, the depth camera sensor 175 is located on the rear of the device, or on both the rear and front of the device 100. In some embodiments, the positioning of the depth camera sensor 175 can be changed by the user (e.g., by rotating the lens and sensor in the device housing), enabling the depth camera sensor 175 to be used in conjunction with the touchscreen display for both video conferencing and still and / or video image acquisition.
[0119] In some embodiments, a depth map (e.g., a depth map image) includes information (e.g., values) related to the distance of objects in a scene from a viewpoint (e.g., a camera, an optical sensor, a depth camera sensor). In one embodiment of a depth map, each depth pixel defines the position of its corresponding two-dimensional pixel in the Z axis of the viewpoint. In some embodiments, a depth map is composed of pixels, where each pixel is defined by a value (e.g., 0 to 255). For example, a value of "0" represents the pixel that is farthest from the viewpoint (e.g., a camera, an optical sensor, a depth camera sensor) in a "three-dimensional" scene, and a value of "255" represents the pixel that is closest to the viewpoint in a "three-dimensional" scene. In other embodiments, a depth map represents the distance between objects in a scene and the plane of the viewpoint. In some embodiments, a depth map includes information about the relative depths of various features of an object of interest in the field of view of a depth camera (e.g., the relative depths of the eyes, nose, mouth, and ears of a user's face). In some embodiments, a depth map includes information that enables a device to determine the outline of an object of interest in the z direction.
[0120] Device 100 optionally also includes one or more contact intensity sensors 165 . Figure 1A A contact force sensor is shown coupled to force sensor controller 159 in I / O subsystem 106. Contact force 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 force sensors (e.g., sensors for measuring the force (or pressure) of a contact on a touch-sensitive surface). Contact force sensor 165 receives contact force information (e.g., pressure information or a surrogate for pressure information) from the environment. In some embodiments, at least one contact force sensor is juxtaposed with or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact force sensor is located on the back of device 100, opposite touch screen display 112 located on the front of device 100.
[0121] Device 100 optionally also includes one or more proximity sensors 166 . Figure 1AA proximity sensor 166 is shown coupled to the peripherals interface 118. Alternatively, the proximity sensor 166 is optionally coupled to the input controller 160 in the I / O subsystem 106. The proximity sensor 166 is optionally implemented as described in the following U.S. patent application serial numbers: 11 / 241,839, entitled “Proximity Detector In Handheld Device”; 11 / 240,788, entitled “Proximity Detector In Handheld Device”; 11 / 620,702, entitled “Using Ambient Light Sensor To Augment Proximity Sensor Output”; 11 / 586,862, entitled “Automated Response To And Sensing Of User Activity In Portable Devices”; and 11 / 638,251, entitled “Methods And Systems For Automatic Configuration Of Peripherals,” which are hereby incorporated by reference in their entireties. In some embodiments, when the multifunction device is placed near the user's ear (e.g., when the user is on a phone call), the proximity sensor turns off and disables the touch screen 112.
[0122] Device 100 optionally also includes one or more tactile output generators 167 . Figure 1A A tactile output generator is shown coupled to a tactile feedback controller 161 in the I / O subsystem 106. The tactile output generator 167 optionally includes one or more electroacoustic devices such as speakers or other audio components; and / or electromechanical devices for converting energy into linear motion such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other tactile output generating components (e.g., components for converting electrical signals into tactile outputs on the device). The contact force sensor 165 receives tactile feedback generation instructions from the tactile feedback module 133 and generates tactile outputs on the device 100 that can be felt by the user of the device 100. In some embodiments, at least one tactile output generator is juxtaposed or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112) and optionally generates tactile outputs by moving the touch-sensitive surface vertically (e.g., inward / outward toward the surface of the device 100) or laterally (e.g., back and forth in the same plane as the surface of the device 100). In some embodiments, at least one tactile output generator sensor is located on the back of the device 100, opposite the touch screen display 112 located on the front of the device 100.
[0123] Device 100 optionally also includes one or more accelerometers 168 . Figure 1A An accelerometer 168 is shown coupled to the peripherals interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 in the I / O subsystem 106. The accelerometer 168 optionally implements as described in the following U.S. Patent Publication Nos. 20050190059, entitled “Acceleration-based Theft Detection System for Portable Electronic Devices” and 20060017692, entitled “Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer,” both of which are incorporated herein by reference in their entireties. In some embodiments, information is displayed on the touch screen display in a portrait view or a landscape view based on analysis of data received from one or more accelerometers. The device 100 optionally includes a magnetometer and a GPS (or GLONASS or other global navigation system) receiver in addition to the accelerometer 168 for obtaining information about the position and orientation (e.g., portrait or landscape) of the device 100.
[0124] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a contact / 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 an application (or instruction set) 136. In addition, in some embodiments, memory 102 ( Figure 1A ) or 370( Figure 3 ) storage device / global internal state 157, such as Figure 1A and Figure 3 . The device / global internal state 157 includes one or more of the following: active application state, which indicates which application, if any, is currently active; display state, which indicates what applications, views, or other information occupy various areas of the touch screen display 112; sensor state, which includes information obtained from the device's various sensors and input control devices 116; and position information relating to the device's position and / or posture.
[0125] 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 facilitating communication between various hardware components and software components.
[0126] 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 circuitry 108 and / or the external ports 124. The external ports 124 (e.g., Universal Serial Bus (USB), FireWire, etc.) are suitable for coupling directly to other devices or indirectly through a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external ports are connected to (trademark of Apple Inc.) devices.
[0127] 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 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 down event), determining the strength of the contact (e.g., the force or pressure of the contact, or a surrogate for the force or pressure of the contact), determining whether there has been movement of the contact and tracking the movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has ceased (e.g., detecting a finger lift event or contact break). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of a 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 which is represented by a series of contact data. These operations are optionally applied to a single point of contact (e.g., a single-finger contact) or multiple points of contact simultaneously (e.g., "multi-touch" / multiple-finger contact). In some embodiments, the contact / motion module 130 and display controller 156 detect contact on the touchpad.
[0128] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an action has been performed by a user (e.g., to determine whether a user has "clicked" an icon). In some embodiments, at least a subset of the intensity thresholds are 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, a mouse "click" threshold for a touchpad or touchscreen can be set to any one of a large range of predefined thresholds without changing the touchpad or touchscreen display hardware. Additionally, in some embodiments, a software setting is provided to the user of the device for adjusting one or more intensity thresholds in a set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by utilizing a system-level click on an "intensity" parameter to adjust multiple intensity thresholds at once).
[0129] Contact / motion module 130 optionally detects gesture input by the user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motions, timings, and / or intensities of the detected contacts). Thus, gestures are optionally detected by detecting specific contact patterns. 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 then detecting a finger lift (lift-off) event.
[0130] The graphics module 132 includes various known software components for rendering and displaying graphics on the touch screen 112 or other display, including components for changing the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual attributes) of the displayed graphics. As used herein, the term "graphics" includes any object that can be displayed to a user, including but not limited to text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc.
[0131] In some embodiments, the graphics module 132 stores data representing graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes specifying the graphics to be displayed from an application or the like, along with coordinate data and other graphic attribute data if necessary, and then generates screen image data for output to the display controller 156.
[0132] Haptic feedback module 133 includes various software components for generating instructions used by tactile output generator 167 to produce tactile output at one or more locations on device 100 in response to user interaction with device 100 .
[0133] Text input module 134, which is optionally a component of graphics module 132, provides a soft keyboard for entering text in various applications (e.g., contacts module 137, email client module 140, IM module 141, browser module 147, and any other application requiring text input).
[0134] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone module 138 for use in location-based dialing; to the camera module 143 as picture / video metadata; and to applications that provide location-based services, such as a weather widget, a local yellow pages widget, and a map / navigation widget).
[0135] Application 136 optionally includes the following modules (or instruction sets), or a subset or superset thereof:
[0136] Contacts module 137 (sometimes called address book or contact list);
[0137] Telephone module 138;
[0138] Video conferencing module 139;
[0139] Email client module 140;
[0140] Instant messaging (IM) module 141;
[0141] Fitness support module 142;
[0142] A camera module 143 for still and / or video images;
[0143] Image management module 144;
[0144] Video player module;
[0145] Music player module;
[0146] Browser module 147;
[0147] Calendar module 148;
[0148] Widget module 149, which optionally includes one or more of the following: weather widget 149-1, stock market widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, and other widgets acquired by the user, and user-created widgets 149-6;
[0149] A widget creator module 150 for forming a user-created widget 149 - 6 ;
[0150] Search module 151;
[0151] Video and music player module 152, which combines the video player module and the music player module;
[0152] Note module 153;
[0153] Map module 154; and / or
[0154] Online video module 155.
[0155] Examples of other applications 136 optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, rendering applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.
[0156] In combination with the touch screen 112, display controller 156, touch / motion module 130, graphics module 132 and text input module 134, the contacts module 137 is optionally used to manage an address book or contact list (for example, stored in the application internal state 192 of the contacts module 137 in memory 102 or memory 370), including: adding one or more names to the address book; deleting names from the address book; associating telephone numbers, email addresses, physical addresses or other information with names; associating images with names; categorizing and classifying names; providing telephone numbers or email addresses to initiate and / or facilitate communications through the telephone module 138, video conferencing module 139, email client module 140 or IM module 141; and so on.
[0157] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, phone module 138 is optionally used to enter a character sequence corresponding to a phone number, access one or more phone numbers in contacts module 137, modify an entered phone number, dial the corresponding phone number, conduct a conversation, and disconnect or hang up when the conversation is complete. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.
[0158] 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 contact module 137 and the telephone module 138, the video conferencing module 139 includes executable instructions for initiating, conducting and terminating a video conference between a user and one or more other participants in accordance with user instructions.
[0159] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, email client module 140 includes executable instructions for creating, sending, receiving, and managing emails in response to user instructions. In conjunction with image management module 144, email client module 140 makes it very easy to create and send emails with still images or video images captured by camera module 143.
[0160] 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 instant messaging module 141 includes executable instructions for entering a character sequence corresponding to an instant message, modifying previously entered characters, 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 messaging" 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).
[0161] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the GPS module 135, the map module 154, and the music player module, the fitness support module 142 includes executable instructions for creating a workout (e.g., with time, distance, and / or calorie burn goals); communicating with fitness sensors (sports equipment); receiving fitness sensor data; calibrating sensors for monitoring fitness; selecting and playing music for a workout; and displaying, storing, and transmitting fitness data.
[0162] In combination with the 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 still images or videos (including video streams) and storing them in the memory 102, modifying the characteristics of the still images or videos, or deleting the still images or videos from the memory 102.
[0163] In conjunction with touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 includes executable instructions for arranging, modifying (e.g., editing) or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing still images and / or video images.
[0164] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132 and the text input module 134, the browser module 147 includes executable instructions for browsing the Internet in accordance with user instructions, including searching for, linking to, receiving and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0165] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the text input module 134, the email client module 140 and the browser module 147, the calendar module 148 includes executable instructions for creating, displaying, modifying and storing a calendar and data associated with the calendar (e.g., calendar entries, to-do items, etc.) in accordance with user instructions.
[0166] In conjunction with the RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and browser module 147, the widget module 149 is a mini-application that is optionally downloaded and used by a user (e.g., weather widget 149-1, stock market widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5) or created by a user (e.g., user-created widget 149-6). In some embodiments, a widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, a widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., a Yahoo! widget).
[0167] In combination with the RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and browser module 147, the widget creator module 150 is optionally used by a user to create widgets (e.g., converting a user-specified portion of a web page into a widget).
[0168] In combination with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132 and text input module 134, the search module 151 includes executable instructions for searching the memory 102 for text, music, sound, images, videos and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions.
[0169] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, video and music player module 152 includes executable instructions that allow 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, as well as 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 (trademark of Apple Inc.).
[0170] In conjunction with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, the note module 153 includes executable instructions for creating and managing notes, to-do lists, etc. according to user instructions.
[0171] In combination with the RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, the map module 154 is optionally used to receive, display, modify, and store maps and data associated with the maps (e.g., driving directions, data relating to stores and other points of interest at or near a particular location, and other location-based data) in accordance with user instructions.
[0172] In conjunction 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, email client module 140, and browser module 147, online video module 155 includes instructions for 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 emails with links to specific online videos, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, instant messaging module 141 is used instead of email client module 140 to send links to specific online videos. Additional descriptions of online video applications can be found in U.S. Provisional Patent Application No. 60 / 936,562, filed on June 20, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” and U.S. Patent Application No. 11 / 968,067, filed on December 31, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” the contents of which are hereby incorporated by reference in their entirety.
[0173] Each of the modules and applications described above corresponds to an executable instruction set for performing one or more of the functions described above 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., instruction sets) do not have to be implemented as independent software programs (such as computer programs (e.g., including instructions)), processes, or modules, and therefore various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. For example, a video player module is optionally combined with a music player module into a single module (e.g., Figure 1A In some embodiments, the memory 102 optionally stores a subset of the above modules and data structures. In addition, the memory 102 optionally stores additional modules and data structures not described above.
[0174] In some embodiments, device 100 is a device where operation of a predefined set of functions on the device is performed exclusively through a touch screen and / or a touchpad. By using a touch screen and / or a touchpad as the primary input control device for operating device 100, the number of physical input control devices (e.g., push buttons, dials, etc.) on device 100 is optionally reduced.
[0175] A predefined set of functions that are exclusively performed through the touch screen and / or touchpad optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by the user, navigates the device 100 from any user interface displayed on the device 100 to a main menu, home menu, or 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 a touchpad.
[0176] Figure 1B is a block diagram illustrating exemplary components for event processing according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or memory 370( Figure 3 ) includes an event classifier 170 (e.g., in the operating system 126) and a corresponding application 136-1 (e.g., any one of the aforementioned applications 137 to 151, 155, 380 to 390).
[0177] Event classifier 170 receives event information and determines the application 136-1 and the application view 191 of application 136-1 to which the event information is to be delivered. 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 displayed on touch-sensitive display 112 when the application is active or executing. In some embodiments, device / global internal state 157 is used by event classifier 170 to determine which application(s) is currently active, and 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.
[0178] In some embodiments, the application internal state 192 includes additional information, such as one or more of the following: resumption 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.
[0179] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about sub-events (e.g., a user touch on touch-sensitive display 112 as part of a multi-touch gesture). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, one or more accelerometers 168, and / or microphone 113 (via audio circuit 110). The information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.
[0180] In some embodiments, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 transmits event information. In other embodiments, peripheral device interface 118 transmits event information only when there is a significant event (e.g., receiving an input above a predetermined noise threshold and / or receiving an input for more than a predetermined duration).
[0181] In some embodiments, the event classifier 170 also includes a hit view determination module 172 and / or an active event identifier determination module 173.
[0182] When the touch-sensitive display 112 displays more than one view, the hit view determination module 172 provides software procedures for determining where within one or more views a sub-event has occurred. A view consists of controls and other elements that a user can see on the display.
[0183] 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 views (of the respective application) in which a touch is detected optionally correspond to programmatic levels within the application's programmatic or view hierarchy. For example, the lowest-level view in which a touch is detected is optionally referred to as a hit view, and the set of events that are recognized as correct input is optionally determined based at least in part on the hit view of the initial touch that started the touch-based gesture.
[0184] Hit view determination module 172 receives information related to sub-events of touch-based gestures. When an application has multiple views organized in a hierarchy, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy that should handle the sub-events. In most cases, the hit view is the lowest-level view in which the initiating sub-event (e.g., the first sub-event in a sequence of sub-events that form an event or potential event) occurs. Once a hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source for which it was identified as the hit view.
[0185] 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, active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that include the physical location of the sub-event are actively participating views, and therefore 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 one particular view, views higher in the hierarchy will still remain actively participating views.
[0186] Event dispatcher module 174 dispatches event information to event recognizers (e.g., event recognizer 180). In embodiments that include active event recognizer determination module 173, event dispatcher module 174 delivers the event information to the event recognizer determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores the event information in an event queue, which is retrieved by corresponding event receiver 182.
[0187] In some embodiments, operating system 126 includes event classifier 170. Alternatively, application 136-1 includes event classifier 170. In yet another embodiment, event classifier 170 is a standalone module or part of another module stored in memory 102, such as contact / motion module 130.
[0188] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events that occur 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 multiple event recognizers 180. In other embodiments, one or more of event recognizers 180 are part of a separate module, such as a user interface toolkit or a higher-level object 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 an event classifier 170. Event handler 190 optionally utilizes or calls data updater 176, object updater 177, or GUI updater 178 to update the application internal state 192. Alternatively, one or more of the application views 191 include one or more corresponding event handlers 190. Additionally, in some embodiments, one or more of the data updater 176, object updater 177, and GUI updater 178 are included in the corresponding application view 191.
[0189] A corresponding event identifier 180 receives event information (e.g., event data 179) from event classifier 170 and identifies an event based on the event information. Event identifier 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event identifier 180 also includes metadata 183 and at least a subset of event delivery instructions 188 (which optionally include sub-event delivery instructions).
[0190] The event receiver 182 receives event information from the event classifier 170. The event information includes information about sub-events such as touches or touch movements. 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 posture).
[0191] The event comparator 184 compares the event information with predefined event or sub-event definitions and determines the event or sub-event based on the comparison, or determines or updates the state of the event or sub-event. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 includes the definition of the event (e.g., a predefined sequence of sub-events), such as event 1 (187-1), event 2 (187-2), and others. In some embodiments, the sub-events in 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-click on a displayed object. For example, a double-click 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, dragging includes a touch (or contact) of a predetermined duration on a displayed object, movement of the touch on the touch-sensitive display 112, and lifting of the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.
[0192] In some embodiments, event definition 187 includes definitions of events for corresponding user interface objects. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view displaying three user interface objects on touch-sensitive display 112, when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each 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, event comparator 184 selects an event handler that is associated with the sub-event and the object that triggered the hit test.
[0193] In some embodiments, the definition of the corresponding event (187) also includes a delay action that delays the delivery of the event information until it has been determined that the sub-event sequence does or does not correspond to the event type of the event identifier.
[0194] When a corresponding event recognizer 180 determines that a sequence of sub-events does not match any event in event definitions 186, the corresponding event recognizer 180 enters the event impossible, event failed, or event ended state, after which subsequent sub-events of the touch-based gesture are ignored. In this 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.
[0195] In some embodiments, corresponding event recognizers 180 include metadata 183 with configurable properties, flags, and / or lists that indicate how the event delivery system should perform sub-event delivery for actively participating event recognizers. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact or can interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are delivered to different levels in a view or programmatic hierarchy.
[0196] In some embodiments, when one or more specific sub-events of an event are identified, 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 deferred sending) the sub-events to the corresponding hit view. In some embodiments, the event recognizer 180 throws a flag associated with the identified event, and the event handler 190 associated with the flag obtains the flag and performs a predefined process.
[0197] In some embodiments, event delivery instructions 188 include sub-event delivery instructions that deliver event information about a sub-event without activating an event handler. Instead, the sub-event delivery instructions deliver the event information to an event handler associated with the sub-event sequence or to an actively participating view. The event handler associated with the sub-event sequence or the actively participating view receives the event information and executes a predetermined process.
[0198] In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates phone numbers used in contact module 137 or stores video files used in video player module. In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates new user interface objects or updates the positioning of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on a touch-sensitive display.
[0199] In some embodiments, event handler 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of the corresponding application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0200] It should be understood that the above discussion of event handling for user touches on a touch-sensitive display also applies to other forms of user input utilizing input devices to operate the multifunction device 100, and not all user input is initiated on the touch screen. For example, mouse movement and mouse button presses, optionally in conjunction with single or multiple keyboard presses or holddowns; contact movement on a touchpad, such as taps, drags, scrolls, etc.; stylus input; movement of the device; spoken commands; detected eye movement; biometric input; and / or any combination thereof, are optionally used as input corresponding to sub-events defining the event to be recognized.
[0201] Figure 2A portable multifunction device 100 with a touch screen 112 according to some embodiments is illustrated. The touch screen optionally displays one or more graphics within a user interface (UI) 200. In this embodiment and other embodiments described below, a user can select one or more of the graphics by, for example, making gestures on the graphics using one or more fingers 202 (not drawn to scale in the figure) or one or more styluses 203 (not drawn to scale in the figure). In some embodiments, selection of the one or more graphics occurs when the user breaks contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (from left to right, from right to left, up and / or down), and / or rolling of the finger that has made contact with the device 100 (from right to left, from left to right, up and / or down). In some implementations or in some cases, inadvertent contact with a graphic does not select the graphic. For example, a swipe gesture that sweeps over an application icon does not select the corresponding application when the gesture corresponding to selection is a tap.
[0202] The device 100 optionally also 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 application 136 in a set of applications optionally being executed on the device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on the touch screen 112.
[0203] In some embodiments, the device 100 includes a touch screen 112, a menu button 204, a push button 206 for turning the device on / off 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 turn the device on / off by pressing the button and holding it in the depressed state for a predefined time interval; to lock the device by pressing the button and releasing it before the predefined time interval has elapsed; and / or to unlock the device or initiate an unlocking process. In an alternative embodiment, the device 100 also accepts voice input for activating or deactivating certain functions via the microphone 113. The device 100 also optionally includes one or more contact force 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 the user of the device 100.
[0204] Figure 33 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments. The device 300 does not have to be portable. In some embodiments, the device 300 is a laptop, 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). The device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, a memory 370, and one or more communication buses 320 for interconnecting these components. The communication bus 320 optionally includes circuits (sometimes referred to as a chipset) that interconnect system components and control communications between system components. The device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touch screen display. The I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 for generating tactile output on the device 300 (e.g., similar to the above referenced device). Figure 1A Tactile output generator 167 as described above), sensor 359 (e.g., optical sensor, acceleration sensor, proximity sensor, touch sensitive sensor and / or contact intensity sensor (similar to the above reference Figure 1A 310). Memory 370 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices; and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 370 optionally includes one or more storage devices located remotely from CPU 310. In some embodiments, memory 370 stores data related to portable multifunction device 100 ( Figure 1A ) or a subset thereof. In addition, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable multifunction device 100. For example, memory 370 of device 300 optionally stores 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 portable multifunction device 100( Figure 1A )'s memory 102 optionally does not store these modules.
[0205] Figure 3Each element in the above-mentioned elements in is optionally stored in one or more memory devices of the memory device mentioned previously.Each module in the above-mentioned modules corresponds to the instruction set for performing the function described above.Above-mentioned modules or computer programs (for example, instruction sets or including instructions) need not be realized with independent software programs (such as computer programs (for example, including instructions)), processes or modules, and therefore the various subsets of these modules are optionally combined or otherwise rearranged in various embodiments.In some embodiments, memory 370 optionally stores the subset of above-mentioned modules and data structures.In addition, memory 370 optionally stores additional modules and data structures not described above.
[0206] Attention is now turned to an embodiment of a user interface, optionally implemented on, for example, portable multifunction device 100 .
[0207] Figure 4A An exemplary user interface for an application menu on portable multifunction device 100 is illustrated according to some embodiments. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof:
[0208] Signal strength indicators 402 for wireless communications such as cellular and Wi-Fi signals;
[0209] Time 404;
[0210] Bluetooth indicator 405;
[0211] Battery status indicator 406;
[0212] A tray 408 with icons for commonly used applications, such as:
[0213] o an icon 416 labeled “Phone” for the phone module 138, which optionally includes an indicator 414 of the number of missed calls or voicemails;
[0214] o an icon 418 of the email client module 140 labeled “Mail,” which optionally includes an indicator 410 of the number of unread emails;
[0215] o An icon 420 labeled "Browser" of the browser module 147; and
[0216] o an icon 422 labeled “iPod” for the video and music player module 152 (also referred to as the iPod (a trademark of Apple Inc.) module 152); and
[0217] Icons for other apps, such as:
[0218] o Icon 424 of the IM module 141 labeled “Messages”;
[0219] o Icon 426 labeled “Calendar” of calendar module 148;
[0220] o Icon 428 labeled “Photos” of the image management module 144;
[0221] o an icon 430 labeled “Camera” of the camera module 143;
[0222] o Icon 432 labeled “Online Video” of the online video module 155;
[0223] o Icon 434 labeled “Stock Market” of the stock market widget 149-2;
[0224] o an icon 436 labeled “Map” of the map module 154;
[0225] o Icon 438 labeled “Weather” of the weather widget 149-1;
[0226] o The icon 440 labeled “Clock” of the alarm clock widget 149-4;
[0227] o an icon 442 labeled “Fitness Support” of the fitness support module 142;
[0228] o an icon 444 labeled “Notes” of the notes module 153; and
[0229] o An icon 446 of a settings application or module labeled “Settings” that provides access to settings for the device 100 and its various applications 136.
[0230] It should be pointed out that Figure 4A The illustrated icon labels are merely exemplary. For example, the icon 422 of the video and music player module 152 is labeled "Music" or "Music Player." Other labels are optionally used for various application icons. In some embodiments, the label of a respective application icon includes the name of the application corresponding to the respective application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to the particular application icon.
[0231] Figure 4B A touch-sensitive surface 451 (eg, touch screen display 112) is illustrated as being separate from a display 450 (eg, touch screen display 112). Figure 3 tablet or touchpad 355) of the device (e.g., Figure 3Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) for detecting intensity of contacts on touch-sensitive surface 451 and / or one or more tactile output generators 357 for generating tactile output for a user of device 300.
[0232] Although some of the examples below will be given with reference to input on a touch screen display 112 (where the touch-sensitive surface and display are combined), in some embodiments, the device detects input on a touch-sensitive surface that is separate from the display, such as Figure 4B In some embodiments, the touch-sensitive surface (e.g., Figure 4B 451) has a main axis (e.g., Figure 4B 453) corresponding to the main axis (for example, Figure 4B According to these embodiments, the device detects a position corresponding to a corresponding position on the display (e.g., Figure 4B , 460 corresponds to 468 and 462 corresponds to 470 ) at contact with touch-sensitive surface 451 (e.g., Figure 4B 460 and 462 in FIG. 4. Thus, when the touch-sensitive surface (e.g., Figure 4B 451) and a display of a multi-function device (e.g., Figure 4B When the user interface 450 in FIG. 1 is separated, the user input detected by the device on the touch-sensitive surface (e.g., contacts 460 and 462 and their movement) is used by the device to manipulate the user interface on the display. It should be understood that similar methods are optionally used for other user interfaces described herein.
[0233] Additionally, although the following examples are primarily 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 input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of contact), followed by movement of the cursor along the path of the swipe (e.g., instead of movement of the contact). For another example, a tap gesture is optionally replaced by a mouse click when the cursor is over the location of the tap gesture (e.g., instead of detecting the contact, followed by ceasing to detect the contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are optionally used simultaneously, or mice and finger contacts are optionally used simultaneously.
[0234] Figure 5AAn exemplary personal electronic device 500 is illustrated. The device 500 includes a body 502. In some embodiments, the device 500 may include components related to devices 100 and 300 (e.g., Figures 1A to 4B ) some or all of the features described in . In some embodiments, device 500 has a touch-sensitive display screen 504, referred to hereinafter as touch screen 504. Alternatively, or in addition to touch screen 504, device 500 also has a display and a touch-sensitive surface. As with devices 100 and 300, in some embodiments, touch screen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors for detecting the intensity of the contact (e.g., touch) applied. The one or more intensity sensors of touch screen 504 (or touch-sensitive surface) can provide output data representing the intensity of the touch. The user interface of device 500 can respond to the touch based on the intensity of the touch, which means that touches of different intensities can invoke different user interface operations on device 500.
[0235] 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, entitled “Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application,” filed on May 8, 2013, published as WIPO Patent Publication No. WO / 2013 / 169849; and International Patent Application Serial No. PCT / US2013 / 069483, entitled “Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships,” filed on November 11, 2013, published as WIPO Patent Publication No. WO / 2014 / 105276, each of which is hereby incorporated by reference in its entirety.
[0236] In some embodiments, the device 500 has one or more input mechanisms 506 and 508. Input mechanisms 506 and 508 (if included) can be physical. 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) can allow the device 500 to be attached to, for example, hats, glasses, earrings, necklaces, shirts, jackets, bracelets, watchbands, bracelets, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow the user to wear the device 500.
[0237] Figure 5B An exemplary personal electronic device 500 is depicted. In some embodiments, the device 500 may include information about Figure 1A 、 Figure 1B and Figure 3 Some or all of the components described. Device 500 has a bus 512 that operatively couples an I / O portion 514 to one or more computer processors 516 and a memory 518. The I / O portion 514 can be connected to a display 504, which can have a touch-sensitive component 522 and optionally a strength sensor 524 (e.g., a contact strength sensor). In addition, the I / O portion 514 can 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, the input mechanism 506 is optionally a rotatable input device or a depressible input device and a rotatable input device. In some examples, the input mechanism 508 is optionally a button.
[0238] In some examples, input mechanism 508 is optionally a microphone. Personal electronic device 500 optionally includes 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 combinations thereof, all of which are operatively connected to I / O portion 514.
[0239] The memory 518 of the personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by one or more computer processors 516, may cause the computer processors to perform the techniques described below, including processes 800, 900, 1200, 1500, 1800, 2000, 2010, and 2300 ( Figure 8 、 Figure 9 、 Figure 12 、 Figure 15 、 Figure 18 、 20A to 20C and FIG. 23A to FIG. 23B ). Computer-readable storage media can be any medium that can tangibly contain or store computer-executable instructions for use by or in conjunction with instruction execution systems, devices, and apparatuses. In some examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media may 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 disks 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 components and configurations, but may include other components or additional components in a variety of configurations.
[0240] As used herein, the term "indicator" refers to an indication that is optionally provided on device 100, 300, and / or 500 ( Figure 1A 、 Figure 3 and Figures 5A to 5B ) on a display screen of a computer. For example, an image (e.g., an icon), a button, and text (e.g., a hyperlink) optionally each constitute an affordance.
[0241] As used herein, the term "focus selector" refers to an input element used to indicate the current portion of a user interface with which a user is interacting. In some implementations that include a cursor or other position marker, the cursor acts as a "focus selector" such that when the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), a focus selector is displayed on a touch-sensitive surface (e.g., Figure 3 Touchpad 355 or Figure 4B In the event that an input (e.g., a press input) is detected on the touch-sensitive surface 451 in FIG, the particular user interface element is adjusted according to the detected input. In the case of a touch screen display (e.g., a touch screen display) that enables direct interaction with user interface elements on the touch screen display Figure 1A touch-sensitive display system 112 or Figure 4AIn some implementations of the touch screen 112 in FIG, 2 , a contact detected on the touch screen acts as a “focus selector” such that when input (e.g., a press input by the contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touch screen display, the particular user interface element is adjusted according to the detected input. In some implementations, the focus moves from one area of the user interface to another area of the user interface without corresponding movement of a cursor or movement of a contact on the touch screen display (e.g., by using a tab key or arrow keys to move the focus from one button to another); in these implementations, the focus selector moves according to the movement of the focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is generally a user interface element (or contact on the touch screen display) that is controlled by the user to deliver the user's intended interaction with the user interface (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 a focus selector (e.g., a cursor, contact, or selection box) over a corresponding button will indicate that the user intends to activate the corresponding button (rather than other user interface elements shown on the device display).
[0242] As used in the specification and claims, the term "characteristic intensity" of a contact refers to a characteristic of the contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples or a set of intensity samples collected during a predetermined time period (e.g., 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds) relative to a predefined event (e.g., after contact is detected, before contact is detected to be lifted off, before or after contact begins to move, before contact ends, before or after contact is detected to increase in intensity, and / or before or after contact is detected to decrease in intensity). The characteristic intensity of a contact is optionally based on one or more of the following: the maximum value of the intensity of the contact, the mean value of the intensity of the contact, the average value of the intensity of the contact, the value at the top 10% of the intensity of the contact, the half-maximum value of the intensity of the contact, the 90% maximum value of the intensity of the contact, etc. In some embodiments, the duration of the contact is used in determining the characteristic intensity (e.g., when the characteristic intensity is the average value of the intensity of the contact over time). In some embodiments, the feature strength is compared to a set of one or more strength thresholds to determine whether the user has performed an operation. For example, the set of one or more strength thresholds optionally includes a first strength threshold and a second strength threshold. In this example, a contact whose feature strength does not exceed the first threshold results in a first operation, a contact whose feature strength exceeds the first strength threshold but does not exceed the second strength threshold results in a second operation, and a contact whose feature strength exceeds the second threshold results in a third operation. In some embodiments, a comparison between the feature strength 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 the corresponding operation) rather than to determine whether to perform the first operation or the second operation.
[0243] Figure 5C Example devices connected via one or more communication channels to participate in a transaction according to some embodiments are shown. One or more example electronic devices (e.g., devices 100, 300, and 500) are configured to optionally detect input (e.g., specific user input, 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.
[0244] 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 telephone number, a bank associated with the payment account (e.g., an issuing bank), and a card network identifier. In some embodiments, the payment account information includes an image, such as a photo of a payment card (e.g., a photo taken by the device and / or received by the device). In some embodiments, the electronic device receives user input including at least some payment account information (e.g., a credit card number, debit card number, account number, or gift card number and expiration date entered by the user). In some embodiments, the electronic device detects at least some payment account information from an image (e.g., of a payment card captured by a camera sensor of the device). In some embodiments, the electronic device receives at least some payment account information from another device (e.g., another user device or a server). In some embodiments, 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 or user device's account has previously made purchases or identified payment account data.
[0245] In some embodiments, a payment account is added to an electronic device (e.g., devices 100, 300, and 500) so that the payment account information is securely stored on the electronic device. In some embodiments, after a user initiates such a process, the electronic device transmits the payment account information to a transaction coordination server, which then communicates with a server operated by the account's payment network (e.g., a payment server) to ensure the validity of the information. The electronic device is optionally configured to receive a script from the server that allows the electronic device to program the account's payment information onto a secure element.
[0246] In some embodiments, communication between electronic devices 100, 300, and 500 facilitates transactions (e.g., general transactions or specific transactions). For example, a first electronic device (e.g., 100) may be used 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 about 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, wherein the data reflects information about a payment transaction facilitated at the first electronic device. The information optionally includes one or more of the following: the amount of the payment, the account used, the time of the purchase, and whether to change the default account. 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).
[0247] Electronic devices (e.g., 100, 300, 500) are configured to communicate with each other over any of a variety of networks. For example, the devices communicate using a Bluetooth connection 558 (e.g., including a traditional Bluetooth connection or a Bluetooth low energy connection) or using a WiFi network 556. Communications between user devices are optionally regulated to reduce the likelihood of inappropriate sharing of information between devices. For example, communication regarding payment information requires that the communicating devices be paired (e.g., associated with each other via explicit user interaction) or associated with the same user account.
[0248] In some embodiments, an electronic device (e.g., 100, 300, 500) is used to communicate with a point-of-sale (POS) payment terminal 550, which optionally supports NFC. The communication is optionally carried out using various communication channels and / or technologies. In some embodiments, the electronic device (e.g., 100, 300, 500) uses an NFC channel 560 to communicate with the payment terminal 550. In some embodiments, the payment terminal 550 uses a peer-to-peer NFC mode to communicate with the electronic device (e.g., 100, 300, 500). The electronic device (e.g., 100, 300, 500) is optionally configured to transmit a signal to the payment terminal 550, which includes payment information of a payment account (e.g., a default account or an account selected for a specific transaction).
[0249] In some embodiments, continuing with the transaction includes transmitting a signal including payment information of an account (such as a payment account). In some embodiments, continuing with the transaction includes reconfiguring the electronic device (e.g., 100, 300, 500) to respond as a contactless payment card (such as an NFC-enabled contactless payment card) and then transmitting the account credentials via NFC to, for example, a payment terminal 550. In some embodiments, after transmitting the account credentials via NFC, the electronic device is reconfigured not to respond as a contactless payment card (e.g., requiring authorization before being reconfigured to respond as a contactless payment card via NFC again).
[0250] In some embodiments, the generation and / or transmission of the signal is controlled by a security element in an electronic device (e.g., 100, 300, 500). Before issuing payment information, the security element optionally requires specific user input. For example, the security element optionally requires: detecting the electronic device being worn, detecting button presses, detecting password input, detecting touch, detecting one or more option selections (e.g., option selections received when interacting with an application), detecting fingerprint signatures, detecting voice or voice commands, and / or detecting gestures or movements (e.g., rotation or acceleration). In some embodiments, if a communication channel (e.g., NFC communication channel) with another device (e.g., payment terminal 550) is established within a defined time period from the detection of the input, the security element releases the payment information so that it is transmitted to the other device (e.g., payment terminal 550). In some embodiments, the security element is a hardware component that controls the release of security information. In some embodiments, the security element is a software component that controls the release of security information.
[0251] In some embodiments, the protocols associated with transaction participation depend on, for example, the device type. For example, the conditions for generating and / or transmitting payment information may be different for a wearable device (e.g., device 500) and a phone (e.g., device 100). For example, a generation condition and / or a transmission condition for a wearable device includes detecting that a button has been pressed (e.g., after security verification), while the corresponding condition for a phone does not require a button press, but rather requires detecting a specific interaction with an application. In some embodiments, the conditions for transmitting and / or publishing payment information include receiving specific input on each of a plurality of devices. For example, the release of payment information optionally requires detecting a fingerprint and / or passcode at a device (e.g., device 100), and detecting a mechanical input (e.g., a button press) on another device (e.g., device 500).
[0252] Payment terminal 550 optionally uses the payment information to generate a signal for transmission to payment server 554 to determine whether the payment is authorized. Payment server 554 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 embodiments, payment server 554 includes a server of the issuing bank. Payment terminal 550 communicates with payment server 554 directly or indirectly via one or more devices or systems (e.g., a server of the acquiring bank and / or a server of the card network).
[0253] The payment server 554 optionally uses at least some of the payment information to identify the user account from a database of user accounts (e.g., 552). For example, each user account includes payment information. The account is optionally located by locating an account with specific payment information that matches the information from the POS communication. In some embodiments, payment is rejected when the provided payment information is inconsistent (e.g., the expiration date does not correspond to the credit card number, debit card number, or gift card number) or when no account includes payment information that matches the information from the POS communication.
[0254] In some embodiments, the user account data further identifies one or more constraints (e.g., credit limit); current or previous balances; previous transaction dates, locations, and / or amounts; account status (e.g., active or frozen); and / or authorization instructions. In some embodiments, the payment server (e.g., 554) uses such data to determine whether to authorize a payment. For example, the payment server may deny payment when the purchase amount, added to the current balance, would cause the account limit to be exceeded, when the account is frozen, when the previous transaction amount exceeds a threshold, or when the number or frequency of previous transactions exceeds a threshold.
[0255] In some embodiments, the payment server 554 responds to the POS payment terminal 550 with an indication of whether the proposed purchase was authorized or denied. In some embodiments, the POS payment terminal 550 transmits a signal to the electronic device (e.g., 100, 300, 500) to indicate the result. For example, when the purchase is authorized (e.g., via a transaction coordination server that manages a transaction application on the user device), the POS payment terminal 550 sends a receipt to the electronic device (e.g., 100, 300, 500). In some cases, the POS payment terminal 550 presents an output (e.g., a visual output or an audio output) indicating the result. The payment may be transmitted to the merchant as part of the authorization process, or may be transmitted later.
[0256] In some embodiments, the electronic device (e.g., 100, 300, 500) participates in a transaction that is completed without involving the POS payment terminal 550. For example, upon detecting that mechanical input has been received, a secure element in the electronic device (e.g., 100, 300, 500) releases payment information to allow an application on the electronic device to access the information (e.g., and transmit the information to a server associated with the application).
[0257] In some embodiments, the electronic device (e.g., 100, 300, 500) is in a locked state or an unlocked state. In the locked state, the electronic device is powered on and is operable, but it is blocked from performing a predefined set of operations in response to user input. The predefined set of operations may include navigating between user interfaces, activating or deactivating a predefined set of functions, and activating or deactivating certain applications. The locked state can be used to prevent unintentional 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 is operable, and is not blocked from performing at least a portion of a predefined set of operations that cannot be performed when in the locked state.
[0258] When the device is in the locked state, the device is said to be locked.In some embodiments, the device in the locked state can respond to a restricted set of user inputs, including input corresponding to an attempt to transition the device to the unlocked state or input corresponding to turning the device off.
[0259] In some embodiments, the security element is a hardware component (e.g., a secure microcontroller chip) configured to securely store data or algorithms. In some embodiments, the security element provides (or publishes) payment information (e.g., account number and / or transaction-specific dynamic security code). In some embodiments, the security element provides (or publishes) payment information in response to the device receiving authorization, and the authorization is, for example, user authentication (e.g., fingerprint authentication; password authentication; 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, a double press of the hardware button is detected, wherein the device is determined to be in contact with the user's skin by periodically checking that the device is in contact with the user's skin. For example, the device detects a fingerprint at the device's fingerprint sensor (e.g., a fingerprint sensor integrated into a button). The device determines whether the fingerprint is consistent with the registered fingerprint. Based on determining that the fingerprint is consistent with the registered fingerprint, the security element provides (or publishes) payment information. Based on determining that the fingerprint is inconsistent with the registered fingerprint, the security element abandons providing (or publishing) payment information.
[0260] Attention is now turned to an embodiment of a user interface ("UI") and associated processes implemented on an electronic device, such as portable multifunction device 100, device 300, or device 500.
[0261] Figures 6A to 6E Illustrate example user interfaces for transferring files according to some embodiments. The user interfaces in these figures are used to illustrate the process described above, including Figure 8 and Figure 9 in the process.
[0262] exist Figure 6A In FIG, the computer system 600 displays a user interface 601 of an application for file transfer. The computer system 600 detects a user input 650a (eg, a tap input) corresponding to a request to start a file transfer. Figure 6B In response to detecting user input 650a, computer system 600 displays a user interface 602 including a space 602a indicating where the NFC reader is located in computer system 600 and a user interface element 602b indicating file information of the file being transferred. Figure 6C In the embodiment, a user holding computer system 600 (e.g., a user transmitting a file) rotates computer system 600 downward (e.g., tilts its top) to present display content to another user (e.g., a user receiving a file) who is standing opposite the user holding computer system 600. After detecting the rotation of computer system 600 (e.g., in response thereto), computer system 600 rotates one or more elements of user interface 602, such as Figure 6C In some embodiments, the file transfer optionally requires account information from the user receiving the file (e.g., the user's name, the user's password, and / or the number of times the user has received the file being transferred). Figure 6D , computer system 605 is tapped and / or moved near computer system 600. Specifically, computer system 605 is placed near (e.g., tapped on) space 602a. This allows computer system 600 to request data from computer system 605, including information about accounts displayed on computer system 605 and other information that computer system 600 may need to complete an operation. In some embodiments, the information computer system 600 requests (and optionally receives) from computer system 605 includes one or more items of account information (e.g., a username, password, and / or the number of times a user has performed an operation). Figure 6E, after receiving the account information from computer system 605 (e.g., in response thereto), computer system 600 updates user interface 602 to indicate that the operation was successfully completed. Additionally, computer system 600 displays banner 602c in user interface 602 to indicate that computer system 600 successfully credited the account with information associated with the user receiving the file.
[0263] Figures 7A to 7S Illustrated are exemplary user interfaces for managing the display of user interface elements and requesting account information based on movement of a computer system according to some embodiments. The devices and user interfaces in these figures are used to illustrate the processes described below, including Figure 8 and Figure 9 in the process.
[0264] Figure 7A A computer system 700 is illustrated that displays a user interface 701 for processing payments. The user interface 701 includes a button 701a and an amount 701b. The user interface 701 is displayed as part of a merchant application for performing transactions to receive payment for goods selected by a buyer. Thus, after the computer system 700 has received (e.g., via user input) an indication of the goods / services that the buyer is purchasing, the user interface 701 includes an amount payable 701b for the goods / services and a button 701a for starting the payment process. While the user interface 701 is displayed, the computer system 700 detects user input 701c on the button 701a. In some embodiments, the user input 701c includes a tap, a swipe, and / or other gesture on a touch-sensitive screen of the computer system 700.
[0265] In response to detecting user input 701c on button 701a corresponding to a transaction request, computer system 700 displays the following Figure 7BUser interface 702 is shown. User interface 702 includes user interface element 702a and request element 702b. User interface 702 includes particles (e.g., user interface element 702a) scattered across user interface 702 to provide an indication that computer system 700 is not yet ready (e.g., performing an initialization process) to accept payment (e.g., NFC payment). Particles (e.g., user interface element 702a) can be scattered across user interface 702. Each particle can be animated and / or colored in a manner that distinguishes it from other particles on the user interface. In some embodiments, particles (e.g., user interface element 702a) have visual characteristics based on the orientation and / or speed of movement of computer system 700. In some embodiments, when computer system 700 is not yet ready to accept payment, these particles move around user interface 702 and are not limited to any specific area of user interface 702. In some embodiments, particles are generated randomly or pseudo-randomly. User interface element 702b indicates the amount requested in the current payment transaction. In some embodiments, user interface 702 is the user interface of a payment processor application (e.g., different from a merchant application). In some embodiments, user interface 702 is a user interface of an application that is different from the application associated with user interface 701. In some embodiments, user interface 701 is a user interface of a merchant application (e.g., a third-party application installed on a computer system), and user interface 702 is a user interface of an operating system of computer system 700 (e.g., a first-party application provided as part of the operating system).
[0266] Once the computer system 700 is ready to accept payment (e.g., the initialization process is complete), the computer system 700 updates the display of the user interface 702, such as Figure 7C As shown. Figure 7C, because the computer system 700 is ready to accept payment, the particles of the user interface 702 transition to be displayed in a specific area of the display (e.g., as indicated by space 702e). This area (e.g., as indicated by space 702e) can indicate where an NFC reader or other card reader (e.g., a hardware radio antenna) is located in the computer system 700. In this example, the particles form a rectangular outline to indicate where a card or NFC-enabled device should be placed to be read by the computer system 700. In some embodiments, the particles (e.g., user interface element 702a) form a rectangular shape (e.g., an outline) at space 702e (e.g., at the area of the display) to mimic the shape of a card (e.g., a credit card and / or loyalty card) that would be placed (e.g., tapped, brought close to) near the reader indicated by the user interface element 702a. In other embodiments, particles (e.g., user interface element 702a) may be displayed as horizontal lines at the edge of space 702e to indicate the area from the edge of the computer system 700 to the portion of the screen over which a card (or NFC-enabled device, or UWB-enabled device) can be positioned to be read by the reader.
[0267] exist Figure 7D In the example, the merchant holding the computer system 700 rotates the computer system 700 downward (e.g., tilts its top) to show the display content to the buyer standing opposite the merchant. Figures 7A to 7S , the orientation of the computer system 700 is indicated as shown in the corresponding figures. After detecting the rotation of the computer system 700 (e.g., in response thereto), the computer system 700 rotates one or more elements of the user interface 702, such as Figure 7D . For example, instead of rotating the entire contents of the display as a single unit, or rotating the user interface 702 as a single unit, the computer system 700 rotates the individual elements of the user interface 702 so that the elements are rotated but displayed at their previous positions. In some embodiments, a first element is rotated around the center of mass of the first element, and a second element is rotated around the center of mass of the second element. For example, the text displayed in space 702e is rotated around the center of mass of space 702e and / or around the center of mass of the text so that the text inside space 702e is easier to read by a buyer standing opposite the merchant. Similarly, the request element 702b is rotated around the center of mass of the request element 702b so that the text within the request element 702b is also easier to read by a buyer standing opposite the merchant. In some embodiments, one or more elements are not rotated (e.g., the time and / or cancel option (e.g., the "X" button)).
[0268] During processing of a currently requested transaction, the computer system 700 may detect one or more error conditions and display a user interface element in response. Based on determining that the one or more error conditions include a first type of error (such as an error associated with a buyer), the computer system 700 updates the display of the user interface 702, such as Figure 7E As shown. Figure 7E In the example, because the error is a type of error associated with the buyer, the particles of user interface element 702a are transformed to indicate an error, and the error is oriented so that the buyer can more easily read the error (e.g., displayed in the same orientation as the text of 702a). In this example, the particles fill (e.g., partially, completely, and / or exceed the error before) user interface element 702a and shake (e.g., from side to side and / or left to right) to indicate that the transaction was unsuccessful. In addition, the text displayed in space 702e is updated to include "Error: Insufficient Funds" to indicate to the buyer the type of error that has occurred. In some embodiments, the particles (e.g., user interface element 702a) change color from a neutral color (such as black) to a color that indicates an error (such as red). In some embodiments, fewer particles fill space 702e when the computer system 700 is ready to execute the transaction and no error is indicated than the number of particles that appear in the same space when the computer system 700 is indicating an error. Exemplary errors associated with the buyer include insufficient funds, a time-out condition due to incomplete account details, an incorrect type of payment being provided, and / or the payment device and / or physical payment card being placed in an incorrect location.
[0269] Based on determining that the one or more error conditions include a second type of error (such as an error associated with a merchant), the computer system 700 updates the display of the user interface 702, such as Figure 7F As shown. Figure 7F , because the error is an error type associated with a merchant, the computer system 700 updates the user interface 702 to (optionally) stop display of space 702e and display error element 702c. Error element 702c is displayed as an overlay on other elements of the user interface 702, including the request element 702b. In addition, the error element 702c is oriented toward the merchant, making it easier for the merchant to read the error element 702c, allowing the merchant to resolve the error more quickly. Exemplary errors associated with merchants include a timeout condition due to failure to detect a payment device and / or physical payment card within a threshold duration, failure to communicate with a payment device and / or physical payment card, a card reader of the merchant's computer system not being enabled, and / or a lack of a network connection.
[0270] In some embodiments, in response to detecting an error, the computer system 700 includes a user interface element that provides instructions to complete the transaction. For example, when the error is the detection of incomplete account details during a timeout period, the computer system 700 may display a user interface element or text that provides instructions to try again to provide complete account details. In some embodiments, in response to detecting an error, the computer system 700 provides an audio output indicating the error.
[0271] In some embodiments, as Figure 7G As shown, computer system 700 displays a user interface 704 for requesting information associated with a payment account. In some embodiments, user interface 704 has been initiated / requested by a first user. User interface 704 includes user interface element 704a, request element 704b, and space 704e. Figure 7C and Figure 7D As described, the user interface 704 includes particles (e.g., user interface element 704a) arranged in a rectangular outline at space 704e to indicate that the computer system 700 is ready to perform a transaction and to indicate the location of an NFC reader or other wireless card reader of the computer system 700. The text in space 704e indicates to the second user providing the account that the second user should place (e.g., tap, approach, touch, and / or not touch) a card or another computer system to the location indicated by the particles at space 704e to allow the computer system 700 to look up information (e.g., past purchases) without performing a payment. The request element 704b indicates to the second user that funds will not be requested. Therefore, the request element 704b is displayed in an orientation that is easy to view for the second user who is providing the requested account information (e.g., when the first user is holding the computer system 700 and tilting the computer system 700 downward). In some embodiments, upon detecting that the computer system 700 is rotated to Figure 7G , after (e.g., in response to) the orientation shown in FIG, the request element 704b is rotated (e.g., about the center of mass of the request element 704b) from the opposite orientation (e.g., rotated 180 degrees) to Figure 7G . In addition, the text at space 704e rotates around the center of mass of space 704e. In some embodiments, particles (e.g., user interface element 704a) can be displayed as horizontal lines at the edge of space 704e (e.g., not forming a rectangular outline) to indicate the area (from the edge of computer system 700 to the horizontal line) over which a card or NFC-enabled device can be positioned to be read by the reader.
[0272] exist Figure 7H In, continue Figure 7DIn the example of a payment method, computer system 705 is tapped and / or moved near computer system 700. Specifically, computer system 705 is placed near (e.g., tapped on) space 702e, which indicates where an NFC reader or other wireless card reader is located in computer system 700. This allows computer system 700 to request data from computer system 705, including information about a credit card displayed on computer system 705 and other information that computer system 700 may need to complete the transaction. In some embodiments, the information requested from computer system 705 is used or stored on computer system 700 without processing (or attempting to process) the payment transaction. In some embodiments, the information requested from computer system 705 is used to complete the payment transaction. In some embodiments, the information requested from computer system 705 includes information that is not displayed on computer system 705. In some embodiments, the information computer system 700 requests (and optionally receives) from computer system 705 includes one or more of account information, expiration date, and / or the name of the account holder.
[0273] In some embodiments, the computer system 700 encounters an error during the payment process. Figure 7I In response to encountering an error, the computer system 700 stops displaying the space 702e and / or user interface element 702a and displays an error element 702c, as described above with respect to Figure 7F discussed.
[0274] exist Figure 7J , the computer system 700 has detected that the computer system 700 has been rotated to an orientation that enables the merchant to view the user interface 702. Figure 7J ), the computer system 700 rotates the request element 702b around its center of mass. Figure 7I Compared to the portion of the request element 702b that is blocked in the computer system 700, Figure 7J As shown rotated, the portion of request element 702b that is covered and / or blocked by error element 702c is different. Therefore, the merchant can rotate computer system 700 to view error element 702c and other elements of user interface 702 in the same orientation.
[0275] exist Figure 7K, computer system 705 is placed near and / or tapped on computer system 700, and computer system 700 requests payment in the amount of $48.37 from computer system 705. When computer system 700 is requesting the payment amount from computer system 705, computer system 700 also requests data in addition to payment data, such as information associated with a non-payment account, a points account, or a rewards account.
[0276] exist Figure 7L In the example, after receiving the requested payment and points information from the computer system 705 (e.g., in response thereto), the computer system 700 updates the user interface 702 to indicate that the payment was successfully received. Specifically, the particle (e.g., the user interface element 702a) appears to be Figure 7H 702a) to indicate that the transaction was successful. In some embodiments, the particles move independently of other particles. In some embodiments, the particles (e.g., user interface element 702a) bounce and / or rebound from the edge of the display of the computer system 700. In some embodiments, the path of the particles (user interface element 702a) is not limited to the display of the computer system 700. In some embodiments, the particles can change color from a neutral color (e.g., black) to a color indicating success (such as green). In some embodiments, in addition to the displayed user interface elements, the computer system 700 also provides an audio output for indicating that the transaction was successful. The request element 702b is updated to include the text "Funds Received" indicating that the transaction was successful. In addition, the computer system displays a banner 702d in the user interface 702 to indicate that the computer system 700 has also successfully retrieved the points information associated with the buyer. Banner 702d is displayed in an orientation toward the merchant holding computer system 700 to inform the merchant that the loyalty information has been received (e.g., when loyalty information was not initially requested but was determined to be available on computer system 705). In some embodiments, banner 702d is displayed in an orientation consistent with request element 702b so that the buyer can more easily read banner 702d.
[0277] In some embodiments, based on determining that a points account associated with the merchant is available on computer system 705, computer system 700 further requests information associated with a payment account from computer system 705. In some embodiments, based on determining that the transaction request is a request for points account information and that computer system 705 provides the points account information, computer system 700 forgoes displaying banner 702d and / or another indication that the points account information has been received. In some embodiments, based on determining that the transaction request is a request for points account information and that computer system 705 provides the payment account information, computer system 700 displays an error indication (e.g., an error interface element) and does not provide the payment account information to the application associated with the merchant.
[0278] In some embodiments, the computer system 700 requests the points account information and receives the payment account information (e.g., upon receiving the points account information), and in response, the computer system 700 forgoes displaying the banner 702d or any other indication that the points account information was received.
[0279] exist Figure 7M , when the first user (e.g., holding the computer system 700) tilts the computer system 700 downward for viewing by the second user, the computer system 700 displays a user interface 706 requesting score information from the second user. The computer system 700 displays the space 706e and the request element 706b in an orientation toward the second user, making the text at the space 706e and the request element 706b easier for the second user to read. In some embodiments, the computer system 700 rotates the text at the space 706e around the center of mass of the space 706e (and / or the center of mass of the text), and after detecting that the computer system 700 has been rotated (e.g., tilted downward) to the illustrated orientation (e.g., in response thereto), the request element 706b is rotated around the center of mass of the request element 706b. In response to detecting that the user places the points card 707 in the field of the short-range radio component of the computer system 700 (e.g., positioned near / below / adjacent to the space 706e of the user interface 706), the computer system 700 receives points information associated with the user from the points card 707 (e.g., via an NFC or UWB transaction).
[0280] exist Figure 7N, after successfully receiving the points information from the points card 707 (e.g., in response thereto), the computer system 700 updates the user interface 706. The computer system 700 updates the particles (e.g., user interface element 706a) of the user interface 706 so that the particles appear to spread outward from the previously displayed rectangle (e.g., outline) of the space 706e (e.g., animated, expanding away from the previously displayed rectangle). In some embodiments, the particles (e.g., user interface element 706a) optionally change color (e.g., from black to green). In some embodiments, in addition to the displayed user interface element, the computer system 700 also provides audio and / or tactile output to indicate that the transaction was successful.
[0281] exist Figure 7O , computer system 700 displays a user interface 708 for opening a bill (e.g., a bar bill, where multiple items can be added incrementally throughout the evening until the bill is settled). Computer system 700 displays text and request element 708b at space 708e in an orientation oriented toward a buyer (e.g., the person for whom the bill is to be opened), making it easier for the buyer to read the text and request element 708b at space 708e. In some embodiments, computer system 700 rotates the text at space 708e about the center of mass of space 708e (and / or the center of mass of the text) and, after (e.g., in response to) detecting that computer system 700 has rotated to the illustrated orientation, rotates request element 708b about the center of mass of request element 708b. In response to detecting that the user has placed computer system 705 in the field of the short-range radio component of computer system 700 (e.g., positioned near / below / adjacent to space 708e of user interface 708), computer system 700 receives payment account information associated with the buyer without completing the payment transaction. Computer system 700 receives information associated with credit card 705a displayed on computer system 705, including the credit card number, the buyer's name, the credit card expiration date, and / or other information necessary to bill the buyer and / or charge the buyer's account at a later time (e.g., when the bill is settled at the end of the evening).
[0282] exist Figure 7P, after computer system 700 receives the requested information needed to open a bill for Jane (e.g., in response thereto), computer system 700 opens the bill and updates user interface 708 to indicate that the transaction was successful. Computer system 700 updates particles (e.g., user interface element 708a) so that the particles appear to spread outward from the previously displayed rectangle (e.g., animate, expand away from the previously displayed rectangle). In some embodiments, particles (e.g., user interface element 708a) optionally change color (e.g., from black to green). In some embodiments, in addition to the displayed user interface element, computer system 700 also provides audio and / or tactile output to indicate that the transaction was successful.
[0283] exist Figure 7Q , the computer system 700 displays a user interface 709 for configuring a card (eg, a payment account, a points account, a key account, and / or an identity account) on the computer system 700 .
[0284] exist Figure 7R In the example embodiment, a user places a credit card 710 in the field of a short-range radio component of the computer system 700 (e.g., positioned near / below / adjacent to the space 709e of the user interface 709). After detecting the credit card 710 (e.g., in response thereto), the computer system 700 receives account information associated with the credit card 710. The computer system 700 receives information associated with the credit card 710, including the credit card number, the name of the account holder, the credit card expiration date, and / or other information required to configure the credit card 710 to the computer system 700.
[0285] exist Figure 7S , after receiving information associated with credit card 710, computer system 700 configures credit card 710 onto computer system 700 and updates user interface 709 to indicate that the configuration was successful. Computer system 700 updates particles (e.g., user interface element 709a) so that the particles appear to spread outward from the previously displayed rectangle (e.g., animated, extending away from the previously displayed rectangle). In some embodiments, the particles optionally change color (e.g., from black to green). In some embodiments, in addition to the displayed user interface elements, computer system 700 also provides audio and / or tactile output for indicating that the transaction was successful. Computer system 700 also updates request element 709b to include text indicating that the card has been configured, and updates the text of user interface element 709a to indicate that the computer system 700 can be paid using the newly configured account (e.g., NFC and / or UWB payment).
[0286] In some embodiments, the computer system 700 receives a request to display information associated with an account (e.g., a payment account and / or a non-payment account), including previous transactions or other information indicating account history. Thus, in addition to requesting points information, opening a bill, and / or configuring a card as described above, the user interface may also display a request for account information that can be used to access other information associated with the account, such as historical or previous transaction data. For example, the computer system 700 may receive information about a payment account and (without processing a payment) display past purchases made using that payment account. Thus, merchants can quickly and efficiently find past transaction information for a buyer.
[0287] Figure 8 800 is a flowchart illustrating a method for displaying user interface elements and requesting account information using a computer system according to some embodiments. Method 800 is performed at a computer system (e.g., 100, 300, 500, 700, 1100, 1400, 1700) that communicates with a display generation component (e.g., a display controller and / or a touch-sensitive display system) and one or more input devices (e.g., a button, a rotatable input mechanism, a speaker, a camera, a motion detector (e.g., an accelerometer and / or a gyroscope) and / or a touch-sensitive surface). Some operations in method 800 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0288] As described below, method 800 provides an intuitive way to manage the display of user interface elements based on the movement of a computer system. The method reduces the cognitive burden on a user viewing user interface elements on a computer system, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling a user to more quickly and efficiently use a computer system to display user interface elements and request account information saves power and increases the time between battery charges.
[0289] A computer system (e.g., 700) (e.g., a smartwatch, wearable electronic device, smartphone, desktop computer, laptop computer, or tablet computer) detects (802) user input (e.g., 701c) via one or more input devices to initiate a transaction request (e.g., a payment request).
[0290] In response to detecting a user input (e.g., 701c) (804) for initiating a transaction request, the computer system (e.g., 700) displays (e.g., when the computer system is in a first position) a transaction user interface (e.g., 702) (e.g., a payment user interface) via the display generation component. Displaying the transaction user interface (e.g., 702) includes: displaying, via the display generation component, a first graphical user interface element (e.g., GUI element) indicating a position of a reader (e.g., a barcode reader, a credit card reader, and / or a camera) of the computer system (e.g., 700) at a first position. Figure 7C 702a)(806) (e.g., an arrow, a text box, and / or a plurality of particles), and displaying a second graphical user interface element (e.g., an arrow, a text box, and / or a plurality of particles) at a second location different from the first location via the display generation component. Figure 7C 702b)(808) (e.g., an indication of the transaction amount and / or an indication of the status of the computer system), wherein the second graphical user interface element is displayed in a first orientation (e.g., toward a user of the computer system (the retailer)).
[0291] When displaying the trading user interface (e.g. Figures 7C to 7D 702 at ), the computer system detects (810) movement (eg, rotation, orientation change, tilt, and / or lift) of the computer system (eg, 700) (eg, to a second position).
[0292] In response to detecting movement of the computer system, the computer system repositions the second graphical user interface element (eg, Figure 7D The display (e.g., 702b at 702c) (e.g., an indication of the transaction amount and / or an indication of the status of the computer system) is rotated (812) (e.g., via a rotation animation and / or a cross-fade animation) to a second orientation different from the first orientation, while continuing to display the first graphical user interface element indicating the position of the reader of the computer system at the first position (e.g., Figure 7D 702a).
[0293] Automatically rotating some user interface elements based on movement of the computer system enables a user of the computer system to read content on the display without requiring the user to provide additional input to rotate the elements so that they are properly oriented, thereby reducing the amount of input required to perform operations.
[0294] In some embodiments, a plurality of graphical user interface elements rotate around their respective centers of mass in response to detecting movement of the computer system. In some embodiments, the first graphical user interface is an animated visual element. In some embodiments, the first graphical user interface does not rotate based on and / or is not affected by the detected movement of the computer system. In some embodiments, the first graphical user interface rotates in response to movement of the computer system and is displayed (after the rotation) at the first position (e.g., continues to be displayed at the same position despite being rotated).
[0295] In some embodiments, before detecting movement of the computer system, the computer system displays the third graphical user interface element in a first orientation via the display generation component. In some embodiments, in response to detecting movement of the computer system, the computer system rotates the third graphical user interface element (e.g., an indication of a transaction amount and / or an indication of a status of the computer system) around the center of mass of the third graphical user interface element (e.g., via a rotation animation and / or a cross-fade animation) to a second orientation. Automatically rotating some user interface elements based on movement of the computer system enables a user of the computer system to read content on the display without requiring the user to provide additional input to rotate these elements (so that they are properly oriented), thereby reducing the number of inputs required to perform operations.
[0296] In some embodiments, the computer system detects an error state when the second graphical user interface element is displayed in the second orientation. In some embodiments, in response to detecting the error state: based on determining that the error state is a first type of error (e.g., an error for a user who initiated a transaction request, an error for a merchant (not a customer), and / or an error for an individual located on a first side of the computer system), the computer system displays an indication (e.g., text error of the error state) via the display generation component in a third orientation (e.g., the same as the first orientation and / or different from the second orientation, toward the user who initiated the transaction request, toward the merchant, toward the first side of the computer system), and based on determining that the error state is a second type of error (e.g., an error for a user who did not initiate a transaction request, an error for a customer (not a merchant), and / or an error for an individual located on a second side of the computer system (different from and / or opposite the first side)), the computer system displays an indication of the error state via the display generation component in a fourth orientation different from the third orientation (e.g., the same as the second orientation and / or different from the first orientation, toward the user who did not initiate the transaction request, toward the customer, toward the second side of the computer system). Displaying notifications of error states in different orientations based on whether the error state is for one user (e.g., a merchant) or another user (e.g., a purchaser) enables a user of a computer system to read content on a display without requiring the user to provide additional input to rotate those elements (so that they are properly oriented), thereby reducing the number of inputs required to perform operations.
[0297] In some embodiments, the error condition is a timeout (e.g., Figure 7F In some embodiments, the timeout is based on a failure to communicate with the payment terminal and / or payment server to process information (e.g., a payment transaction, a lookup of a previous purchase). In some embodiments, the timeout is based on a failure to communicate with a payment device (e.g., a phone (such as an NFC-enabled phone equipped for payment) and / or a physical payment card (such as a credit card). In some embodiments, the communication includes communicating via a short-range radio component to read account information (e.g., an account number, an account expiration date, and / or a user account name) of a corresponding account.
[0298] In some embodiments, the third orientation is different from the second orientation (e.g., Figure 7E right Figure 7F ).
[0299] In some embodiments, a second graphical user interface element (e.g., payment information, transaction amount, text box, request for information, notification, and / or banner) of the transaction user interface is oriented based on the position of the computer system to increase the recognizability (e.g., legibility and / or readability) of the second graphical user interface element for an intended user of the computer system. Orienting the displayed user interface elements to increase the recognizability of the user interface elements enables a user of the computer system to better read the content on the display without requiring the user to provide additional input to rotate those elements (so that they are properly oriented), thereby reducing the number of inputs required to perform operations.
[0300] In some embodiments, detecting user input for initiating a transaction request includes detecting (e.g., via a touch-sensitive surface) activation of a displayed request-transaction graphical user interface element (e.g., 701a) (e.g., a tap at a location corresponding to the displayed request-transaction graphical user interface element). In some embodiments, the transaction user interface includes (e.g., in response to and / or after detecting user input for initiating a transaction) display of a graphical user interface element (e.g., 702e) that indicates a location of a reader (e.g., a sensor, such as a short-range communication component and / or an NFC reader) of a computer system used to process the transaction.
[0301] In some embodiments, the transaction user interface (e.g., 702) is a user interface of a first application (e.g., a payment application), and the request-transaction graphical user interface element is displayed as part of a user interface of a second application (e.g., 701) that is distinct from the first application (e.g., a payment processor application and / or a retailer application). In some embodiments, the first application is the operating system of the computer system (and the second application is not). Using separate applications to initiate transaction requests and execute transactions increases security by relying on a secure and / or known application (e.g., an application that is part of the computer system's operating system) to execute portions of the technology that require a higher level of security.
[0302] In some embodiments, the transaction request includes a payment request (e.g., a payment transaction, a receipt of funds (such as a purchase), and / or a refund of funds (such as a return of a purchase)), a points request (e.g., a points transaction that does not include a monetary payment), and / or a request to identify a previous transaction (e.g., to use received account information, such as an account number and / or expiration date (without performing a payment or points transaction)). Initiating a transaction that includes a payment request, a points request, and / or a request to identify a previous transaction enables the computer system to receive information required to perform a transaction that otherwise would have required additional user input, thereby reducing the number of inputs required to perform the operation.
[0303] In some embodiments, the transaction user interface (e.g., before and / or while displaying the second graphical user interface element of the transaction user interface in the second orientation) identifies the type of transaction (e.g., indicates "tap to pay," "tap to refund," and / or "tap to collect information" to identify a previous transaction). In some embodiments, the request is a request for a payment transaction (e.g., a receipt of funds (such as a purchase) and / or a refund of funds (such as a return of a purchase)). In some embodiments, the request is a request for a points request (e.g., a points transaction that does not include a monetary payment). In some embodiments, the request is a request to identify a previous transaction (e.g., using received account information, such as an account number and / or expiration date (without performing a payment or points transaction)).
[0304] In some embodiments, when the transaction user interface is displayed, the computer system detects account details (e.g., account information such as account number, account expiration date, name associated with the account) via a short-range communication radio component (e.g., NFC and / or UWB) (e.g., Figure 7K In some embodiments, in response to detecting the account details and based on determining that the account details are valid (e.g., the account number is a valid number, the account has not expired, and / or the name associated with the account is available), the computer system transmits one or more (e.g., all or less than all) of the account details to a retailer application (e.g., not a first-party application of the computer system) of the computer system (e.g., without processing the transaction and / or displaying an error). In some embodiments, the computer system uses a first application (e.g., an operating system and / or an application provided by the manufacturer of the computer system) to collect the account information and passes some or all of the account information to a second application (e.g., a third-party application) that is different from the first application. Transmitting the account details to the retailer application enables the retailer application to use the account details while a separate application (e.g., a more secure application) is responsible for collecting the account details, thereby increasing the security of the computer system.
[0305] In some embodiments, in response to detecting the account details and based on determining that the account details are not valid (e.g., the account number is not a valid number, the account is expired, and / or the name associated with the account is unavailable), the computer system displays (e.g., in a second orientation) an indication of the error (e.g., as Figure 7J Displaying an indication of the error provides visual feedback to the user regarding the error state of the computer system, thereby providing improved visual feedback to the user.
[0306] In some embodiments, detecting the account details includes reading the account details (e.g., such as a credit card, a loyalty card, and / or an NFC-enabled card) from a physical card (e.g., 707). Figure 7M Detecting account details from a physical card and / or an external computer system without requiring the user to select the source of the account details (e.g., a physical card or an external computer system) reduces the input required to perform a transaction, thereby reducing the number of inputs required to perform an operation.
[0307] In some embodiments, detecting the account details includes reading the account details from an external computer system (e.g., 705) (e.g., an NFC-enabled smartphone). Detecting the account details from a physical card and / or an external computer system without requiring the user to select the source of the account details (e.g., a physical card or an external computer system) reduces the input required to perform the transaction, thereby reducing the number of inputs required to perform the operation.
[0308] In some embodiments, after transmitting one or more (e.g., all or less than all) of the account details to a retailer application of the computer system (e.g., a second application of the computer system and / or not a first-party application), the computer system processes the transaction (e.g., Figure 7N In some embodiments, the transaction user interface is a user interface of a first-party application (e.g., an operating system), and the account details are passed to a different application (e.g., a third-party application and / or a retailer application) to process the transaction. In some embodiments, the transaction user interface is a user interface of a first-party application (e.g., an operating system), and the first-party application uses the account details to process the transaction.
[0309] In some embodiments, the computer system receives input (e.g., movement of the computer system, detection of a change in the orientation of the computer system back to facing the merchant, and / or detection of user input on the touch-sensitive surface / display) while the second graphical user interface element of the transaction user interface is displayed in the second orientation. In some embodiments, in response to receiving the input, the computer system rotates the second graphical user interface element of the transaction user interface (e.g., payment information, transaction amount, text box, request for information, notification, and / or banner) to the first orientation (e.g., while maintaining the graphical user interface element (e.g., 702e) indicating the position of the computer system's reader in the first orientation). In some embodiments, the input causes the graphical user interface element to be displayed as it was before the movement of the computer system was detected (e.g., in the first orientation), thereby allowing the original user of the computer system (e.g., the merchant) to more easily read the element of the user interface. Rotating the user interface element in response to the user input enables the computer system to orient the user interface element so that the viewer can more easily identify the user interface element based on the viewer's position relative to the computer system, thereby providing improved visual feedback to the user.
[0310] In some embodiments, receiving the input includes detecting movement of the computer system (e.g., Figure 7I and Figure 7J Rotating the user interface elements in response to movement of the computer system enables the computer system to orient the user interface elements to make them more easily identifiable to the viewer based on the viewer's position relative to the computer system, thereby providing improved visual feedback to the user.
[0311] In some embodiments, receiving the input includes detecting activation of a displayed graphical user interface element (e.g., detecting that a cancel button has been pressed). Rotating the user interface element in response to activation of the displayed graphical user interface element enables the computer system to orient the user interface element to make it easier for the viewer to identify the user interface element based on the viewer's position relative to the computer system, thereby providing improved visual feedback to the user.
[0312] In some embodiments, when the second graphical user interface element of the transaction user interface is displayed in the second orientation, the computer system detects incomplete account details (e.g., account information) during a timeout period (e.g., 4 seconds or 8 seconds) (e.g., an account number is detected without detecting an expiration date and / or an initiation of a communication for receiving account information is detected without receiving complete account information). In some embodiments, in response to detecting incomplete account details during the timeout period, the computer system extends the timeout period and displays an instruction to complete the transaction via the display generation component (e.g., "Tap your device and hold until confirmation (tone / tactile) is received" or "Tap your card again"). Automatically extending the timeout period when incomplete account details is detected performs an operation when a set of conditions have been met without requiring further user input.
[0313] In some embodiments, the computer system detects (e.g., when displaying the transaction user interface with the second graphical user interface element in the second orientation) (e.g., via a short-range communication radio component (e.g., NFC and / or UWB) or via a camera of the computer system) account details (e.g., account information such as account number, account expiration date, name associated with the account). In some embodiments, based on determining that the transaction has been processed (e.g., the account details are valid and the processing is complete) (and optionally, in response to detecting the account details), the computer system provides a first audio output indicating a successful transaction. In some embodiments, based on determining that an error (such as an error status) has been detected (and optionally, the transaction has not been processed) (and optionally, in response to detecting the account details), a second audio output different from the first audio output is provided indicating the error. Providing an audio output based on a successful transaction or an error enables the computer system to provide the user with the status of the computer system, thereby providing improved audio feedback to the user.
[0314] In some embodiments, the transaction request is a request to configure an account on the computer system, and the computer system detects (e.g., when displaying the transaction user interface with the second graphical user interface element in the second orientation) via a short-range communication radio component (e.g., NFC and / or UWB) the account details (e.g., account number, account expiration date, name associated with the account) (e.g., Figure 7SIn some embodiments, after (e.g., in response to) detecting the account details (and optionally based on a determination that the account details were received from a physical card (e.g., a debit card, bank card, and / or credit card) rather than a computer system (e.g., a smartphone or laptop), configuring the account on the computer system using some (e.g., all or less than all) of the account details. In some embodiments, after (e.g., in response to) detecting the account details and based on a determination that the account details were not received from a physical card, configuring the account on the computer system is abandoned.
[0315] In some embodiments, the computer system detects (e.g., receives from a user device via a short-range communication radio (e.g., NFC and / or UWB) or via a camera of the computer system) account details (e.g., account number, account expiration date, name associated with the account) (e.g., when displaying the transaction user interface with the second graphical user interface element in the second orientation). In some embodiments, the computer system performs an operation using some (e.g., all, but not all) of the account details without attempting to transfer funds (e.g., without processing the payment).
[0316] In some embodiments, the operation is a transaction lookup operation that uses some of the account details to identify (and optionally display) previously performed transactions.
[0317] In some embodiments, the operation adds the amount (and / or items or services purchased) to a bill (e.g., the total charges accumulated by an individual or group before final settlement, such as a bar bill) associated with some of the account details (e.g., using some identification in the account details).
[0318] In some embodiments, a graphical user interface element (e.g., space 702e) indicating the location of a reader (e.g., a sensor, such as a short-range communication component and / or an NFC reader) includes displayed particles (e.g., multiple particles emitted from one or more particle emitter locations and / or moving on a display) having visual characteristics (e.g., movement speed, particle position) based on the orientation and / or movement speed of the computer system. In some embodiments, the particles move on the display based on the movement of the computer system (e.g., rotation, tilt, raising, and / or lowering).
[0319] In some embodiments, displayed particles (e.g., a plurality of particles emitted from one or more particle emitter locations and / or moving on a display) are included in a graphical user interface element (e.g., space 702e) that indicates the location of a reader (e.g., a sensor, such as a short-range communication component and / or an NFC reader), and wherein the displayed particles have a first visual characteristic (e.g., a plurality of particles emitted from one or more particle emitter locations and / or moving on a display) after detecting user input for initiating a transaction request and before the computer system is ready to receive account details (e.g., account information, such as an account number, an account expiration date, a name associated with the account). Figure 7B 702a) (e.g., are dispersed, do not form a discernible shape, are not confined to a first area of the display, and / or are a first color such as white or yellow). Displaying particles having the first visual characteristic provides visual feedback to the user of the status of the computer system (not yet ready to receive account details), thereby providing improved visual feedback to the user.
[0320] In some embodiments, after the computer system is prepared to receive account details and before the account details (e.g., account information such as an account number, an account expiration date, a name associated with the account) are received, the displayed particles have a second visual characteristic (e.g., Figure 7C 702a) (e.g., confined to a first area of the display, forming a discernible shape or outline of a shape, such as a rectangle, square, or circle, and / or being a second color, such as blue or purple). In some embodiments, once the computer system is ready to receive the account details, the particles are animated to transition from having the first visual characteristic to having the second visual characteristic. Displaying the particles having the second visual characteristic provides visual feedback to the user of the status of the computer system (ready to receive the account details), thereby providing improved visual feedback to the user.
[0321] In some embodiments, based on determining that an error state is detected, the computer system displays, via the display generation component, a third visual characteristic (e.g., Figure 7E In some embodiments, the computer system displays particles having the third visual characteristic, provides a tactile output, and / or provides an audio output (to indicate an error) upon determining that an error state exists. Displaying particles having the third visual characteristic provides visual feedback to the user of the state of the computer system (detection of an error), thereby providing improved visual feedback to the user.
[0322] In some embodiments, based on determining that the account details are successfully detected (e.g., successfully received from the user device via the short-range communication radio component (e.g., NFC and / or UWB) or via the computer system's camera), the computer system displays, via the display generation component, a fourth visual characteristic (e.g., Figure 7L In some embodiments, upon the computer system detecting that the account details are successfully received, the particles are animated to transition from having the first visual characteristic or the second visual characteristic to having a fourth visual characteristic (e.g., the particles transition from forming a rectangular outline to moving away from each other, such as looking like they are exploding outward away from each other (e.g., animated)). In some embodiments, based on determining that an error state exists, the computer system displays particles having the fourth visual characteristic, provides a tactile output, and / or provides an audio output (to indicate that the account details were successfully detected). Displaying particles having the first visual characteristic provides visual feedback to the user of the state of the computer system (successful receipt of the account details), thereby providing improved visual feedback to the user.
[0323] Note that the process described above with respect to method 800 (e.g., Figure 8) also apply in a similar manner to the methods described below / above. For example, method 900 optionally includes one or more features of the various methods described above with reference to method 800. For example, method 900 may request information as discussed above with reference to method 800. As another example, method 1200 optionally includes one or more of the features of the various methods described above with reference to method 800. For example, method 1200 may use a user interface to configure an account as discussed above with reference to method 800. As another example, method 1500 optionally includes one or more of the features of the various methods described above with reference to method 800. For example, method 1500 may receive gift card information through the process discussed above with reference to method 800. For example, method 1800 optionally includes one or more of the features of the various methods described above with reference to method 800. For example, method 1800 may receive a payment account as discussed above with reference to method 800. For the sake of brevity, these details are not repeated below. For example, method 2000 optionally includes one or more of the various methods described above with reference to method 800. For example, during the input of the number sequence, computer system 1900 optionally rotates one of the user interface elements in response to detecting movement of computer system 1900, as described in method 800. For another example, method 800 optionally includes one or more of the various methods described below with reference to method 2010. For example, during the input of the number sequence, computer system 1900 optionally rotates one of the user interface elements in response to detecting movement of computer system 1900, as described in method 800. For another example, method 800 optionally includes one or more of the various methods described below with reference to method 2300. For example, as described in method 2300, a number of user interface elements of the first type may be rotated in response to detecting movement of the computer system.
[0324] Figure 9 800 is a flowchart illustrating a method for requesting account information using a computer system according to some embodiments. Method 900 is performed at a computer system (e.g., 100, 300, 500, 700, 1100, 1400, 1700) that communicates with a display generation component (e.g., a display controller and / or a touch-sensitive display system) and one or more input devices (e.g., a button, a rotatable input mechanism, a speaker, a camera, a motion detector (e.g., an accelerometer and / or a gyroscope) and / or a touch-sensitive surface). Some operations in method 800 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0325] As described below, method 900 provides an intuitive way to request account information using a computer system. This method reduces the cognitive burden on a user requesting account information using a computer system, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling a user to display user interface elements and request account information using a computer system more quickly and efficiently saves power and increases the time between battery charges.
[0326] A computer system (e.g., 700) (e.g., a smartwatch, wearable electronic device, smartphone, desktop computer, laptop computer, or tablet computer) detects (902) user input (e.g., 701c) via one or more input devices to initiate a transaction request (e.g., a request for a points account or for payment).
[0327] The computer system (eg, 700 ) communicates ( 904 ) (eg, directly and / or via NFC) with a user device (eg, 705 ) (eg, a user smartphone, smartwatch, and / or wearable electronic device).
[0328] Based on determining that an account (e.g., a payment account, a points account, a memory account) associated with a provider of the transaction request (e.g., a store, a store associated with the payment request) is available on the user device (e.g., 705) (e.g., via communication with the user device (e.g., directly and / or via NFC), the computer system requests (906) the account associated with the provider of the transaction request from the user device.
[0329] Based on determining that the account associated with the provider of the transaction request is not available on the user device, the computer system abandons requesting (908) the account associated with the provider of the transaction request from the user device. In some embodiments, when the account is requested, a banner corresponding to the account associated with the provider of the transaction request is displayed. In some embodiments, payment information (e.g., account) is also requested. In some embodiments, a banner is displayed above the user interface for payment requests. In some embodiments, information corresponding to the account is stored on the computer system (e.g., the user asks another user for this information (e.g., sharing a points account with another user, opening a bill)). In some embodiments, requesting the account from the external device includes requesting information about the account (e.g., account number, expiration date, and / or name associated with the account).
[0330] Enabling a computer system to access accounts on a user device (e.g., read accounts, such as cards available in an electronic wallet of the user device (e.g., payment cards)) to request a particular account when the particular account is available on the user device reduces the need for the user to provide additional input at the computer system to specify which account to request, thereby reducing the amount of user input required to perform an operation.
[0331] In some embodiments, the transaction request is for an account of a first type (e.g., a payment account), and the account associated with the provider of the transaction request is an account of a second type different from the first type (e.g., a points account). Enabling the computer system to request an account of a different type than when the user initially initiated the transaction reduces the need for the user to provide additional input on the computer system to specify which account to request, thereby reducing the amount of user input required to perform the operation.
[0332] In some embodiments, based on determining that an account associated with the provider of the transaction request is not available on the user device (e.g., the user device is not configured with a points account specific to the provider of the transaction request (such as a merchant)), the computer system requests an account of a first type from the user device (e.g., a payment account). Enabling the computer system to access accounts on the user device (e.g., read accounts, such as cards available in an electronic wallet of the user device (e.g., payment cards)) to request a specific account when the specific account is available on the user device (and not requesting the specific account when it is not available) reduces the need for the user to provide additional input at the computer system to specify which account to request, thereby reducing the amount of user input required to perform the operation.
[0333] In some embodiments, based on determining that an account (e.g., a payment account, a points account, a memory account) associated with a provider of a transaction request (e.g., a store, a store associated with a payment request) is available on a user device, the computer system requests an account of a first type (in addition to an account associated with the provider of the transaction request) from the user device. In some embodiments, the computer system determines (e.g., based on communication with the user device) that the user device has an account associated with the provider of the transaction request, and accordingly, the computer system requests (from the user device) information about two accounts (e.g., a points account and a payment account) (e.g., account numbers, expiration dates, and / or names associated with the accounts). Enabling the computer system to access accounts on the user device (e.g., read accounts, such as cards available in an electronic wallet of the user device (e.g., payment cards)) to request a specific account when it is available on the user device (and not requesting the specific account when it is not available) reduces the need for the user to provide additional input at the computer system to specify which account to request, thereby reducing the amount of user input required to perform an operation.
[0334] In some embodiments, based on determining that the transaction request is a request for non-points account information (e.g., the user of the computer system has selected an option to request account information other than points information from the user device, such as in a retail application) and that the user device has provided (e.g., in response to a request from the computer system) points account information, the computer system displays (e.g., via a banner displayed at the top of the display) an indication that the points account information has been received via the display generation component (e.g., 702d). Providing visual feedback about the received account information indicates the status of the computer system to the user, thereby providing improved visual feedback to the user.
[0335] In some embodiments, based on determining that the transaction request is a request for points account information (e.g., a user of the computer system has selected an option to request points account information from a user device, such as in a retail application) and that the user device has provided (e.g., in response to a request from the computer system) the points account information, the computer system forgoes displaying an indication that the points account information has been received.
[0336] In some embodiments, based on determining that the transaction request is a request for non-points account information (e.g., the user of the computer system has selected an option to request account information other than points information from the user device, such as in a retail application) and the user device has provided (e.g., in response to a request from the computer system) both points account information and non-points account information (e.g., payment information), the computer system displays (e.g., via a banner displayed at the top of the display) an indication that the points account information has been received (e.g., 702d) via the display generation component. Providing visual feedback about the received account information indicates the status of the computer system to the user, thereby providing improved visual feedback to the user.
[0337] In some embodiments, based on determining that the transaction request is a request for points account information (e.g., a user of the computer system has an option to select to request points account information from a user device, such as in a retail application) and the user device provides (e.g., in response to a request from the computer system) non-points account information (e.g., payment information), the computer system displays an error indication (e.g., based on an error state) via a display generation component without transmitting one or more (e.g., all or less than all) account details of the non-points account information (e.g., account information, such as an account number, an account expiration date, and / or a name associated with the account) to a retailer application of the computer system (e.g., an application that initiated the request, a second application, and / or a first-party application that is not the computer system). Providing visual feedback about the error encountered indicates to the user the state of the computer system, thereby providing improved visual feedback to the user.
[0338] In some embodiments, based on determining that the transaction request is a request for points account information (e.g., a user of the computer system has selected an option to request points account information from a user device, such as in a retail application) and that the user device has provided (e.g., in response to a request from the computer system) both points account information and non-point account information (e.g., payment information), the computer system forgoes displaying an indication that the points account information was received via the display generation component (e.g., via a banner displayed at the top of the display). Providing visual feedback about the received account information indicates to the user the status of the computer system, thereby providing improved visual feedback to the user.
[0339] In some embodiments, detecting user input for initiating a transaction request via one or more input devices includes detecting (e.g., via a touch-sensitive surface) activation (e.g., 701c) of a displayed request-transaction graphical user interface element (e.g., 701a) (e.g., a tap at a location corresponding to the displayed request-transaction graphical user interface element).
[0340] In some embodiments, in response to detecting user input (e.g., 701c) to initiate a transaction request, the computer system displays a request-transaction user interface (e.g., 702) of a first application (e.g., a payment application), and a request-transaction graphical user interface element (e.g., 701a) is displayed as part of a user interface (e.g., 701) of a second application (e.g., a payment processor application and / or a retailer application) that is distinct from the first application. Using separate applications to initiate transaction requests and execute transactions increases security by relying on secure and / or known applications (e.g., applications that are part of the computer system's operating system) to execute portions of the technology that require a higher level of security.
[0341] In some embodiments, the computer system detects (e.g., while displaying a transaction user interface having one or more elements in a second orientation) account details (e.g., received from a user device via a short-range communication radio component (e.g., NFC and / or UWB) or via a camera of the computer system). In some embodiments, the computer system performs an operation using some (e.g., all, but not all) of the account details without attempting to transfer funds (e.g., without processing a payment).
[0342] In some embodiments, the operation is a transaction lookup operation that uses some of the account details to identify (and optionally display) previously performed transactions.
[0343] In some embodiments, the operation is a configuration operation that uses some of the account details to configure the account on a computer system (e.g., storing details about the account at the computer system so that the computer system can subsequently perform a transaction (e.g., transmitting payment account information to a device such as a contactless payment terminal)).
[0344] In some embodiments, the operation adds the amount (and / or the purchased goods or services) to a bill (e.g., a bill associated with (e.g., using) some identification in the account details) Figure 7O ) (e.g., the total amount of expenses accrued by an individual or group before final settlement, such as a bar bill).
[0345] In some embodiments, the operation includes verifying account ownership based on account details.In some embodiments, the operation is an operation other than performing a funds transfer.
[0346] Note that the above description is different from the description of method 900 (e.g., Figure 9 ) also apply similarly to the methods described below / above. For example, method 1200 optionally includes one or more of the features of the various methods described above with reference to method 900. For example, method 1200 may request information for configuring an account, as discussed above with reference to method 800. As another example, method 1500 optionally includes one or more of the features of the various methods described above with reference to method 900. For example, method 1500 may receive gift card information through the process discussed above with reference to method 900. As another example, method 1800 optionally includes one or more of the features of the various methods described above with reference to method 900. For example, method 1800 may receive a payment account as discussed above with reference to method 900. For the sake of brevity, these details are not repeated below. As another example, method 900 optionally includes one or more of the various methods described above with reference to method 2000. For example, computer system 1900 optionally requires input of a numerical sequence in response to receiving a request for a transaction corresponding to a first amount, as described in method 2000. For another example, method 900 optionally includes one or more of the various methods described below with reference to method 2010. For example, computer system 1900 optionally locks in response to receiving a request corresponding to a transaction, as described in method 2010. For another example, method 900 optionally includes one or more of the various methods described below with reference to method 2300. For example, computer system 1900 optionally displays a number of user interface elements of a first type in response to receiving a request corresponding to a transaction, as described in method 2300.
[0347] FIG. 10A to FIG. 10BIllustrated are example user interfaces for configuring an SSH account on a computer system according to some embodiments. The user interfaces in these figures are used to illustrate the process described above, including Figure 12 in the process.
[0348] exist Figure 10A In FIG. 1 , after the computer system 1000 has completed an update (e.g., an update of the operating system of the computer system 1000), the computer system 1000 displays a user interface 1001 for logging into the computer system 1000, wherein the computer system 1000 has at least one SSH key. The computer system 1000 receives credentials (e.g., login and / or password), such as Figure 10A In response to detecting user input 1050a (e.g., a tap, swipe, and / or other gesture) on the login user interface element 1001a, the computer system 1000 confirms whether the received credentials are valid, and if the credentials are valid, the computer system 1000 initiates the process of configuring the SSH account on the computer system and displays the user interface 1002, as shown. Figure 10B As shown in . Figure 10B , a user interface 1002 is displayed on the computer system 1000 , the user interface including a banner 1002 a indicating that an SSH account associated with the user has been automatically established on the computer system 1000 . Figure 10B Also included is a computer system 1015 that is displaying a notification 1015a indicating that a user's account has been automatically established on the computer system 1015 .
[0349] Figures 11A to 11E Illustrated are exemplary user interfaces for configuring an account on an electronic device according to some embodiments. The user interfaces in these figures are used to illustrate the process described below, including Figure 12 in the process.
[0350] exist Figure 11A In FIG. 1 , after the computer system 1100 has completed an update (e.g., an update of the operating system of the computer system 1100), the computer system 1100 displays a user interface 1101 for logging into a user account of the computer system 1100. The computer system 1100 receives the credentials (e.g., login and / or password) of the user account, such as Figure 11A In response to detecting user input 1101b (e.g., a tap, swipe, and / or other gesture) on the login user interface element 1101a, the computer system 1100 confirms whether the received credentials are valid, and if the credentials are valid, the computer system 1100 displays a user interface 1102, such as Figure 11B As shown in .
[0351] After detecting that a user has successfully logged into computer system 1100 after computer system 1100 has completed an update (e.g., a software update and / or an update to the operating system of computer system 1100) (e.g., in response thereto), computer system 1100 determines whether a set of configuration criteria are met. In some embodiments, the set of configuration criteria is met when all criteria in the set of configuration criteria are met. In some embodiments, the set of configuration criteria includes criteria that are met when an account (e.g., a payment account, a stored value account, a points account, and / or an identity account) associated with a user account (e.g., corresponding to a login / password) exceeds a threshold amount (e.g., exceeds 0, exceeds 100) or includes a balance (e.g., includes some funds). In some embodiments, the set of configuration criteria includes criteria that are met when an account associated with a user account has not previously been removed from computer system 1100. For example, if an account was previously configured on computer system 1100 and then removed (e.g., was not configured on computer system 1100 when the update was initiated at computer system 1100), the account will not be automatically configured on computer system 1100 because the user has indicated that they do not want the account configured on computer system 1100.
[0352] When the set of configuration criteria is met (e.g., the account has a balance), computer system 1100 configures the account associated with the user account onto computer system 1100 so that the account can be used in conjunction with computer system 1100. For example, computer system 1100 can automatically configure a payment account associated with the user account based on the set of configuration criteria being met, so that the user can utilize the payment account (e.g., make an NFC payment and / or transmit payment account information) shortly after the update without having to manually configure the payment account (e.g., without providing details specific to the payment account and / or without entering the payment account number). In some embodiments, in response to detecting that the user has successfully logged into computer system 1100 and based on determining that the set of configuration criteria is met, computer system 1100 continues to configure the account onto computer system 1100 without requiring and / or receiving further user input. In some embodiments, the set of configuration criteria includes an update criterion that is met when the computer system's software (e.g., the operating system and / or wallet application) has been upgraded. When the set of configuration criteria is not met, the computer system forgoes automatically configuring the account onto computer system 1100.
[0353] exist Figure 11B, user interface 1102 is displayed to provide a user with a notification that an account (e.g., a payment account) has been automatically configured on computer system 1100. User interface 1102 includes a virtual card 1102a indicating the account configured on computer system 1100 and text 1102b indicating to the user that the account was successfully configured.
[0354] In some embodiments, the user may have another computer system (e.g., a phone, watch, tablet, or computer) that is associated with (e.g., paired and / or in a special pairing relationship with) the computer system 1100. Thus, when the set of configuration criteria is met, the account associated with the user account is also automatically configured on the secondary computer system (e.g., once the set of configuration criteria is met (and therefore the account will be configured on the computer system 1100), the computer system 1100 initiates the process of configuring the same account on the secondary computer system). In some embodiments, based on determining that the set of configuration criteria is met and that the associated external computer system has also been recently updated, the computer system 1100 initiates the process of configuring the account on the secondary computer system. In some embodiments, based on determining that the set of configuration criteria is met (or not met) and that the associated external computer system has not been recently updated, the computer system 1100 forgoes initiating the process of configuring the account on the secondary computer system. Figure 11B , a secondary computer system 1110 associated with computer system 1100 is also illustrated. Computer system 1110 is displaying user interface 1110a, which provides a notification to the user that an account associated with the user account has been automatically configured on computer system 1110. In some embodiments, when the set of configuration criteria is met, computer system 1110 initiates account configuration on computer system 1100. In some embodiments, configuring the account on the respective computer system includes storing information about the account (e.g., a primary account number, an account number, an expiration date, and / or the name of a user associated with the account) in a secure element of the respective computer system. The respective computer system then (e.g., in response to authentication / authorization) releases (e.g., via a short-range communication radio component, via NFC, and / or via UWB transmission) account details (e.g., payment account details, points account details) of the account participating in the transaction (e.g., a payment transaction or a points transaction).
[0355] exist Figure 11CIn FIG, a user interface 1103 is displayed on the computer system 1100, the user interface including a banner 1103a indicating that an account associated with the user has been configured on the computer system 1100. The banner 1103a is displayed on the main user interface and includes the text "Account configuration card added to account" for notifying the user that his account has been automatically configured on the computer system 1100. By providing the banner 1103a instead of the above-mentioned Figure 11B As discussed, user interface 1102 allows the user to view and access other applications on the device while also being informed of the configuration of their account. For example, when the user accesses computer systems 1100 and / or 1110, the configuration process is initiated and performed in the background. Once the configuration process is complete on the respective computer systems, the respective computer systems provide notifications (e.g., 1103, 1115a) indicating that the account has been configured on the respective computer systems. Thus, the respective computer systems can be used for other purposes while the configuration process is ongoing and the user is notified of the completion of the configuration process.
[0356] Figure 11C Also included is a computer system 1115 that is displaying a notification 1115a indicating that the user's account has been automatically configured to the computer system 1115. The user can clear the notification 1115a by providing a touch input (e.g., a tap) on a button labeled Clear or by providing a downward or upward swipe to display other notifications provided by the computer system 1115.
[0357] Figures 11D to 11E An exemplary user interface is illustrated for a technique in which accounts associated with a user account are configured on a computer system 1100 based on a request to add funds to an account associated with the user account. Figure 11D , computer system 1100 displays a user interface 1104 for adding funds to an account associated with the user account (e.g., in response to a user input requesting display of a user interface for adding funds). In some embodiments, after computer system 1100 completes the update, the account associated with the user account was not previously automatically configured on computer system 1100 (e.g., because the account did not have a balance / funds at that time). Therefore, computer system 1100 receives a request to add funds to an account associated with the user account via user input 1104b on user interface element 1104a (e.g., a tap and / or selection of the user interface element) using user interface 1104 (e.g., of a payment application).
[0358] In response to detecting user input 1104b, computer system 1100 adds funds to an account associated with the user account and displays user interface 1105, such as Figure 11E. The user interface 1105 provides the user with information about the account, such as the available funds on the account. In response to detecting the user input 1104b, the computer system 1100 determines whether a second set of configuration criteria is met (e.g., the account associated with the user account has not been previously deconfigured from the computer system 1100, and / or the account has not yet been configured on the computer system 1100). Based on determining that the second set of configuration criteria is met, the computer system 1100 automatically configures the account on the computer system 1100 (or initiates a configuration process) so that the user can utilize the account by using the computer system 1100 (e.g., via payment and / or points transactions; using NFC and / or UWB). After automatic configuration (or initiating a configuration process), based on determining that the account associated with the user account has been configured on the computer system 1100, the computer system 1100 displays a banner 1105a indicating that the account associated with the user has been configured on the computer system 1100, as shown. Figure 11E . Based on determining that the account associated with the user account has not (e.g., not yet) been configured on the computer system 1100, the computer system 1100 forgoes displaying the banner 1105a. Thus, in response to the user adding funds to the account associated with the user account, the account is configured on the computer system 1100, thereby enabling easy use of the account on the computer system 1100.
[0359] In some embodiments, based on determining that the second set of configuration criteria is not met, computer system 1100 forgoes automatically configuring an account associated with the user account onto computer system 1100, computer system 1110, or computer system 1115 (or initiates a configuration process).
[0360] In some embodiments, after an account has been configured on computer system 1100, computer system 1110, and / or computer system 1115, an option is provided (e.g., at computer system 1100, 1110, and / or 1115) to remove the account from one or more of computer system 1100, computer system 1110, and / or computer system 1115. In response to receiving user input selecting the option to remove the account from one or more of computer system 1100, computer system 1110, and / or computer system 1115, a process of removing the account from the selected computer system is initiated.
[0361] In some embodiments, after removing an account from one or more of computer system 1100, computer system 1110, and / or computer system 1115, a setup user interface is displayed and user input for configuring an account on one or more of computer system 1100, computer system 1110, and / or computer system 1115 is received. In response to receiving user input for configuring an account associated with a user, a process for configuring the account on the selected computer system is initiated. Thus, computer system 1100 (and optionally, computer systems 1110, 1115) enables a user to manually remove an account (and other payment accounts, points accounts, and / or transaction accounts) and / or add the account to computer system 1100 (and optionally, 1110 and 1115).
[0362] In some embodiments, the account associated with the user account is a stored value account to which funds can be transferred and from which funds can be used to make payments. In some embodiments, gift cards can be redeemed to add funds to the account. In some embodiments, a visual representation of the account (e.g., Figure 11B 1102a) is based on the most recently redeemed gift card and is displayed on one or more of computer system 1100, computer system 1110, and / or computer system 1115. For example, the visual representation of the account may include an image, background color, and / or other visual elements based on the image, background color, and / or other visual elements of the redeemed gift card.
[0363] Figure 12 1 is a flowchart illustrating a method for configuring an account on a computer system according to some embodiments. Method 1200 is performed at a computer system (e.g., 100, 300, 500, 700, 1100, 1400, 1700) (e.g., a smartwatch, a wearable electronic device, a smart phone, a desktop computer, a laptop computer, or a tablet computer) (e.g., which communicates with a display generation component (e.g., a display controller and / or a touch-sensitive display system) and one or more input devices (e.g., a button, a rotatable input mechanism, a speaker, a camera, a motion detector (e.g., an accelerometer and / or a gyroscope) and / or a touch-sensitive surface). Some operations in method 1200 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0364] As described below, method 1200 provides an intuitive way to configure accounts on a computer system. This method reduces the cognitive burden on users when configuring accounts on a computer system, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to configure accounts on a computer system more quickly and efficiently saves power and increases the time between battery charges.
[0365] In response to detecting (1202) a login to a user account after a software update (e.g., an update to an operating system, an update to a payment application) Figure 11A In some embodiments, the computer system (e.g., 1100) (e.g., a smartwatch, wearable electronic device, smartphone, desktop computer, laptop computer, or tablet computer) initiates (1204) a process of configuring the account on the computer system (e.g., assigning the account to the computer system, making the account available for use by the computer system) based on determining that a first set of configuration criteria is satisfied, including the first configuration criteria being satisfied when an account associated with the user account (e.g., a payment account, a memory storage account) exceeds a threshold amount (e.g., a balance exceeding zero, a balance exceeding one hundred, a balance exceeding one thousand). In some embodiments, when the detected login of the user account is not after a software update (e.g., not the first login of the user account on the computer system after the software update), the computer system forgoes initiating the process of configuring the account on the computer system (e.g., even if the first set of configuration criteria is satisfied). Automatically initiating the process of configuring the account on the computer system after a software update when the first set of configuration criteria is satisfied reduces the need for the user to provide input to configure the account, thereby reducing the amount of input required to perform the operation and performing the operation without further user input when a set of conditions have been met.
[0366] In response to detecting (1202) a login to the user account after the software update and based on determining that a first set of configuration criteria is not met (e.g., the account associated with the user account does not exceed a threshold amount), the computer system forgoes (1206) initiating a process to configure the account on the computer system. In some embodiments, the login to the user account after the software update is the first login to the user account since the software update was installed.
[0367] In some embodiments, in response to detecting a login to a user account after a software update (e.g., as in Figure 11AIn some embodiments, the computer system automatically initiates the process of configuring the account on the external device (e.g., 1110) (e.g., a smartwatch or laptop computer) based on determining that the first set of configuration criteria are met (e.g., assigning the account to the external device, making the account available for use by the external device). In some embodiments, the set of configuration criteria includes pairing criteria that are met when the computer system is paired with the external device (and optionally, communicating with the external device). In some embodiments, the same user account is logged into both the computer system and the external device. Automatically initiating the process of configuring the account on the user's external device after a software update when the first set of configuration criteria are met reduces the need for the user to provide input for configuring the account, thereby reducing the number of inputs required to perform the operation and performing the operation without further user input when a set of conditions have been met.
[0368] In some embodiments, the first set of configuration criteria includes a second criterion that is met when an account associated with the user account (e.g., a payment account, a memory storage account) has not been previously removed from the computer system. In some embodiments, before the software is updated and when the account associated with the user account is configured on the computer system, the computer system receives user input for removing (cancelling) the account associated with the user account from the computer system. In response to receiving user input for removing the account associated with the user account from the computer system, the computer system removes (cancelling) the account associated with the user account from the computer system. Subsequently, even in response to detecting a login to the user account after the software update, the computer system will not automatically configure the account associated with the user account to the computer system. Abandoning the process of automatically initiating the configuration of the account to the computer system when the user has previously removed the account prevents the account from being configured on the computer system when the user has made an intentional input for removing the account from the computer system, thereby reducing the need (and input) for the user to remove the account from the computer system again.
[0369] In some embodiments, after (e.g., in response to) configuring an account on a computer system (e.g., assigning an account to the computer system, making the account available for use by the computer system), the computer system provides a notification (e.g., 1102a, 1103a) that the account has been configured on the computer system (e.g., 1100) (e.g., displaying a visual notification via a display generating component, providing an audio notification via a speaker of the computer system, and / or providing a tactile notification via a tactile output). Providing notification that the account has been configured provides feedback to the user about the status of the computer system.
[0370] In some embodiments, the computer system receives (e.g., after a software update, before a software update) user input authorizing the addition of funds to an account associated with the user account (e.g., 1104b). In some embodiments, in response to receiving the user input authorizing the addition of funds to an account associated with the user account and based on determining that a second set of configuration criteria are met, including criteria that are met when the account associated with the user account is not already configured on the computer system, the computer system configures the account on the computer system. In some embodiments, when the account associated with the user account is already configured on the computer system, the second set of configuration criteria are not met, and the computer system abandons configuring the account on the computer system. Automatically initiating the process of configuring the account on the computer system when the second set of configuration criteria is met (e.g., whether or not after a software update) reduces the need for the user to provide input for configuring the account, thereby reducing the amount of input required to perform the operation and performing the operation without requiring further user input when a set of conditions have been met.
[0371] In some embodiments, the second set of configuration criteria includes criteria that are met when an account associated with the user account (e.g., a payment account, a memory storage account) has not been previously removed from the computer system. In some embodiments, when an account associated with the user account is configured on the computer system, the computer system receives user input for removing (cancelling) the account associated with the user account from the computer system. In response to receiving user input for removing the account associated with the user account from the computer system, the computer system removes (cancelling) the account associated with the user account from the computer system. Subsequently, even in response to detecting user input authorizing the addition of funds to the account associated with the user account, the computer system will not automatically configure the account associated with the user account to the computer system. Abandoning the process of automatically initiating the configuration of the account to the computer system when the user has previously removed the account prevents the account from being configured on the computer system when the user has made an intentional input for removing the account from the computer system, thereby reducing the need (and input) for the user to remove the account from the computer system again.
[0372] In some embodiments, after configuring an account associated with a user account on a computer system (e.g., automatically configured in response to receiving user input authorizing the addition of funds to an account associated with the user account, and / or automatically configured in response to detecting a login to a user account after a software update), the computer system provides (e.g., displayed via a display generating component) an option to remove the account from the computer system. In some embodiments, the computer system receives (e.g., when providing the option to remove the account from the computer system) user input selecting the option to remove the account from the computer system. In some embodiments, in response to receiving the user input selecting the option to remove the account from the computer system, the computer system initiates a process to remove (de-configure) the account from the computer system. Enabling a user to manually initiate the process of removing an account from the computer system allows the computer system to free up memory, thereby improving the performance of the computer system.
[0373] In some embodiments, after removing the account from the computer system, the computer system displays a setup user interface. In some embodiments, while displaying the setup user interface, the computer system receives user input for configuring an account associated with the user account on the computer system. In some embodiments, in response to receiving the user input for configuring an account associated with the user account on the computer system, a process for configuring the account on the computer system is initiated. Enabling a user to manually initiate the process for configuring the account on the computer system allows the computer system to use the account in future transactions, thereby increasing the capabilities of the computer system.
[0374] In some embodiments, the computer system displays (e.g., as part of the computer system's electronic wallet and / or after the account is configured on the computer system) a visual representation of the account associated with the user account (e.g., as shown in Figure 11EIn some embodiments, the computer system receives user input for accessing an electronic wallet of the computer system. The electronic wallet includes a visual representation of the newly configured account. In some embodiments, the visual representation of the newly configured account includes an image, logo, visual style, and / or background color based on (e.g., matching) a recently redeemed gift account (e.g., a "Jane Appleseed" card in a gift account), wherein the visual representation includes a graphical visual element (e.g., an image, logo, and / or background color) based on a recently redeemed gift account (e.g., a redeemed gift card and / or a value redeemed from the gift account). In some embodiments, the graphical visual element is not an indication of an amount or a fund. In some embodiments, the computer system receives user input for accessing an electronic wallet of the computer system. The electronic wallet includes a visual representation of the newly configured account. In some embodiments, the visual representation of the newly configured account includes an image, logo, visual style, and / or background color based on (e.g., matching) a recently redeemed gift account (e.g., the same image, logo, style, and / or background color as the recently redeemed gift account). Displaying a visual representation of the account (e.g., based on a recently redeemed gift card) provides the user with visual feedback about the account, such as what its most recent funding source was, thereby providing improved visual feedback to the user.
[0375] Note that the above reference method 1200 (e.g., Figure 12 ) also apply in a similar manner to the methods described below / above. For example, method 1500 optionally includes one or more of the features of the various methods described above with reference to method 1200. For example, method 1500 can automatically configure a gift card through the process discussed above with reference to method 1200. As another example, method 1800 optionally includes one or more of the features of the various methods described above with reference to method 1200. For example, method 1800 can configure a payment account as discussed above with reference to method 1200. For the sake of brevity, these details are not repeated below. As another example, method 1500 optionally includes one or more of the various methods described below with reference to method 2000. For example, computer system 1900 optionally requires entry of a numeric sequence in response to detecting a login to a user account, as described in method 1500. As another example, method 1500 optionally includes one or more of the various methods described below with reference to method 2010. For example, computer system 1900 optionally locks in response to detecting a login to a user account, as described in method 2010. As another example, method 1500 optionally includes one or more of the various methods described below with reference to method 2300. For example, computer system 1900 optionally displays a number of user interface elements of a first type in response to detecting a login to a user account, as described in method 2300.
[0376] 13A to 13B Illustrated are exemplary user interfaces for adding data from a data plan to an account according to some embodiments. The user interfaces in these figures are used to illustrate the process described above, including Figure 15 in the process.
[0377] exist Figure 13A , computer system 1300 displays camera user interface 1301. One or more cameras of computer system 1300 have been pointed at data plan card 1302 (physical data plan card) such that data card 1302 is in the field of view of the one or more cameras and is displayed in camera user interface 1301. In response to detecting the QR code of data card 1302, computer system 1300 displays a balance element 1301a that is overlaid on camera user interface 1301. Computer system 1300 detects user input 1350a corresponding to a request to transfer the data plan balance to the balance of the user account. Figure 13B In FIG, computer system 1300 displays user interface 1303. User interface 1303 includes data plan summary 1303a and data plan summary 1303b. In some embodiments, computer system 1300 detects user input 1350c (e.g., a tap or a tap and hold) on single and recurring transaction button 1303d, indicating that the user wants to add data card balance to their account for both single downloads (e.g., downloading an application and / or accessing a website) and recurring downloads (e.g., updating an application and / or updating an email inbox). In response to receiving user input 1350c on single and recurring download button 1303d, the data plan card balance is identified as available for both single and recurring downloads and is optionally (e.g., in the absence of further user input or based on additional user input) added to the user's data balance and available for any download, including single or recurring downloads. In some embodiments, computer system 1300 detects user input 1350b on single download button 1303c. In response to receiving user input 1350b on the single download button 1303c, the data plan card balance is identified as available for a single download (and not available for recurring downloads) and, optionally (e.g., without receiving further user input, or based on additional user input), is added to the user's data balance and made available for a single download.
[0378] 14A to 14F Illustrated is a method for adding funds from a gift card to an account (e.g., an account associated with a user account, such as with respect to a Figures 11A to 11E The user interfaces in these figures are used to illustrate the processes described below, including Figure 15 in the process.
[0379] Figure 14AA computer system 1400 is included that displays a camera user interface 1401. One or more cameras of the computer system 1400 are pointed at a gift card 1402 (physical gift card) such that the gift card 1402 is in the field of view of the one or more cameras. Thus, an image 1401c of the gift card 1402 is being captured by the one or more cameras of the computer system 1400 and is being displayed in the camera user interface 1401 (e.g., in the viewfinder of a camera application). In response to detecting the QR code of the gift card 1402, the computer system 1400 displays a balance element 1401a overlaid on the camera user interface 1401 and optionally overlaid on the image 1401c of the gift card. In some embodiments, the balance element 1401a is displayed adjacent to the QR code 1401d. In some embodiments, when the gift card 1402 and the computer system 1400 move relative to each other, causing the image 1401c of the gift card 1402 to also move on the display, the computer system 1400 updates the display position of the balance element 1401a so that the balance element 1401a remains displayed adjacent to the QR code 1401d, thereby informing the user that the information displayed as part of the balance element 1401a corresponds to information collected based on the QR code. The balance element 1401a shows the balance of the gift card 1402 and / or the balance of an account associated with the user's account (e.g., a payment account). The balance element 1401a provides the user with information for deciding whether to add the gift card balance to the balance of their account. When the user decides to add the gift card balance to their account, the user provides input 1401b (e.g., taps or taps and holds) on the balance element 1401a displayed in the camera user interface 1401.
[0380] In response to receiving user input 1401b, the computer system 1400 displays Figure 14B 1403 for adding a gift card balance. User interface 1403 provides the user with different options for adding a gift card balance to their account, including a first option for adding the gift card balance for use in a single transaction (e.g., because the user wants to ensure that their gift card balance is used for the one-time purchase they selected as a gift) and a second option for adding the gift card balance for use in both single and recurring transactions (e.g., because the user prefers to make all their purchases with the balance from the gift card). The second option allows the user to specify whether the added balance can be used for recurring (e.g., monthly or weekly) transactions (such as streaming, gaming, or music services) and single transactions (e.g., purchasing a single game or movie) or only for a single transaction.
[0381] User interface 1403 includes a card representation 1403a, a balance element 1403b, a single transaction button 1403c, and a single and recurring transaction button 1403d. Card representation 1403a includes a picture or graphical representation of gift card 1402 retrieved based on a QR code scanned using camera user interface 1401. Balance element 1403b includes the same information as provided in camera user interface 1401, optionally including the balance of the gift card to be added and the current balance of an account associated with the user (e.g., a payment account) to which the balance of the gift card will be added.
[0382] In some embodiments, the computer system 1400 receives user input 1403e (e.g., a tap or tap and hold) on the single transaction button 1403c indicating that the user wants to add the gift card balance to their account for use in a single transaction. In response to receiving user input 1403e on the single transaction button 1403c, the gift card balance is identified as being reserved for use in a single transaction and not for use in recurring transactions, and is optionally (e.g., in the absence of further user input, or based on additional user input) added to the user's account balance (while being reserved for use in a single transaction and not for use in recurring transactions). Thus, the fifty-dollar gift card balance added to the user's account will not be used for the next recurring transaction or other recurring transactions that draw funds from the user's account.
[0383] After (e.g., in response to) adding the gift card balance for use in a single transaction, the computer system 1400 displays the following: Figure 14C Confirmation interface 1404 is shown in FIG. Confirmation 1404a provides text to the user indicating that the gift card balance has been added for use in a single transaction.
[0384] Return to Figure 14B In some embodiments, the computer system 1400 receives user input 1403f (e.g., a tap or a tap and hold) on the single and recurring transaction button 1403d indicating that the user wants to add the gift card balance to their account for use in both single and recurring transactions. In response to receiving the user input 1403f on the single and recurring transaction button 1403d, the gift card balance is identified as available for both single and recurring transactions and is optionally (e.g., in the absence of further user input, or based on additional user input) added to the user's account balance and available for use in any transaction, including single or recurring transactions. Thus, when the next request to pull funds from the user's account is received, the fifty-dollar gift card balance added to the user's account can be called upon, regardless of the type of transaction (e.g., recurring transaction or not recurring transaction).
[0385] After (e.g., in response to) adding the gift card balance for use in single and recurring transactions, the computer system 1400 displays the following: Figure 14D Confirmation interface 1405 is shown in FIG. Confirmation 1405a provides text to the user indicating that the gift card balance has been added for both single and recurring transactions (in other words, recurring and non-recurring transactions).
[0386] In some embodiments, the computer system 1400 receives an instant message (e.g., a text message, an SMS message, and / or an MMS message) from another user who sends a gift card (or gift amount) to the user of the computer system 1400. In response to receiving the instant message, the computer system 1400 displays a notification 1406a corresponding to the instant message received from the other user, as shown in FIG. Figure 14E , the instant message includes a gift card (or gift amount) with an optional indication of the value of the amount (e.g., fifty dollars). In some embodiments, the computer system 1400 receives user input 1406b (e.g., tap, tap and hold) on the notification 1406a corresponding to the instant message.
[0387] After detecting (e.g., in response to) user input 1406b on notification 1406a (e.g., when computer system 1400 is in an unlocked state), computer system 1400 displays user interface 1403 for adding the gift card balance to the user account, such as Figure 14F As shown in the above Figure 14B As discussed, user interface 1403 provides the user with options on how to add a gift card balance, including a first option for adding a balance for use in a single transaction (but not for recurring transactions) and a second option for adding a balance for use in both a single transaction and a recurring transaction.
[0388] In some embodiments, after a gift card balance is added to a user account, a first authorization request is made to the user account for payment for a single (non-recurring) transaction, and in response, the gift card funds are available for transactions, regardless of whether the gift card funds were added with the first option (single transaction) or the second option (single and recurring transaction). In some embodiments, after a gift card balance is added to a user account, a second authorization request is made to the user account for payment for a recurring transaction (e.g., a monthly music subscription payment, a monthly gym membership payment, an annual video streaming service payment), and in response, if the gift card funds were added with the second option (single and recurring transaction), the gift card funds are available for transactions, but if the gift card funds were added with the first option (single transaction), the gift card funds are not available for transactions, although other funds in the account are available (e.g., funds previously added that are not limited to use for a single transaction). Thus, a user can specify whether funds added to an account should be reserved for use in a single transaction, or whether funds added to an account should be used for both recurring and non-recurring transactions.
[0389] Figure 15 1500 is a flowchart illustrating a method for adding funds from a gift card to an account according to some embodiments. Method 1500 is performed at a computer system (e.g., 100, 300, 500, 700, 1100, 1400, 1700) that communicates with a display generation component (e.g., a display controller and / or a touch-sensitive display system) and one or more input devices (e.g., a button, a rotatable input mechanism, a speaker, a camera, a motion detector (e.g., an accelerometer and / or a gyroscope), and / or a touch-sensitive surface). Some operations in method 1500 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0390] As described below, method 1500 provides an intuitive way to associate a transfer amount with an account. This method reduces the cognitive burden on a user when adding funds from, for example, a gift card to an account, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to add funds from gift cards to accounts more quickly and efficiently saves power and increases the time between battery charges.
[0391] A computer system (e.g., 1400) (e.g., a smartwatch, wearable electronic device, smart phone, desktop computer, laptop, or tablet) receives a request (e.g., 1401b) to associate a transfer amount (e.g., allocated memory, data, balance, and / or funds) with an account (e.g., a user account and / or a payment account) (e.g., a request for memory allocation or a request for payment).
[0392] The computer system displays (e.g., in response to receiving a request) a first user interface element (e.g., 1403d) associated with a recurring transaction (e.g., a subscription payment plan) and a single transaction (e.g., a one-time transaction) and a second user interface element (e.g., 1403c) associated with a single transaction but not associated with a recurring transaction.
[0393] In response to receiving user input (e.g., tapping on the first user interface element or the second user interface element, tapping on the first user interface element or the second user interface element and tapping another enable representation (e.g., forward, next)) and based on determining that the user input (e.g., 1403f) corresponds to selection of the first user interface element (e.g., 1403d), the computer system configures a transfer amount (e.g., assigns a transfer amount and / or sets a transfer amount for use) for use in recurring transactions and single transactions.
[0394] In response to receiving the user input and based on determining that the user input (e.g., 1403e) corresponds to selection of a second user interface element (e.g., 1403c), the computer system...
Claims
1. A computer system configured to communicate with a display generation component and one or more input devices, the computer system comprising: 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: detecting user input for initiating a transaction request via one or more input devices; In response to detecting the user input initiating the transaction request, displaying a transaction user interface via the display generation component, wherein displaying the transaction user interface comprises: displaying, via the display generating component, a first graphical user interface element indicating a location of a reader of the computer system at a first location, and displaying, via the display generation component, a second graphical user interface element at a second position different from the first position, wherein the second graphical user interface element is displayed in a first orientation; detecting movement of the computer system while the transaction user interface is displayed; and In response to detecting the movement of the computer system, rotating the second graphical user interface element about the center of mass of the second graphical user interface element to a second orientation different from the first orientation, while continuing to display the first graphical user interface element indicating the position of the reader of the computer system at the first position.
2. The computer system of claim 1, wherein the one or more programs further comprise instructions for: prior to detecting the movement of the computer system, displaying, via the display generation component, a third graphical user interface element in the first orientation; and In response to detecting the movement of the computer system, the third graphical user interface element is rotated about a center of mass of the third graphical user interface element to the second orientation.
3. The computer system of claim 1, wherein the one or more programs further comprise instructions for: detecting an error state while displaying the second graphical user interface element in the second orientation; as well as In response to detecting the error condition: displaying, via the display generating component, an indication of the error state in a third orientation in response to determining that the error state is a first type of error; as well as Based on determining that the error condition is a second type of error, an indication of the error condition is displayed via the display generation component in a fourth orientation different from the third orientation. The computer system of claim 3 , wherein the error condition is a timeout. The computer system of claim 3 , wherein the third orientation is different from the second orientation.
6. The computer system of claim 3, wherein the second GUI element of the transaction user interface is oriented based on a location of the computer system to increase recognizability of the second GUI element to an intended user of the computer system.
7. The computer system of claim 1, wherein detecting user input for initiating the transaction request comprises detecting activation of a displayed request-transaction graphical user interface element.
8. The computer system of claim 7, wherein the transaction user interface is a user interface of a first application and the request-transaction graphical user interface element is displayed as part of a user interface of a second application different from the first application.
9. The computer system of claim 1, wherein the transaction request comprises a payment request, a points request, and / or a request to identify a previous transaction.
10. The computer system of claim 1, wherein the transaction user interface identifies a type of transaction.
11. The computer system of claim 1 , wherein the one or more programs further comprise instructions for: detecting account details via a short range communication radio component while displaying the transaction user interface; and In response to detecting the account details and based on determining that the account details are valid, one or more of the account details are communicated to a retailer application of the computer system.
12. The computer system of claim 11, wherein the one or more programs further comprise instructions for: In response to detecting the account details and based on determining that the account details are not valid, an indication of an error is displayed via the display generating component.
13. The computer system of claim 11, wherein detecting the account details comprises reading the account details from a physical card.
14. The computer system of claim 11, wherein detecting the account details comprises reading the account details from an external computer system.
15. The computer system of claim 11, wherein the one or more programs further comprise instructions for: After one or more of the account details are communicated to the retailer application of the computer system, a transaction is processed.
16. The computer system of claim 1, wherein the one or more programs further comprise instructions for: receiving input while the second graphical user interface element of the transaction user interface is displayed in the second orientation; and In response to receiving the input, the second graphical user interface element of the transaction user interface is rotated to the first orientation.
17. The computer system of claim 16, wherein receiving the input comprises detecting movement of the computer system.
18. The computer system of claim 16, wherein receiving the input comprises detecting activation of a displayed graphical user interface element.
19. The computer system of claim 1, wherein the one or more programs further comprise instructions for: detecting incomplete account details during a timeout period when the second graphical user interface element of the transaction user interface is displayed in the second orientation; and In response to detecting the incomplete account details during the timeout period, the timeout period is extended and an indication of the completion of the transaction is displayed via the display generating component.
20. The computer system of claim 1, wherein the one or more programs further comprise instructions for: Check account details; based on determining that the transaction has been processed, providing a first audio output indicating a successful transaction; as well as Based on determining that an error is detected, a second audio output different from the first audio output is provided that is indicative of the error.
21. The computer system of claim 1, wherein the transaction request is a request to configure an account on the computer system, the one or more programs further comprising instructions for: detecting account details via a short range communication radio; and After detecting the account details, an account is configured on the computer system using some of the account details.
22. The computer system of claim 1, wherein the one or more programs further comprise instructions for: Check account details; and Operations are performed using some of the account details without attempting to transfer funds.
23. A computer system according to claim 22, wherein the operation is a transaction lookup operation that uses some of the account details to identify a previously performed transaction.
24. The computer system of claim 22, wherein the operation adds an amount to a bill associated with some of the account details.
25. The computer system of claim 1, wherein the first graphical user interface element indicating the position of the reader comprises displayed particles having visual characteristics based on an orientation and / or speed of movement of the computer system.
26. The computer system of claim 25, wherein the first graphical user interface element indicating the position of the reader comprises a displayed particle, and wherein the displayed particle has a first visual characteristic after the user input for initiating the transaction request is detected and before the computer system is ready to receive account details.
27. A computer system according to claim 26, wherein after the computer system is ready to receive account details and before receiving the account details, the displayed particles have a second visual characteristic different from the first visual characteristic.
28. The computer system of claim 27, wherein the one or more programs further comprise instructions for: Based on determining that an error state is detected, the particles are displayed via the display generation component with a third visual characteristic different from the first visual characteristic and the second visual characteristic.
29. The computer system of claim 28, wherein the one or more programs further comprise instructions for: Based on determining that the account details are successfully detected, the particles having a fourth visual characteristic different from the first visual characteristic, the second visual characteristic, and the third visual characteristic are displayed via the display generation component.
30. A method comprising: At a computer system in communication with a display generating component and one or more input devices: detecting user input for initiating a transaction request via one or more input devices; In response to detecting the user input initiating the transaction request, displaying a transaction user interface via the display generation component, wherein displaying the transaction user interface comprises: displaying, via the display generating component, a first graphical user interface element indicating a location of a reader of the computer system at a first location, and displaying, via the display generation component, a second graphical user interface element at a second position different from the first position, wherein the second graphical user interface element is displayed in a first orientation; detecting movement of the computer system while the transaction user interface is displayed; and In response to detecting the movement of the computer system, rotating the second graphical user interface element about the center of mass of the second graphical user interface element to a second orientation different from the first orientation, while continuing to display the first graphical user interface element indicating the position of the reader of the computer system at the first position.
31. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: detecting user input for initiating a transaction request via one or more input devices; In response to detecting the user input initiating the transaction request, displaying a transaction user interface via the display generation component, wherein displaying the transaction user interface comprises: displaying, via the display generating component, a first graphical user interface element indicating a location of a reader of the computer system at a first location, and displaying, via the display generation component, a second graphical user interface element at a second position different from the first position, wherein the second graphical user interface element is displayed in a first orientation; detecting movement of the computer system while the transaction user interface is displayed; and In response to detecting the movement of the computer system, rotating the second graphical user interface element about the center of mass of the second graphical user interface element to a second orientation different from the first orientation, while continuing to display the first graphical user interface element indicating the position of the reader of the computer system at the first position.
Citation Information
Patent Citations
Method and apparatus for integrating manual input
US20020015024A1
Gestures for touch sensitive input devices
US20060026521A1
Gestures for touch sensitive input devices
US20060026536A1
Virtual input device placement on a touch screen user interface
US20060033724A1
Multipoint touchscreen
US20060097991A1