DEVICE, METHODS, AND GRAPHICAL USER INTERFACES FOR PROVIDING FEEDBACK DURING INTERACTION WITH INTENSITY SENSITIVE BUTTONS - Patent application
Patent Information
- Application Number
- JP2024000292
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2016-09-22
- Filing Date
- 2024-01-04
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2037-08-24
Smart Images

Figure 0007631567000004 
Figure 0007631567000005 
Figure 0007631567000006
Abstract
Description
[Technical Field]
[0001] The present invention relates generally to electronic devices having a display and an intensity-sensitive button, including but not limited to electronic devices having a display and an intensity-sensitive home button. [Background technology]
[0002] Many electronic devices with displays include mechanical buttons, such as a mechanical home button, to navigate between different user interfaces displayed on the electronic device. However, mechanical buttons provide little, if any, feedback to the user beyond a fixed down click and a fixed up click. Summary of the Invention
[0003] Therefore, there is a need for an electronic device with improved methods and interfaces for providing visual, tactile, and / or audio feedback during button interaction, thereby enabling a more efficient and intuitive user interface operation. Such methods and interfaces can optionally complement or replace conventional methods of providing feedback during button interaction. Such methods and interfaces reduce the number, extent, and / or type of inputs from the user by helping the user understand the connection between the input provided and the device response to that input, thereby creating a more efficient human-machine interface.
[0004] The above-mentioned drawbacks and other problems associated with user interfaces for electronic devices having buttons are reduced or eliminated by the disclosed device, which includes one or more intensity-sensitive buttons. In some embodiments, the device is a desktop computer. In some embodiments, the device is portable (e.g., a notebook computer, a tablet computer, or a handheld device). In some embodiments, the device is a personal electronic device (e.g., a wearable electronic device such as a watch). In some embodiments, the device has a touchpad. In some embodiments, the device has a touch-sensitive display (also known as a "touchscreen" or "touchscreen display"). In some embodiments, the device has a graphical user interface (GUI), one or more processors, memory, and one or more modules, programs, or instruction sets stored in the memory for performing a number of functions. In some embodiments, a user interacts with the GUI primarily through stylus and / or finger contacts and gestures on the touch-sensitive surface. In some embodiments, the functionality optionally includes image editing, drawing, presenting, word processing, spreadsheet creation, game playing, making phone calls, video conferencing, emailing, instant messaging, training support, digital photography, digital videography, web browsing, digital music playback, note taking, and / or digital video playback, and executable instructions to perform those functionality are optionally contained on a non-transitory computer-readable storage medium or other computer program product configured to be executed by one or more processors.
[0005] In some embodiments, a method is performed on an electronic device having a display, a touch-sensitive surface, and one or more sensors for detecting an intensity of contact with a home button of the electronic device. The method includes displaying a first user interface on the display and detecting an input indicated on the first user interface while displaying the first user interface. The method includes ceasing display of the first user interface and displaying a second user interface separate from the first user interface in response to detecting the input indicated on the first user interface. The method includes detecting a contact on the home button while displaying the second user interface. The method includes detecting an input sequence while continuously detecting a contact on the home button, including: (i) detecting an increase in a characteristic intensity of the contact above a first intensity threshold; (ii) indicating the start of a transition from the second user interface back to the first user interface in response to detecting the increase in the characteristic intensity of the contact relative to the first intensity threshold; and (iii) detecting a press input including an increase in the characteristic intensity of the contact above the first intensity threshold while indicating the start of the transition from the second user interface back to the first user interface. In response to detecting the input sequence, the method includes: (i) pursuant to a determination that the input sequence satisfies a first criterion (e.g., a first criterion requiring that a characteristic intensity of the contact increase above a second intensity threshold before an end of the press input is detected), (A) ceasing display of the second user interface and (B) re-displaying the first user interface on the display; and (ii) pursuant to a determination that the input sequence satisfies a second criterion (e.g., a second criterion requiring that a characteristic intensity of the contact remain below a second intensity threshold before an end of the press input is detected), (A) reversing initiation of a transition from the second user interface back to the first user interface and (B) re-displaying the second user interface on the display.
[0006] According to some embodiments, an electronic device includes a display unit configured to display a user interface, a touch-sensitive surface unit for receiving a contact, one or more sensor units for detecting a contact intensity with a home button of the device, and a processing unit coupled to the display unit, the touch-sensitive surface unit, and the one or more sensor units. The processing unit displays a first user interface on the display, detects an input indicated on the first user interface while displaying the first user interface, and in response to detecting the input indicated on the first user interface, (i) stops displaying the first user interface, (ii) displays a second user interface separate from the first user interface, detects a contact on the home button while displaying the second user interface, and while continuously detecting the contact on the home button, (i) detects an increase in a characteristic intensity of the contact above a first intensity threshold, (ii) in response to detecting the increase in the characteristic intensity of the contact relative to the first intensity threshold, indicates an initiation of a transition from the second user interface back to the first user interface, and (iii) indicates an initiation of a transition from the second user interface back to the first user interface. and detecting an input sequence, including detecting a press input including an increase in the characteristic intensity of the contact above a first intensity threshold while the touch input is in progress, and responsive to detecting the input sequence, (i) in accordance with a determination that the input sequence satisfies a first criterion requiring the characteristic intensity of the contact to increase above a second intensity threshold before an end of the press input is detected, (A) ceasing to display the second user interface and (B) re-displaying the first user interface on the display; and (ii) in accordance with a determination that the input sequence satisfies a second criterion requiring, for example, the characteristic intensity of the contact to remain below the second intensity threshold before an end of the press input is detected, (A) reversing initiation of a transition from the second user interface back to the first user interface and (B) re-displaying the second user interface on the display.
[0007] According to some embodiments, a method is performed on an electronic device having a display and a touch-sensitive surface. The method includes displaying a first user interface and, while displaying the first user interface, detecting a first input (e.g., a first input corresponding to a request to display a second user interface and a request to display a third user interface). The method includes, in response to detecting the first input, initiating display of a first animated transition from the first user interface to the second user interface. The method includes detecting a second input while the first animated transition is being displayed. In response to detecting the second input, the method includes: (i) in accordance with a determination that the second input corresponds to a request to display a third user interface and the second input was received at a first time, (A) interrupting a first animation transition from the first user interface to the second user interface at a first point in the first animation transition and (B) displaying a second animation transition from the first point in the first animation transition to the third user interface; and (ii) in accordance with a determination that the second input corresponds to a request to display the third user interface and the second input was received at a second time after the first time, (A) interrupting the first animation transition from the first user interface to the second user interface at a second point in the first animation transition after the first point in the first animation transition and (B) displaying a third animation transition from the second point in the first animation transition to the third user interface, the third animation transition being different from the second animation transition.
[0008] According to some embodiments, an electronic device includes a display unit configured to display user interfaces and a touch-sensitive surface unit configured to receive contacts, and a processing unit coupled to the display unit and the touch-sensitive surface unit. The processing unit displays a first user interface, detects a first input while displaying the first user interface, the first input matching a request to display a second user interface and a request to display a third user interface, initiates display of a first animated transition from the first user interface to the second user interface in response to detecting the first input, detects a second input while displaying the first animated transition, and in response to detecting the second input, (i) transitions the first animated transition from the first user interface to the second user interface at a first point in the first animated transition in response to determining that the second input matches a request to display the third user interface and that the second input was received at a first time. (A) interrupting the first animated transition from the first user interface to the second user interface at a second point in the first animated transition after the first point in the first animated transition; and (B) displaying a second animated transition from a first point in the first animated transition to a third user interface; and (ii) pursuant to a determination that the second input matches a request to display the third user interface and the second input is received at a second time after the first time, (A) interrupting the first animated transition from the first user interface to the second user interface at a second point in the first animated transition after the first point in the first animated transition; and (B) displaying a third animated transition from the second point in the first animated transition to the third user interface, the third animated transition being different from the second animated transition.
[0009] According to some embodiments, a method is performed on an electronic device having a display, a touch-sensitive surface, and one or more tactile output generators that generate tactile outputs. The method includes displaying a home button configuration user interface on the display, the home button configuration user interface including displaying a plurality of different tactile output settings for a home button, the home button being usable on the device in a plurality of different contexts to dismiss a currently displayed user interface in response to detecting a first type of input on the home button. The method includes detecting a selection of a respective tactile output setting for the home button of the plurality of different tactile output settings while displaying the home button configuration user interface. The method includes detecting a first input of the first type on the home button while the respective tactile output setting for the home button is selected. The method includes, in response to detecting a first input of a first type on the home button, (i) providing, via the one or more tactile output generators, a first tactile output corresponding to the first tactile output setting for the home button without discarding the home button configuration user interface in accordance with a determination that the respective tactile output setting is a first tactile output setting for the home button, and (ii) providing, via the one or more tactile output generators, a second tactile output corresponding to the second tactile output setting for the home button without discarding the home button configuration user interface in accordance with a determination that the respective tactile output setting is a second tactile output setting for the home button that is different from the first tactile output setting.
[0010] According to some embodiments, an electronic device includes a display unit configured to display a user interface, a touch-sensitive surface unit to accept touches, one or more tactile output generators to generate tactile outputs, and a processing unit coupled to the display unit, the touch-sensitive surface unit, and the one or more tactile output generators. The processing unit causes a home button configuration user interface to be displayed on the display, the home button being usable on the device in a plurality of different contexts, to discard a currently displayed user interface in response to detecting a first type of input on the home button, detects selection of a respective tactile output setting for the home button of the plurality of different tactile output settings while displaying the home button configuration user interface, detects a first input of the first type on the home button while the respective tactile output setting for the home button is selected, and In response to detecting a first input of the type, (i) in accordance with a determination that the respective tactile output setting is a first tactile output setting for the home button, provide, via the one or more tactile output generators, a first tactile output corresponding to the first tactile output setting for the home button without discarding the home button configuration user interface, and (ii) in accordance with a determination that the respective tactile output setting is a second tactile output setting for the home button that is different from the first tactile output setting, provide, via the one or more tactile output generators, a second tactile output corresponding to the second tactile output setting for the home button without discarding the home button configuration user interface.
[0011] According to some embodiments, a method is performed on an electronic device having a display, a touch-sensitive surface, and one or more tactile output generators that generate tactile outputs. The method includes displaying a first user interface on the display, wherein a home button is usable on the device in a plurality of different contexts to dismiss the currently displayed user interface in response to detecting a first type of input on the home button. The method includes detecting a first input of the first type indicated on the first user interface while displaying the first user interface. In response to detecting the first input of the first type indicated on the first user interface, the method includes: (i) performing a first operation via the one or more tactile output generators and providing a first tactile output corresponding to the first operation in response to determining that the user interface tactile output is enabled on the electronic device, and (ii) ceasing to perform the first operation and providing at least a portion of the first tactile output corresponding to the first operation in response to determining that the user interface tactile output is disabled. The method includes detecting a second input of the first type on the home button after performing the first operation. In response to detecting a second input of the first type on the home button, (i) perform a second operation associated with the home button, and (ii) provide a tactile output associated with activation of the home button via one or more tactile output generators, regardless of whether tactile output of the user interface is enabled on the device.
[0012] According to some embodiments, an electronic device includes a display unit configured to display a user interface, a touch-sensitive surface unit to accept contacts, one or more tactile output generators to generate tactile outputs, and a processing unit coupled to the display unit, the touch-sensitive surface unit, and the one or more tactile output generators, wherein the processing unit displays a first user interface on the display, a home button is usable on the device in a plurality of different contexts to discard a currently displayed user interface in response to detecting a first input of a first type on the home button, detects a first input of the first type indicated on the first user interface while displaying the first user interface, and in response to detecting the first input of the first type indicated on the first user interface, (i) performs a first operation in accordance with determining that a user interface tactile output has been activated at the electronic device, and generates one or more tactile outputs. (ii) in accordance with determining that the user interface tactile output is disabled, perform the first operation and cease providing at least a portion of the first tactile output corresponding to the first operation; after performing the first operation, detect a second input of the first type on the home button; and in response to detecting the second input of the first type on the home button, (i) perform a second operation associated with the home button; and (ii) provide a tactile output associated with activation of the home button via the one or more tactile output generators, regardless of whether the user interface tactile output is enabled on the device.
[0013] According to some embodiments, a method is performed on an electronic device having a display, a touch-sensitive surface, one or more tactile output generators that generate tactile outputs, and one or more sensors for detecting an intensity of a contact with a home button of the device. The method includes displaying a user interface on the display, and, while displaying the user interface, detecting an input sequence on the home button, including detecting a first press input on the home button. Detecting the first press input includes detecting an increase in a characteristic intensity of the contact on the home button. In response to detecting the first press input on the home button, (i) pursuant to a determination that the first press input includes an increase in the characteristic intensity of the contact above a first intensity threshold, and that a change in the characteristic intensity of the contact proximate to a time at which the characteristic intensity of the contact increases above the first intensity threshold, the method (A) performs a first operation that modifies the user interface displayed on the display, (B) generates, via the one or more tactile output generators, a first discrete tactile output corresponding to the increase in the characteristic intensity of the contact above the first intensity threshold, and (ii) generates a second discrete tactile output corresponding to the increase in the characteristic intensity of the contact above the first intensity threshold. In accordance with a determination that the pressure input includes an increase in the characteristic intensity of the contact above a first intensity threshold, and that the change in the characteristic intensity of the contact proximate to the time at which the characteristic intensity of the contact increases above the first intensity threshold has a second value of the intensity change metric that is different from the first value of the intensity change metric, (A) performing a first operation that modifies a user interface displayed on the display; and (B) generating, via one or more tactile output generators, a second discrete tactile output that corresponds to the increase in the characteristic intensity of the contact above the first intensity threshold and that is different from the first discrete tactile output.
[0014] According to some embodiments, an electronic device includes a display unit configured to display a user interface, a touch-sensitive surface unit for receiving contacts, one or more tactile output generators that generate tactile outputs, one or more sensor units for detecting an intensity of a contact with a home button of the device, and a processing unit coupled to the display unit, the touch-sensitive surface unit, the one or more tactile output generators, and the one or more sensor units. The processing unit displays the user interface on the display, and while displaying the user interface, detects an input sequence on the home button including detecting a first pressing input on the home button, where detecting a first pressing input includes detecting an increase in a characteristic intensity of the contact on the home button, and detecting the first pressing input includes detecting an increase in the characteristic intensity of the contact on the home button, and in response to detecting the first pressing input on the home button, (A) generates a user interface for display on the display in accordance with a determination that the first pressing input includes an increase in the characteristic intensity of the contact above a first intensity threshold and that a change in the characteristic intensity of the contact proximate to a time at which the characteristic intensity of the contact increases above the first intensity threshold has a first value of an intensity-change metric. (A) perform a first operation to modify a user interface displayed on a display; and (B) generate, via the one or more tactile output generators, a first discrete tactile output corresponding to an increase in the characteristic intensity of the contact above a first intensity threshold; and (ii) pursuant to a determination that the first pressing input includes an increase in the characteristic intensity of the contact above the first intensity threshold, and the change in the characteristic intensity of the contact proximate to the time at which the characteristic intensity of the contact increases above the first intensity threshold, has a second value of the intensity-change metric that is different from the first value of the intensity-change metric.
[0015] According to some embodiments, a method is performed on an electronic device having a display, a touch-sensitive surface, one or more tactile output generators that generate tactile outputs, and one or more sensors for detecting an intensity of a contact with a home button of the device. The method includes displaying a first user interface. While displaying the first user interface, the method detects (i) a first press input on the home button and (ii) a second press input on the home button detected after the first press input. In response to detecting the first press input and before detecting the second press input, the method provides a first non-visual output having a first non-visual output profile. The first non-visual output provides feedback indicating that the first press input has been detected and that the first non-visual output includes a tactile output provided by the one or more tactile output generators. The method, in response to detecting an input sequence including a first press input and a second press input on the home button, (i) in response to determining that the first press input and the second press input are separate inputs based on an amount of time between a first time point corresponding to the first press input and a second time point corresponding to the second press input, (A) performing a first action associated with the first press input; and (B) providing a second non-visual output having a first non-visual output profile, the second non-visual output indicating that the second press input was detected and that the second non-visual output includes a tactile output provided by one or more tactile output generators. and (ii) in accordance with determining, based on the amount of time between the first time point and the second time point, that the first pressure input and the second pressure input are part of an input pattern, (A) performing a second action associated with the input pattern, the second action being different from the first action; and (B) providing a third non-visual output having a second non-visual output profile distinct from the first non-visual output profile, wherein the third non-visual output provides feedback indicating that the second pressure input has been detected and the third non-visual output includes a tactile output provided by the one or more tactile output generators.
[0016] According to some embodiments, an electronic device includes a display unit configured to display a user interface, a touch-sensitive surface unit for accepting contacts, one or more tactile output generation units for generating tactile outputs, one or more sensor units for detecting contact intensity with a home button of the device, and a processing unit coupled to the display unit, the touch-sensitive surface unit, the one or more tactile output generators, and the one or more sensor units.The processing unit displays a first user interface, and while displaying the first user interface, detects (i) a first pressing input on the home button and (ii) a second pressing input on the home button detected after the first pressing input, and in response to detecting the first pressing input and prior to detecting the second pressing input, provides a first non-visual output having a first non-visual output profile, the first non-visual output providing feedback indicating that the first pressing input has been detected and that the first non-visual output includes a tactile output provided by the one or more tactile output generators, and in response to detecting an input sequence including the first pressing input and the second pressing input on the home button, (i) in accordance with a determination that the first pressing input and the second pressing input are separate inputs based on an amount of time between a first time point corresponding to the first pressing input and a second time point corresponding to the second pressing input, (A) (A) perform a first action associated with the pressure input; (B) provide a second non-visual output having a first non-visual output profile, wherein the second non-visual output provides feedback indicating that the second pressure input has been detected and that the second non-visual output includes a tactile output provided by the one or more tactile output generators; and (ii) pursuant to a determination that the first pressure input and the second pressure input are part of an input pattern based on the amount of time between the first time point and the second time point, (A) perform a second action associated with the input pattern, the second action being different from the first action; and (B) provide a third non-visual output having a second non-visual output profile distinct from the first non-visual output profile, wherein the third non-visual output provides feedback indicating that the second pressure input has been detected and that the third non-visual output includes a tactile output provided by the one or more tactile output generators.
[0017] According to some embodiments, a method is performed on an electronic device having a display, a touch-sensitive surface, one or more tactile output generators that generate tactile outputs, and one or more sensors for detecting intensity of contact with respective buttons of the device. The method includes detecting input on the respective buttons, wherein the one or more tactile output generators are used to generate a tactile output indicating that the respective buttons have been activated instead of a mechanical switch that detects activation of the respective buttons when the respective buttons are mechanically depressed. The method includes, in response to detecting an input on a respective button, (i) in accordance with a determination that the input satisfies activation criteria, including a requirement that the input include an intensity above a respective intensity threshold to satisfy the activation criteria, (A) providing a first tactile output having a first tactile output pattern including vibration of 0.5 to 4 cycles of the one or more tactile output generators relative to one or more corresponding neutral positions of the one or more tactile output generators, wherein the vibration of the one or more tactile output generators occurs at a frequency of 80 Hz to 400 Hz; and (ii) in accordance with a determination that the input does not satisfy the activation criteria, ceasing to provide the first tactile output.
[0018] According to some embodiments, an electronic device includes a display unit configured to display a user interface, a touch-sensitive surface unit for accepting contacts, one or more tactile output generation units for generating tactile outputs, one or more sensor units for detecting contact intensity with a home button of the device, and a processing unit coupled to the display unit, the touch-sensitive surface unit, the one or more tactile output generators, and the one or more sensor units. The processing unit is configured to detect input on each button, and the one or more tactile output generators are used to generate a tactile output indicating that each button has been activated, instead of a mechanical switch that detects activation of each button when the button is mechanically depressed. In response to detecting a respective button input, (i) provide a first tactile output having a first tactile output pattern including vibrations of 0.5 to 4 cycles of the one or more tactile output generators relative to one or more corresponding neutral positions of the one or more tactile output generators, the vibrations of the one or more tactile output generators occurring at a frequency of 80 Hz to 400 Hz, in accordance with a determination that the input meets the activation criteria, the activation criteria including a requirement that the input include an intensity above a respective intensity threshold to meet the activation criteria, and (ii) cease providing the first tactile output in accordance with a determination that the input does not meet the activation criteria.
[0019] According to some embodiments, an electronic device includes a display, a touch-sensitive surface, optionally one or more sensors that detect the intensity of contact with the touch-sensitive surface, an intensity-sensitive button (e.g., a virtual or physical home button), one or more processors, a memory, and one or more programs, the one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions that perform or cause the performance of any of the operations of the methods described herein. According to some embodiments, a computer-readable storage medium has instructions stored therein that, when executed by an electronic device comprising a display, a touch-sensitive surface, an intensity-sensitive button (e.g., a virtual or physical button), and optionally one or more sensors that detect the intensity of contact with the touch-sensitive surface, cause the device to perform or result in the performance of any of the operations of the methods described herein. According to some embodiments, a graphical user interface on an electronic device having a display, a touch-sensitive surface, optionally one or more sensors that detect the intensity of contact with the touch-sensitive surface, an intensity-sensitive button (e.g., a virtual or physical home button), memory, and one or more processors executing one or more programs stored in the memory includes one or more of the elements displayed in any of the methods described herein, and the elements are updated in response to input as described in any of the methods described herein. According to some embodiments, the electronic device includes a display, a touch-sensitive surface, an intensity-sensitive button (e.g., a virtual or physical home button), optionally one or more sensors that detect the intensity of contact with the touch-sensitive surface, and means for performing or causing to be performed any of the operations of the methods described herein. According to some embodiments, an information processing apparatus for use in an electronic device having a display, a touch-sensitive surface, an intensity-sensitive button (e.g., a virtual or physical home button), and optionally one or more sensors that detect the intensity of contact with the touch-sensitive surface includes means for performing or causing to be performed any of the operations of the methods described herein.
[0020] Thus, an electronic device having a display, a touch-sensitive surface, one or more sensors that detect the intensity of contact with a button on the device (e.g., a virtual or physical home button), optionally one or more sensors that detect the intensity of contact with the touch-sensitive surface, one or more tactile output generators, optionally one or more device orientation sensors, and optionally an audio system, comprises improved methods and interfaces for providing feedback to a user during interaction with the buttons, thereby increasing the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces can complement or replace conventional methods of providing tactile feedback to a user.
[0021] For a better understanding of the various embodiments described, reference should be made to the following detailed description in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout the drawings, in which: [Brief explanation of the drawings]
[0022] [Figure 1A] 1 is a block diagram illustrating a portable multifunction device having a touch-sensitive display in accordance with some embodiments. [Figure 1B] FIG. 1 is a block diagram illustrating exemplary components for event handling according to some embodiments. [Figure 1C] FIG. 10 is a block diagram illustrating a tactile output module according to some embodiments. [Figure 2A] 1 illustrates a portable multifunction device with a touch screen in accordance with some embodiments. [Figure 2B] FIG. 1 is an exploded view of a force sensing input device according to some embodiments. [Figure 2C] FIG. 1 is an exploded view of a force sensing input device according to some embodiments. [Figure 3] 1 is a block diagram of an exemplary multifunction device having a display and a touch-sensitive surface in accordance with some embodiments. FIG. [Figure 4A]1 illustrates an exemplary user interface for a menu of applications on a portable multifunction device in accordance with some embodiments. [Figure 4B] 1 illustrates an exemplary user interface for a multifunction device having a touch-sensitive surface separate from a display in accordance with some embodiments. [Figure 4C] FIG. 10 illustrates an example of a dynamic intensity threshold, according to some embodiments. [Figure 4D] FIG. 10 illustrates an example of a dynamic intensity threshold, according to some embodiments. [Figure 4E] FIG. 10 illustrates an example of a dynamic intensity threshold, according to some embodiments. [Figure 4F1] FIG. 10 illustrates a set of sample tactile output patterns, according to some embodiments. [Figure 4F2] FIG. 10 illustrates a set of sample tactile output patterns, according to some embodiments. [Figure 4F3] FIG. 10 illustrates a set of sample tactile output patterns, according to some embodiments. [Figure 4F4] FIG. 10 illustrates a set of sample tactile output patterns, according to some embodiments. [Figure 4G1] FIG. 10 illustrates a set of sample tactile output patterns, according to some embodiments. [Figure 4G2] FIG. 10 illustrates a set of sample tactile output patterns, according to some embodiments. [Figure 4G3] FIG. 10 illustrates a set of sample tactile output patterns, according to some embodiments. [Figure 4G4] FIG. 10 illustrates a set of sample tactile output patterns, according to some embodiments. [Figure 4H] FIG. 10 illustrates an exemplary haptic audio output pattern versus time used in conjunction with a tactile output to simulate a button click, according to some embodiments. [Figure 4I] FIG. 10 illustrates an exemplary haptic audio output pattern versus time used in conjunction with a tactile output to simulate a button click, according to some embodiments. [Figure 4J] FIG. 10 illustrates an exemplary haptic audio output pattern versus time used in conjunction with a tactile output to simulate a button click, according to some embodiments. [Figure 4K] FIG. 10 illustrates an exemplary combination of tactile output patterns and haptic audio output patterns versus time, according to some embodiments. [Figure 4L] FIG. 4K is an enlarged view for clarity of the combination shown in FIG. 4K. [Figure 4M] FIG. 4K is an enlarged view for clarity of the combination shown in FIG. 4K. [Figure 4N] FIG. 4K is an enlarged view for clarity of the combination shown in FIG. 4K. [Figure 4O] FIG. 4K is an enlarged view for clarity of the combination shown in FIG. 4K. [Figure 4P] FIG. 4K is an enlarged view for clarity of the combination shown in FIG. 4K. [Figure 4Q] FIG. 4K is an enlarged view for clarity of the combination shown in FIG. 4K. [Figure 5A1] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A2] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A3] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A4] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A5] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A6]FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A7] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A8] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A9] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A10] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A11] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A12] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A13] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A14] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A15] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A16]FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A17] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5A18] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B1] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B2] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B3] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B4] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B5] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B6] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B7] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B8]FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B9] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B10] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B11] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B12] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B13] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B14] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B15] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B16] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B17] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B18]FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B19] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B20] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B21] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B22] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B23] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B24] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B25] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B26] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B27] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B28]FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B29] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B30] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B31] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B32] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B33] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B34] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B35] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B36] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B37] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B38]FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B39] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B40] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B41] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B42] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B43] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B44] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B45] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B46] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B47] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B48]FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B49] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B50] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B51] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B52] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B53] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B54] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B55] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B56] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B57] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B58]FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B59] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B60] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B61] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B62] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B63] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B64] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B65] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B66] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B67] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B68]FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B69] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B70] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B71] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B72] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B73] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B74] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5B75] FIG. 10 illustrates an exemplary user interface for providing haptic and visual feedback for interacting with buttons, according to some embodiments. [Figure 5C1] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C2] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C3] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C4] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C5] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C6] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C7] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C8] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C9] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C10] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C11] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C12] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C13] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C14] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C15] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C16] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C17]FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C18] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 5C19] FIG. 10 illustrates an exemplary user interface for a home button configuration process according to some embodiments. [Figure 6A1] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A2] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A3] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A4] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A5] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A6] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A7] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A8] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A9] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A10] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A11] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A12] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A13] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A14] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A15] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A16] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A17] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A18] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A19] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A20] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A21]10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A22] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A23] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A24] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A25] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6A26] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B1] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B2] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B3] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B4] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B5] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B6]10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B7] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B8] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B9] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B10] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B11] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B12] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B13] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B14] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B15] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B16] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B17]10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B18] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B19] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B20] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B21] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B22] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B23] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B24] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B25] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 6B26] 10 illustrates an exemplary user interface for controlling user interface haptics and home button haptics according to some embodiments. [Figure 7A] FIG. 1 is a flow diagram illustrating a method for providing visual feedback regarding activation of a user input device, according to some embodiments. [Figure 7B]FIG. 1 is a flow diagram illustrating a method for providing visual feedback regarding activation of a user input device, according to some embodiments. [Figure 7C] FIG. 1 is a flow diagram illustrating a method for providing visual feedback regarding activation of a user input device, according to some embodiments. [Figure 7D] FIG. 1 is a flow diagram illustrating a method for providing visual feedback regarding activation of a user input device, according to some embodiments. [Figure 7E] FIG. 1 is a flow diagram illustrating a method for providing visual feedback regarding activation of a user input device, according to some embodiments. [Figure 7F] FIG. 1 is a flow diagram illustrating a method for providing visual feedback regarding activation of a user input device, according to some embodiments. [Figure 7G] FIG. 1 is a flow diagram illustrating a method for providing visual feedback regarding activation of a user input device, according to some embodiments. [Figure 8] FIG. 1 is a functional block diagram of an electronic device according to some embodiments. [Figure 9A] FIG. 10 is a flow diagram illustrating a method for providing visual feedback and tactile output in response to multiple types of input on a home button of a device, according to some embodiments. [Figure 9B] FIG. 10 is a flow diagram illustrating a method for providing visual feedback and tactile output in response to multiple types of input on a home button of a device, according to some embodiments. [Figure 9C] FIG. 10 is a flow diagram illustrating a method for providing visual feedback and tactile output in response to multiple types of input on a home button of a device, according to some embodiments. [Figure 9D] FIG. 10 is a flow diagram illustrating a method for providing visual feedback and tactile output in response to multiple types of input on a home button of a device, according to some embodiments. [Figure 10] FIG. 1 is a functional block diagram of an electronic device according to some embodiments. [Figure 11A]FIG. 1 is a flow diagram illustrating a method for home button configuration according to some embodiments. [Figure 11B] FIG. 1 is a flow diagram illustrating a method for home button configuration according to some embodiments. [Figure 11C] FIG. 1 is a flow diagram illustrating a method for home button configuration according to some embodiments. [Figure 11D] FIG. 1 is a flow diagram illustrating a method for home button configuration according to some embodiments. [Figure 11E] FIG. 1 is a flow diagram illustrating a method for home button configuration according to some embodiments. [Figure 12] FIG. 1 is a functional block diagram of an electronic device according to some embodiments. [Figure 13A] FIG. 10 is a flow diagram illustrating a method for controlling user interface haptics and home button haptics according to some embodiments. [Figure 13B] FIG. 10 is a flow diagram illustrating a method for controlling user interface haptics and home button haptics according to some embodiments. [Figure 13C] FIG. 10 is a flow diagram illustrating a method for controlling user interface haptics and home button haptics according to some embodiments. [Figure 13D] FIG. 10 is a flow diagram illustrating a method for controlling user interface haptics and home button haptics according to some embodiments. [Figure 14] FIG. 1 is a functional block diagram of an electronic device according to some embodiments. [Figure 15A] FIG. 10 is a flow diagram illustrating a method for generating a tactile output having different tactile output patterns depending on an input-based metric or a user-interface-based metric, according to some embodiments. [Figure 15B] FIG. 10 is a flow diagram illustrating a method for generating a tactile output having different tactile output patterns depending on an input-based metric or a user-interface-based metric, according to some embodiments. [Figure 15C]FIG. 10 is a flow diagram illustrating a method for generating a tactile output having different tactile output patterns depending on an input-based metric or a user-interface-based metric, according to some embodiments. [Figure 15D] FIG. 10 is a flow diagram illustrating a method for generating a tactile output having different tactile output patterns depending on an input-based metric or a user-interface-based metric, according to some embodiments. [Figure 15E] FIG. 10 is a flow diagram illustrating a method for generating a tactile output having different tactile output patterns depending on an input-based metric or a user-interface-based metric, according to some embodiments. [Figure 16] FIG. 1 is a functional block diagram of an electronic device according to some embodiments. [Figure 17A] FIG. 10 is a flow diagram illustrating a method of providing a tactile output for a second click of a double-click input that is different from that for a first click of the double-click input, according to some embodiments. [Figure 17B] FIG. 10 is a flow diagram illustrating a method of providing a tactile output for a second click of a double-click input that is different from that for a first click of the double-click input, according to some embodiments. [Figure 17C] FIG. 10 is a flow diagram illustrating a method of providing a tactile output for a second click of a double-click input that is different from that for a first click of the double-click input, according to some embodiments. [Figure 17D] FIG. 10 is a flow diagram illustrating a method of providing a tactile output for a second click of a double-click input that is different from that for a first click of the double-click input, according to some embodiments. [Figure 18] FIG. 1 is a functional block diagram of an electronic device according to some embodiments. [Figure 19A] FIG. 10 is a flow diagram illustrating a method for providing a discrete tactile output to indicate activation of a persistent non-mechanical button on a device, according to some embodiments. [Figure 19B]FIG. 10 is a flow diagram illustrating a method for providing a discrete tactile output to indicate activation of a persistent non-mechanical button on a device, according to some embodiments. [Figure 19C] FIG. 10 is a flow diagram illustrating a method for providing a discrete tactile output to indicate activation of a persistent non-mechanical button on a device, according to some embodiments. [Figure 20] FIG. 1 is a functional block diagram of an electronic device according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0023] Many electronic devices with displays include mechanical buttons, such as a mechanical home button, to navigate between different user interfaces displayed on the electronic device. However, mechanical buttons provide little, if any, feedback to the user beyond a fixed down-click and a fixed up-click. The methods described herein provide visual, tactile, and / or audio feedback during interaction with a button (e.g., a virtual or physical home button) that makes operation of the user interface more efficient and intuitive for the user.
[0024] The methods, devices, and GUIs described herein use feedback to improve a user's interaction with the device in multiple ways: Providing visual feedback regarding activation of a user input device (e.g., a virtual or physical home button); providing visual feedback and tactile output in response to multiple types of input on the device's home button; ● Configuring the feedback provided by the home button; Controlling the user interface haptics and the home button haptics; generating a tactile output having different tactile output patterns depending on an input-based metric or a user-interface-based metric; providing a tactile output for a second click of a double click input that is different from a tactile output for a first click of the double click input; - Providing a discrete tactile output to indicate activation of a persistent non-mechanical button on the device.
[0025] Exemplary Devices Reference will now be made in detail to the embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the various embodiments being described. However, it will be apparent to those skilled in the art that the various embodiments being described may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail as not to unnecessarily obscure aspects of the embodiments.
[0026] In this specification, terms such as "first," "second," etc. are used to describe various elements in some examples, but it will be understood that these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, a first contact can be referred to as a second contact, and similarly, a second contact can be referred to as a first contact, without departing from the scope of the various embodiments being described. Although a first contact and a second contact are both contacts, they are not the same contact unless the context clearly dictates otherwise.
[0027] The terminology used in the description of the various embodiments set forth herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description of the various embodiments set forth and in the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. As used herein, the term "and / or" should also be understood to refer to and include any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "includes," "including," "comprises," and / or "comprising," as used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0028] As used herein, the term "if" is optionally interpreted to mean "when," "upon," "in response to determining," or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if (a stated condition or event) is detected" are optionally interpreted to mean "upon determining," "in response to determining," "upon detecting (the stated condition or event)," or "in response to detecting (the stated condition or event)," depending on the context.
[0029] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described. In some embodiments, the device is a portable communication device, such as a mobile telephone, that also includes other functions, such as PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, but are not limited to, the iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, California. Other portable electronic devices, such as laptops or tablet computers having a touch-sensitive surface (e.g., a touchscreen display and / or touchpad), are optionally used. It should also be understood that in some embodiments, the device is not a portable communication device, but rather a desktop computer having a touch-sensitive surface (e.g., a touchscreen display and / or touchpad).
[0030] In the following discussion, electronic devices are described that include a display and a touch-sensitive surface. However, it should be understood that the electronic device optionally includes one or more other physical user-interface devices, such as a physical keyboard, a mouse, and / or a joystick.
[0031] The device typically supports a variety of applications such as one or more of a note-taking application, a drawing application, a presentation application, a word processing application, a website creation application, a disc authoring application, a spreadsheet application, a gaming application, a telephony application, a video conferencing application, an email application, an instant messaging application, a training support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application.
[0032] Various applications running on the device optionally use at least one common physical user-interface device, such as a touch-sensitive surface. One or more features of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and / or changed from one application to the next and / or within each application. In this way, the common physical architecture of the device (such as the touch-sensitive surface) optionally supports various applications with user interfaces that are intuitive and transparent to the user.
[0033] Attention now turns to embodiments of portable devices with touch-sensitive displays. FIG. 1A is a block diagram illustrating portable multifunction device 100 with touch-sensitive display system 112, according to some embodiments. Touch-sensitive display system 112 may conveniently be referred to as a "touch screen" or simply a touch-sensitive display. Device 100 includes memory 102 (optionally including one or more computer-readable storage media), memory controller 122, one or more processing units (CPUs) 120, peripherals interface 118, RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, input / output (I / O) subsystem 106, other input or control devices 116, and external port 124. Device 100 optionally includes one or more light sensors 164. Device 100 optionally includes one or more intensity sensors 165 for detecting the intensity of a contact on device 100 (e.g., a touch-sensitive surface, such as touch-sensitive display system 112 of device 100). Device 100 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 touchpad 355 of device 300), these components optionally communicating over one or more communication buses or signal lines 103.
[0034] As used herein and in the claims, the term “tactile output” refers to a physical displacement of a device relative to its previous position, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of gravity of the device, detected by a user with the user's sense of touch. For example, in a situation where a device or a component of the device is in contact with a touch-sensitive surface of a user (e.g., the fingers, palm, or other part of the user's hand), the tactile output produced by the physical displacement is interpreted by the user as a tactile sensation corresponding to a perceived change in a physical property of the device or a component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is optionally interpreted by the user as a “downclick” or “upclick” of a physical actuator button. In some cases, a user will feel a tactile sensation such as a “downclick” or “upclick” even when no movement of a physical actuator button associated with the touch-sensitive surface is physically pressed (e.g., displaced) by the user's movement. As another example, movement of the touch-sensitive surface is optionally interpreted or perceived by a user as "roughness" of the touch-sensitive surface, even when there is no change in the smoothness of the touch-sensitive surface. While such user interpretation of touch depends on the user's personal sensory perception, there are many sensory perceptions of touch that are common to the majority of users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., "upclick," "downclick," "roughness"), unless otherwise specified, the generated tactile output corresponds to a physical displacement of the device, or a component of the device, that produces the described sensory perception for a typical (or average) user.The use of tactile outputs to provide tactile feedback to the user enhances the usability of the device, makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors), and additionally reduces the device's power usage and improves battery life by allowing the user to use the device more quickly and efficiently.
[0035] In some embodiments, the tactile output pattern specifies characteristics of the tactile output, such as the amplitude of the tactile output, the shape of the moving waveform of the tactile output, the frequency of the tactile output, and / or the duration of the tactile output.
[0036] When tactile outputs having different tactile output patterns are generated by a device (e.g., via one or more tactile output generators that move a movable mass to generate the tactile output), the tactile outputs can cause different tactile sensations when a user holds or touches the device. While a user's sensations are based on their perception of the tactile output, most users can distinguish changes in the waveform, frequency, and amplitude generated by the device. Thus, the waveform, frequency, and amplitude can be adjusted to indicate to the user that different operations have been performed. In this manner, tactile output having a tactile output pattern designed, selected, and / or engineered to simulate the properties (e.g., size, material, weight, stiffness, smoothness, etc.), behavior (e.g., vibration, displacement, acceleration, rotation, magnification, etc.), and / or interaction (e.g., collision, adhesion, repulsion, attraction, friction, etc.) of objects in a given environment (e.g., a user interface including graphical features and objects, a simulated physical environment having virtual boundaries and virtual objects, a real physical environment having physical boundaries and physical objects, and / or any combination of the above) can provide a user with useful feedback that, in some circumstances, reduces input errors and increases efficiency in the user's operation of the device. Additionally, the tactile output is optionally generated to correspond to feedback unrelated to simulated physical properties, such as input thresholds or object selection. Such tactile output can provide a user with useful feedback that, in some circumstances, reduces input errors and increases efficiency in the user's operation of the device.
[0037] In some embodiments, a tactile output having an appropriate tactile output pattern serves as a cue to the occurrence of an event of interest later in the scene within a user interface or device. Examples of events of interest include activation of an affordance provided on the device or within the user interface (e.g., a real button, a virtual button, or a toggle switch), the success or failure of a requested action, reaching or crossing a boundary within the user interface, entering a new state, switching input focus between objects, activating a new mode, reaching or crossing an input threshold, detection or recognition of a type of input or gesture, etc. In some embodiments, a tactile output is provided to serve as a warning or alert to an impending event or outcome that will occur unless a redirection or interrupting input is detected in a timely manner. Tactile output is also used in other contexts to enhance the user experience, improve device accessibility to users with visual or motor impairments or other accessibility needs, and / or improve the efficiency and functionality of the user interface and / or device. The tactile output is optionally accompanied by an audio output and / or a visible user interface change, which further enhances the user's experience when interacting with the user interface and / or device, further facilitates conveying information about the state of the user interface and / or device, and reduces input errors and increases efficiency in the user's operation of the device.
[0038] FIG. 4F1 provides a set of sample tactile output patterns that can be used individually or in combination, either as or through one or more transformations (e.g., modulation, amplification, truncation, etc.), to generate suitable tactile feedback for a variety of scenarios and purposes, such as those described above and with respect to the user interfaces and methods referenced herein. FIGS. 4F2-4F4 are expanded views of the graph shown in FIG. 4F1. This example palette of tactile outputs illustrates how a set of three waveforms and eight frequencies can be used to generate an array of tactile output patterns. In addition to the tactile output patterns shown in this figure, each of these tactile output patterns can optionally be adjusted in amplitude by changing the gain value for the tactile output pattern, as shown, for example, by changing the gains of 1.0, 0.75, 0.5, and 0.25 for the full tap 80 Hz, full tap 200 Hz, mini tap 80 Hz, mini tap 200 Hz, micro tap 80 Hz, and micro tap 200 Hz, respectively, as shown in FIG. 4G1. 4G2-4G4 are expanded views of the graph shown in FIG. 4G1. As shown in FIG. 4G1, changing the gain of the tactile output pattern changes the amplitude of the pattern without changing the frequency of the pattern or the shape of the waveform. In some embodiments, because some tactile output generators are limited by how much force they can apply to a moving mass, changing the frequency of the tactile output pattern also results in a smaller amplitude, thereby constraining the movement of the mass at higher frequencies to smaller amplitudes to ensure that the accelerations required to create the waveform do not require forces outside the operating force range of the tactile output generator (e.g., the peak amplitudes of full taps at 230 Hz, 270 Hz, and 300 Hz are lower than the amplitudes of full taps at 80 Hz, 100 Hz, 125 Hz, and 200 Hz).
[0039] In FIG. 4F1, each column shows a tactile output pattern having a particular waveform. The waveform of the tactile output pattern represents the neutral position (e.g., x) versus the time through which the moving mass passes to generate the tactile output in that tactile output pattern. zero) represent patterns of physical displacement relative to the moving mass. For example, the first set of tactile output patterns (e.g., "full tap" tactile output patterns) shown in the left column of FIG. 4F1 each have waveforms that include two complete cycles of vibration (e.g., vibrations that start and end at a neutral position and cross the neutral position three times). The second set of tactile output patterns (e.g., "mini tap" tactile output patterns) shown in the middle column of FIG. 4F1 have waveforms that include one complete cycle of vibration (e.g., vibrations that start and end at a neutral position and cross the neutral position once). The third set of tactile output patterns (e.g., "micro tap" tactile output patterns) shown in the right column of FIG. 4F1 have waveforms that include half of one complete cycle of vibration (e.g., vibrations that start and end at a neutral position and do not cross the neutral position). The waveforms of the tactile output patterns also include start and end buffers that represent a gradual speed-up and slow-down of the moving mass at the beginning and end of the tactile output. The exemplary waveforms shown in FIGS. 4F1-4G1 are x representing the maximum and minimum limits of movement of the movable mass. max value and x min values. For larger electronic devices with larger movable masses, the minimum and maximum limits of mass movement may be larger or smaller. While the examples shown in Figures 4F1-4G1 illustrate movement of a mass in one dimension, similar principles apply to movement of a movable mass in two or three dimensions.
[0040] As shown in FIG. 4F1 , each tactile output pattern has a corresponding characteristic frequency that affects the “pitch” of the tactile sensation a user feels from a tactile output having that characteristic frequency. For continuous tactile outputs, the characteristic frequency represents the number of cycles (e.g., cycles per second) completed within a given time period by the moving mass of the tactile output generator. For discrete tactile outputs, discrete output signals (e.g., at 0.5 cycles, 1 cycle, or 2 cycles) are generated, and the characteristic frequency value specifies how fast the moving mass must move to generate a tactile output at that characteristic frequency. As shown in FIG. 4F1 , for each type of tactile output (defined by its respective waveform, such as full tap, mini tap, or micro tap), a higher frequency value corresponds to a faster movement(s) by the moving mass and therefore generally requires a shorter time to complete the tactile output (e.g., including start and end buffer times for completing the number of cycles required for the discrete tactile output). For example, a full tap with a characteristic frequency of 80 Hz takes longer to complete than a full tap with a characteristic frequency of 100 Hz (e.g., 35.4 ms vs. 28.3 ms in Figure 4F1). Furthermore, at a given frequency, tactile outputs with more cycles of that waveform at each frequency take longer to complete than tactile outputs with fewer cycles of that waveform at the same respective frequency. For example, a 150 Hz full tap takes longer to complete than a 150 Hz mini-tap (e.g., 19.4 ms vs. 12.8 ms), which in turn take longer to complete than a 150 Hz micro-tap (e.g., 12.8 ms vs. 9.4 ms). However, this regularity may not hold for tactile output patterns at different frequencies (e.g., a tactile output with more cycles but a higher frequency may take less time than a tactile output with fewer cycles but a lower frequency, and vice versa). For example, at 300 Hz, a full tap takes the same time as a mini-tap (e.g., 9.9 ms).
[0041] As shown in FIG. 4F1 , a tactile output pattern also has a characteristic amplitude that affects the amount of energy contained in the tactile signal, or the “intensity” of the tactile sensation that a user may feel through a tactile output having that characteristic amplitude. In some embodiments, the characteristic amplitude of a tactile output pattern refers to an absolute or normalized value that represents the maximum displacement of the moving mass from a neutral position when generating a tactile output. In some embodiments, the characteristic amplitude of the tactile output pattern is adjustable by a fixed or dynamically determined gain factor (e.g., a value between 0 and 1), for example, according to various conditions (e.g., customized based on the context and behavior of the user interface) and / or preconfigured metrics (e.g., input-based metrics and / or user-interface-based metrics). In some embodiments, an input-based metric (e.g., an intensity-change metric or an input-velocity metric) measures a characteristic of the input (e.g., the rate of change of the characteristic intensity of the contact in a pressure input, or the velocity of movement of the contact across the touch-sensitive surface) during the input that triggers the generation of the tactile output. In some embodiments, a user interface-based metric (e.g., a boundary crossing speed metric) measures a characteristic of a user interface element (e.g., the speed of movement of an element crossing a hidden or visible boundary in the user interface) during a user interface change that triggers the generation of a tactile output. In some embodiments, the characteristic amplitude of the tactile output pattern may be modulated by an "envelope," where peaks in adjacent cycles may have different amplitudes, one of which waveforms is further modulated by multiplying it by an envelope parameter that varies over time (e.g., from 0 to 1) to gradually adjust the amplitude of portions of the tactile output over time while the tactile output is being generated.
[0042] For illustrative purposes, specific frequencies, amplitudes, and waveforms are depicted in the sample tactile output patterns in FIG. 4F1, but tactile output patterns having other frequencies, amplitudes, and waveforms may be used for similar purposes. For example, waveforms of 0.5 to 4 cycles may be used. Other frequencies ranging from 60 Hz to 400 Hz may also be used. Table 1 provides examples of specific tactile feedback behaviors, configurations, and their uses.
[0043] [Table 1-1]
[0044] [Table 1-2]
[0045] [Table 1-3]
[0046] The examples provided in Table 1 illustrate the range of environments in which tactile outputs can be generated for different inputs and events. Table 1 should not be interpreted as a requirement that the device respond to each listed input or event with the tactile output shown. Rather, Table 1 is intended to illustrate how tactile outputs vary and / or are similar for different inputs and / or events (e.g., based on tactile output pattern, frequency, gain, etc.). For example, Table 1 illustrates how an "event success" tactile output varies from an "event failure" tactile output and how a retarget tactile output differs from an impact tactile output.
[0047] 4H-4J show exemplary haptic audio output patterns versus time used in conjunction with tactile output to simulate a button click, according to some embodiments.
[0048] Figure 4K shows an example combination of tactile output patterns and haptic audio output patterns versus time, according to some embodiments. Figures 4L-4Q may expand the combination shown in Figure 4K for clarity.
[0049] In FIG. 4H , when the rate of change of contact intensity at the control activation threshold exceeds the threshold rate of change (e.g., when the contact results in a “normal” strong / fast press), the top tactile audio pattern “Click A1 audio” is played along with the “Click A” normal mini-tap (230 Hz) to simulate the first down-click in a “normal” first click, as shown in FIG. 4K (first row of first click column) and the top of FIG. 4L . In this example, the “Click A1 audio” is offset by 2 ms from the start of the “Click A” normal mini-tap (230 Hz) tactile output. In some cases, the same “Click A1 audio” and “Click A” normal mini-tap (230 Hz) are played to simulate the first up-click following the first down-click. In some cases, the gain of the “Click A1 audio” and / or the “Click A” normal mini-tap (230 Hz) is reduced (e.g., by 50%) in the up-click relative to the preceding down-click.
[0050] When the rate of change of contact intensity at the control activation threshold falls below the threshold rate of change (e.g., when the contact is "weak" and / or slow), the top tactile audio pattern "Click A1 audio" is also played along with a "Click A" weak mini-tap (230 Hz) to simulate a first down-click in a "weak" first click, as shown in FIG. 4K (second row of the first click column) and the bottom of FIG. 4L. To simulate a "weak" down-click, the gain of the "Click A1 audio" and the "Click A" weak mini-tap (230 Hz) is reduced (e.g., by 50%) in a "weak" down-click relative to a "normal" down-click. In this example, the "Click A1 audio" is offset by 2 ms from the onset of the "Click A" weak mini-tap (230 Hz) tactile output. In some cases, the same "Click A1 audio" and "Click A" weak mini-tap (230 Hz) are played to simulate a first up-click following a first down-click. In some cases, the gain of the "Click A1 voice" and / or "Click A" weak mini-tap (230Hz) is reduced (eg, by 50%) on an up-click relative to the preceding down-click.
[0051] In FIG. 4H , when the rate of change of contact intensity at the control activation threshold exceeds the threshold rate of change (e.g., when the contact in the second click is a “normal” strong / fast press), the bottom tactile audio pattern “Click A2 audio” is played along with the “Click A” normal mini-tap (230 Hz) to simulate a second down-click in a “normal” second click following a first click within a predetermined time period (e.g., like the second click in a double-click input), as shown in FIG. 4K (first row of the “Second Click” column) and the top of FIG. 4M . In this example, the “Click A2 audio” is offset by 2 ms from the onset of the “Click A” normal mini-tap (230 Hz) tactile output. In some cases, the same “Click A2 audio” and “Click A” normal mini-tap (230 Hz) are played to simulate a second up-click following a second down-click. In some cases, the gain of the "Click A2 Audio" and / or "Click A" normal mini-tap (230Hz) is reduced (for example by 50%) on the second up-click relative to the preceding second down-click.
[0052] If the rate of change of contact intensity at the control activation threshold falls below the threshold rate of change (e.g., if the contact is "weak" and / or slow), the bottom tactile audio pattern "Click A2 audio" is also played along with the "Click A" weak mini-tap (230 Hz) to simulate a second down-click in a "weak" second click following a first click within a predetermined time period (e.g., like the second click in a double-click input), as shown in FIG. 4K (second row of the second click column) and the bottom of FIG. 4M. To simulate a "weak" down-click, the gain of the "Click A2 audio" and the "Click A" weak mini-tap (230 Hz) is reduced (e.g., by 50%) in the "weak" down-click relative to a "normal" down-click. In this example, the "Click A2 audio" is offset by 2 ms from the onset of the "Click A" weak mini-tap (230 Hz) tactile output. In some cases, the same "Click A2 sound" and "Click A" soft mini-tap (230 Hz) are played to simulate a second up-click following a second down-click. In some cases, the gain of the "Click A2 sound" and / or the "Click A" soft mini-tap (230 Hz) is reduced (e.g., by 50%) in the second up-click relative to the preceding second down-click.
[0053] In FIG. 4I , when the rate of change of contact intensity at the control activation threshold exceeds the threshold rate of change (e.g., when the contact results in a “normal” strong / fast press), the top tactile audio pattern “Click B1 audio” is played along with the “Click B” normal mini-tap (270 Hz) to simulate the first down-click in a “normal” first click, as shown in FIG. 4K (third row of the first click column) and at the top of FIG. 4N . In this example, the “Click B1 audio” is offset by 2.8 ms from the onset of the “Click B” normal mini-tap (270 Hz) tactile output. In some cases, the same “Click B1 audio” and “Click B” normal mini-tap (270 Hz) are played to simulate the first up-click following the first down-click. In some cases, the gain of the “Click B1 audio” and / or the “Click A” normal mini-tap (270 Hz) is reduced (e.g., by 50%) in the up-click relative to the preceding down-click.
[0054] When the rate of change of contact intensity at the control activation threshold falls below the threshold rate of change (e.g., when the contact is "weak" and / or slow), the top tactile audio pattern "Click B1 audio" is also played along with a "Click B" weak mini-tap (270 Hz) to simulate a first down-click in a "weak" first click, as shown in FIG. 4K (fourth row of the first click column) and the bottom of FIG. 4N. To simulate a "weak" down-click, the gain of the "Click B1 audio" and the "Click B" weak mini-tap (270 Hz) is reduced (e.g., by 50%) in a "weak" down-click relative to a "normal" down-click. In this example, the "Click B1 audio" is offset by 2.8 ms from the onset of the "Click B" weak mini-tap (270 Hz) tactile output. In some cases, the same "Click B1 audio" and "Click B" weak mini-tap (270 Hz) are played to simulate a first up-click following a first down-click. In some cases, the gain of the "Click B1 sound" and / or "Click B" weak mini-tap (230 Hz) is reduced (eg, by 50%) on an up-click relative to the preceding down-click.
[0055] In FIG. 4I, when the rate of change of contact intensity at the control activation threshold exceeds the threshold rate of change (e.g., when the contact in the second click is a "normal" strong / fast press), the bottom tactile audio pattern "Click B2 audio" is played along with the "Click B" normal mini-tap (270 Hz) to simulate a second down-click in a "normal" second click following a first click within a predetermined time period (e.g., like the second click in a double-click input), as shown in FIG. 4K (third row of the second click column) and the top of FIG. 4O. In this example, the "Click B2 audio" is offset by 2.8 ms from the onset of the "Click B" normal mini-tap (270 Hz) tactile output. In some cases, the same "Click B2 audio" and "Click B" normal mini-tap (230 Hz) are played to simulate a second up-click following a second down-click. In some cases, the gain of the "Click B2 Audio" and / or "Click B" normal mini-tap (270Hz) is reduced (for example by 50%) on the second up-click relative to the preceding second down-click.
[0056] When the rate of change of contact intensity at the control activation threshold falls below the threshold rate of change (e.g., when the contact is "weak" and / or slow), the bottom tactile audio pattern "Click B2 audio" is also played along with the "Click B" weak mini-tap (270 Hz) to simulate a second down-click in a "weak" second click following a first click within a predetermined time period (e.g., like the second click in a double-click input), as shown in FIG. 4K (fourth row of the second click column) and the bottom of FIG. 4O. To simulate a "weak" down-click, the gain of the "Click B2 audio" and the "Click B" weak mini-tap (270 Hz) is reduced (e.g., by 50%) in the "weak" down-click relative to a "normal" down-click. In this example, the "Click B2 audio" is offset by 2.8 ms from the onset of the "Click B" weak mini-tap (270 Hz) tactile output. In some cases, the same "Click B2 sound" and "Click B" soft mini-tap (270 Hz) are played to simulate a second up-click following a second down-click. In some cases, the gain of the "Click B2 sound" and / or the "Click B" soft mini-tap (270 Hz) is reduced (e.g., by 50%) in the second up-click relative to the preceding second down-click.
[0057] In FIG. 4J , when the rate of change of contact intensity at the control activation threshold exceeds the threshold rate of change (e.g., when the contact results in a “normal” strong / fast press), the top tactile audio pattern “Click C1 audio” is played along with the “Click C” normal mini-tap (300 Hz) to simulate the first down-click in a “normal” first click, as shown in FIG. 4K (first click column, fifth row) and the top of FIG. 4P . In this example, the “Click C1 audio” is offset by 1.9 ms from the onset of the “Click C” normal mini-tap (300 Hz) tactile output. In some cases, the same “Click C1 audio” and “Click C” normal mini-tap (300 Hz) are played to simulate the first up-click following the first down-click. In some cases, the gain of the “Click C1 audio” and / or the “Click C” normal mini-tap (300 Hz) is reduced (e.g., by 50%) in the up-click relative to the preceding down-click.
[0058] When the rate of change of contact intensity at the control activation threshold falls below the threshold rate of change (e.g., when the contact is "weak" and / or slow), the top tactile audio pattern "Click C1 audio" is also played along with a "Click C" weak mini-tap (300 Hz) to simulate a first down-click in a "weak" first click, as shown in FIG. 4K (row 6 of the first click column) and the bottom of FIG. 4P. To simulate a "weak" down-click, the gain of the "Click C1 audio" and the "Click C" weak mini-tap (300 Hz) is reduced (e.g., by 50%) in a "weak" down-click relative to a "normal" down-click. In this example, the "Click C1 audio" is offset by 1.9 ms from the onset of the "Click C" weak mini-tap (300 Hz) tactile output. In some cases, the same "Click C1 audio" and "Click C" weak mini-tap (270 Hz) are played to simulate a first up-click following a first down-click. In some cases, the gain of the "click C1 sound" and / or "click C" weak mini-tap (300 Hz) is reduced (eg, by 50%) on the up-click relative to the preceding down-click.
[0059] In FIG. 4J , when the rate of change of contact intensity at the control activation threshold exceeds the threshold rate of change (e.g., when the contact in the second click is a “normal” strong / fast press), the bottom tactile audio pattern “Click C2 audio” is played along with a “Click C” normal mini-tap (300 Hz) to simulate a second down-click in a “normal” second click following a first click within a predetermined time period (e.g., like the second click in a double-click input), as shown in FIG. 4K (fifth row of the second click column) and the top of FIG. 4Q . In this example, the “Click C2 audio” is offset by 1.9 ms from the onset of the “Click C” normal mini-tap (300 Hz) tactile output. In some cases, the same “Click C2 audio” and “Click C” normal mini-tap (300 Hz) are played to simulate a second up-click following a second down-click. In some cases, the gain of the "Click C2 Audio" and / or "Click C" normal mini-tap (300 Hz) is reduced (for example by 50%) on the second up-click relative to the preceding second down-click.
[0060] If the rate of change of contact intensity at the control activation threshold falls below the threshold rate of change (e.g., if the contact is "weak" and / or slow), the bottom tactile audio pattern "Click C2 audio" is also played along with the "Click C" weak mini-tap (300 Hz) to simulate a second down-click in a "weak" second click following a first click within a predetermined time period (e.g., like the second click in a double-click input), as shown in FIG. 4K (row 6 of the second click column) and the bottom of FIG. 4Q. To simulate a "weak" down-click, the gain of the "Click C2 audio" and the "Click C" weak mini-tap (300 Hz) is reduced (e.g., by 50%) in the "weak" down-click relative to a "normal" down-click. In this example, the "Click C2 audio" is offset by 1.9 ms from the onset of the "Click C" weak mini-tap (300 Hz) tactile output. In some cases, the same "Click C2 sound" and "Click C" soft mini-tap (300 Hz) are played to simulate a second up-click following a second down-click. In some cases, the gain of the "Click C2 sound" and / or the "Click C" soft mini-tap (300 Hz) is reduced (e.g., by 50%) in the second up-click relative to the preceding second down-click.
[0061] It should be understood that device 100 is only one example of a portable multifunction device, and that device 100 optionally has more or fewer components than those shown, optionally combines two or more components, or optionally has a different configuration or arrangement of components. The various components shown in FIG. 1A are implemented in hardware, software, firmware, or a combination thereof, including one or more signal processing circuits and / or application specific integrated circuits.
[0062] Memory 102 optionally includes high-speed random access memory, and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Access to memory 102 by other components of device 100, such as CPU(s) 120 and peripherals interface 118, is optionally controlled by memory controller 122.
[0063] A peripheral interface 118 may be used to couple input and output peripherals of the device with the CPU(s) 120 and memory 102. The one or more processors 120 operate or execute various software programs and / or instruction sets stored in memory 102 to perform various functions and process data for the device 100.
[0064] In some embodiments, peripheral interface 118, CPU(s) 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0065] The radio frequency (RF) circuitry 108 transmits and receives RF signals, also called electromagnetic signals. The RF circuitry 108 converts electrical signals to electromagnetic signals or electromagnetic signals to electrical signals and communicates with communication networks and other communication devices via electromagnetic signals. The RF circuitry 108 optionally includes well-known 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, etc. The RF circuitry 108 optionally communicates wirelessly with other devices and with networks, such as the Internet, also known as the World Wide Web (WWW), an intranet, and / or wireless networks, such as cellular telephone networks, wireless local area networks (LANs), and / or metropolitan area networks (MANs). The wireless communication optionally uses any of a plurality of communication standards, protocols, and technologies, including Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPA), long term evolution (LTE), near field communication (NFC), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), and the like.Standards include, but are not limited to, code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth®, Wireless Fidelity (Wi-Fi)® (e.g., IEEE 802.11a, IEEE 802.11ac, IEEE 802.11ax, IEEE 802.11b, IEEE 802.11g, and / or IEEE 802.11n), voice over Internet Protocol (VoIP), Wi-MAX, protocols for email (e.g., Internet message access protocol (IMAP) and / or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE)), instant messaging and presence services (e.g., Instant Messaging and Presence Leveraging Extensions (SIMPLE)), and protocols for voice over Internet Protocol (VoIP). 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.
[0066] Audio circuit 110, speaker 111, and microphone 113 provide an audio interface between a user and device 100. Audio circuit 110 receives audio data from peripherals interface 118, converts the audio data into electrical signals, and transmits the electrical signals to speaker 111. Speaker 111 converts the electrical signals into sound waves audible to humans. Audio circuit 110 also receives electrical signals converted from sound waves by microphone 113. Audio circuit 110 converts the electrical signals into audio data and transmits the audio data to peripherals interface 118 for processing. Audio data is optionally retrieved from and / or transmitted to memory 102 and / or RF circuit 108 by peripherals interface 118. In some embodiments, audio circuit 110 also includes a headset jack (e.g., 212 in FIG. 2 ). The headset jack provides an interface between audio circuitry 110 and a removable audio input / output peripheral, such as an output-only headphone or a headset with both an output (e.g., a headphone for one or both ears) and an input (e.g., a microphone).
[0067] I / O subsystem 106 couples input / output peripherals on device 100, such as touch-sensitive display system 112 and other input or control devices 116, with peripheral interface 118. I / O subsystem 106 optionally includes one or more input controllers 160 for display controller 156, light sensor controller 158, intensity sensor controller 159, haptic feedback controller 161, and other input or control devices. One or more input controllers 160 receive electrical signals from and send electrical signals to other input or control devices 116. Other input or control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, etc. In some alternative embodiments, input controller(s) 160 are optionally coupled to any (or none) of a keyboard, infrared port, USB port, stylus, and / or pointer device such as a mouse. One or more buttons (e.g., 208, FIG. 2A) optionally include up / down buttons for volume control of speaker 111 and / or microphone 113. One or more buttons optionally include a push button (e.g., 206, FIG. 2A).
[0068] Touch-sensitive display system 112 provides an input and output interface between the device and a user. Display controller 156 receives electrical signals from and / or sends electrical signals to touch-sensitive display system 112. Touch-sensitive display system 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output corresponds to user interface objects. As used herein, the term "affordance" refers to a user-interactive graphical user interface object (e.g., a graphical user interface object configured to respond to input directed towards the graphical user interface object). Examples of user-interactive graphical user interface objects include, but are not limited to, a button, a slider, an icon, a selectable menu item, a switch, a hyperlink, or other user interface control.
[0069] Touch-sensitive display system 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from a user based on haptic and / or tactile contact. Touch-sensitive display system 112 and display controller 156 (along with any associated modules and / or instruction sets in memory 102) detect contacts (and any movement or disruption of contact) on touch-sensitive display system 112 and translate the detected contacts into interactions with user interface objects (e.g., one or more soft keys, icons, web pages, or images) displayed on touch-sensitive display system 112. In one example embodiment, the point of contact between touch-sensitive display system 112 and the user corresponds to the user's finger or stylus.
[0070] Touch-sensitive display system 112 optionally uses liquid crystal display (LCD), light emitting polymer display (LPD), or light emitting diode (LED) technology, although other display technologies are used in other embodiments. Touch-sensitive display system 112 and display controller 156 optionally use any of a number of now known or later developed touch sensing technologies to detect contact and any movement or disruption thereof, including, but not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with touch-sensitive display system 112. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as that found in the iPhone®, iPod Touch®, and iPad® from Apple Inc. (Cupertino, California).
[0071] Touch-sensitive display system 112 optionally has a video resolution greater than 100 dpi. In some embodiments, the touchscreen video resolution exceeds 400 dpi (e.g., 500 dpi, 800 dpi, or higher). A user optionally contacts touch-sensitive display system 112 using any suitable object or accessory, such as a stylus, finger, or the like. In some embodiments, the user interface is designed to work with finger-based contacts and gestures, which may be less precise than stylus-based input due to the larger area of finger contact on the touchscreen. In some embodiments, the device translates coarse finger-based input into precise pointer / cursor position or commands to perform the user's desired action.
[0072] In some embodiments, in addition to the touchscreen, device 100 optionally includes a touchpad (not shown) for activating or deactivating certain functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touchscreen, does not display visual output. The touchpad is optionally a touch-sensitive surface separate from touch-sensitive display system 112 or an extension of the touch-sensitive surface formed by the touchscreen.
[0073] Device 100 also includes a power system 162 for providing power to the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., battery, alternating current (AC)), a recharging system, power failure detection circuitry, power converters or inverters, power status indicators (e.g., light emitting diodes (LEDs)), and any other components associated with generating, managing, and distributing electrical power within a portable device.
[0074] Device 100 also optionally includes one or more light sensors 164. FIG. 1A shows a light sensor coupled to light sensor controller 158 in I / O subsystem 106. Light sensor(s) 164 optionally include a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. Light sensor(s) 164 receive light from the environment, projected through one or more lenses, and convert the light into data representing an image. In conjunction with imaging module 143 (also referred to as a camera module), light sensor(s) 164 optionally capture still images and / or video. In some embodiments, the light sensor is located on the back of device 100, opposite touch-sensitive display system 112 on the front of the device, so that the touchscreen can be used as a viewfinder for still and / or video image acquisition. In some embodiments, another light sensor is located on the front of the device so that an image of the user is captured (e.g., for a selfie, for a video conference while the user is viewing other video conference participants on the touchscreen, etc.).
[0075] Device 100 also optionally includes one or more contact intensity sensors 165. FIG. 1A shows a contact intensity sensor coupled to intensity sensor controller 159 in I / O subsystem 106. Contact intensity sensor(s) 165 optionally include one or more piezoresistive strain gauges, capacitive force sensors, electric force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other intensity sensors (e.g., sensors used to measure the force (or pressure) of a contact on a touch-sensitive surface). Contact intensity sensor(s) 165 receive contact intensity information (e.g., pressure information or a proxy for pressure information) from the environment. In some embodiments, at least one contact intensity sensor is juxtaposed with or proximate to the touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact intensity sensor is located on the back of device 100, opposite touchscreen display system 112, which is located on the front of device 100.
[0076] Device 100 also optionally includes one or more proximity sensors 166. Figure 1A shows proximity sensor 166 coupled to peripherals interface 118. Alternatively, proximity sensor 166 is coupled to input controller 160 in I / O subsystem 106. In some embodiments, the proximity sensor turns off and disables touch-sensitive display system 112 when the multifunction device is placed near a user's ear (e.g., when the user is making a phone call).
[0077] Device 100 also optionally includes one or more tactile output generators 167. FIG. 1A shows a tactile output generator coupled to haptic feedback controller 161 in I / O subsystem 106. Tactile output generator(s) 167 optionally include one or more electroacoustic devices, such as speakers or other audio components, and / or electromechanical devices that convert energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other tactile output generating components (e.g., components that convert electrical signals into tactile output on the device). Tactile output generator(s) 167 receive tactile feedback generation instructions from haptic feedback module 133 and generate tactile outputs on device 100 that can be sensed by a user of device 100. In some embodiments, at least one tactile output generator is juxtaposed to or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112) and generates tactile output, optionally by moving the touch-sensitive surface vertically (e.g., in / out of the face of device 100) or laterally (e.g., back and forth in the same plane as the face of device 100). In some embodiments, at least one tactile output generator sensor is located on the back of device 100, opposite touch-sensitive display system 112, which is located on the front of device 100.
[0078] Device 100 also optionally includes one or more accelerometers 168. FIG. 1A shows accelerometer 168 coupled to peripherals interface 118. Alternatively, accelerometer 168 is optionally coupled to input controller 160 in I / O subsystem 106. In some embodiments, information is displayed on the touchscreen display in a portrait or landscape view based on analysis of data received from one or more accelerometers. In addition to accelerometer(s) 168, device 100 optionally includes a magnetometer (not shown) and a GPS (or GLONASS or other global navigation system) receiver (not shown) for obtaining information regarding the position and orientation (e.g., vertically or horizontally) of device 100.
[0079] In some embodiments, the software components stored in memory 102 include an operating system 126, a communications module (or instruction set) 128, a touch / movement module (or instruction set) 130, a graphics module (or instruction set) 132, a haptic feedback module (or instruction set) 133, a text input module (or instruction set) 134, a Global Positioning System (GPS) module (or instruction set) 135, and applications (or instruction sets) 136. Additionally, in some embodiments, as shown in Figures 1A and 3, memory 102 stores device / global internal state 157. Device / global internal state 157 includes one or more of: active application state, which indicates which applications, if any, are currently active; display state, which indicates what applications, views, or other information are occupying various areas of touch-sensitive display system 112; sensor state, which includes information obtained from the device's various sensors and other input or control devices 116; and location and / or position information regarding the location and / or orientation of the device.
[0080] Operating system 126 (e.g., an embedded operating system such as iOS, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or VxWorks) includes various software components and / or drivers for controlling and managing overall system tasks (e.g., memory management, storage device control, power management, etc.) and facilitating communication between various hardware and software components.
[0081] Communications module 128 facilitates communication with other devices through one or more external ports 124 and also includes various software components for processing data received by RF circuitry 108 and / or external port 124. External port 124 (e.g., Universal Serial Bus (USB), FIREWIRE, etc.) is adapted to couple to other devices directly or indirectly through a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external port is a multi-pin (e.g., 30-pin) connector identical to, similar to, and / or compatible with the 30-pin connector used in some iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, California. In some embodiments, the external port is a Lightning connector identical to, similar to, and / or compatible with the Lightning connector used in some iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, California.
[0082] Contact / motion module 130 optionally detects contact with touch-sensitive display system 112 (in cooperation with display controller 156) and with other touch-sensitive devices (e.g., a touchpad or physical click wheel). Contact / motion module 130 includes software components for performing various operations related to detecting contact (e.g., by a finger or stylus), such as determining if contact has occurred (e.g., detecting a finger-down event), determining the intensity of the contact (e.g., contact force or pressure, or a surrogate for contact force or pressure), determining if there is contact movement and tracking the movement across the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining if contact has stopped (e.g., detecting a finger-up event or an interruption in contact). Contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point represented by the series of contact data optionally includes determining the speed (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point. These operations are optionally applied to a single contact (e.g., a single finger contact or a stylus contact) or multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts). In some embodiments, contact / motion module 130 and display controller 156 detect contacts on a touchpad.
[0083] Contact / motion module 130 optionally detects gesture input by a user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different movements, timing, and / or strength of the detected contact). Thus, gestures are optionally detected by detecting particular contact patterns. For example, detecting a finger tap gesture includes detecting a finger down event, followed by a finger lift (lift-off) event at the same location (or substantially the same location) as the finger down event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger down event, followed by one or more finger drag events, followed by a finger lift (lift-off) event. Similarly, taps, swipes, drags, and other gestures are optionally detected with respect to a stylus by detecting particular contact patterns with respect to the stylus.
[0084] In some embodiments, detecting a finger tap gesture depends on the length of time between detecting a finger-down event and detecting a finger-up event, but is not related to the intensity of the finger contact between detecting the finger-down event and detecting the finger-up event. In some embodiments, a tap gesture is detected according to determining that the length of time between the finger-down event and the finger-up event is less than a predetermined value (e.g., less than 0.1, 0.2, 0.3, 0.4, or 0.5 seconds), regardless of whether the intensity of the finger contact during the tap meets a given intensity threshold (greater than a nominal contact-detection intensity threshold), such as a shallow or deep pressure intensity threshold. Thus, a finger tap gesture can satisfy certain input criteria that do not require the characteristic intensity of the contact to meet a given intensity threshold for the particular input criteria to be met. For clarity, the finger contact in a tap gesture generally needs to meet a nominal contact-detection intensity threshold below which the contact is not detected for a finger-down event to be detected. A similar analysis applies to detecting tap gestures or other contacts with a stylus. In cases where the device is capable of detecting contact of a finger or stylus hovering over the touch-sensitive surface, the nominal contact-detection intensity threshold is optional and does not correspond to physical contact between the finger or stylus and the touch-sensitive surface.
[0085] In a similar manner, the same concepts apply to other types of gestures. For example, swipe gestures, pinch gestures, de-pinch gestures, and / or long press gestures are optionally detected based on meeting criteria that are either unrelated to the intensity of the contacts included in the gesture or that do not require the contacts performing the gesture to reach an intensity threshold in order to be recognized. For example, a swipe gesture is detected based on the amount of movement of one or more contacts, a pinch gesture is detected based on the movement of two or more contacts toward each other, a de-pinch gesture is detected based on the movement of two or more contacts away from each other, and a long press gesture is detected based on the duration of contact on the touch-sensitive surface that is less than a threshold amount of movement. Thus, a statement that a particular gesture recognition criterion does not require the intensity of a contact(s) to meet a respective intensity threshold in order for the particular gesture recognition criterion to be met means that the particular gesture recognition criterion can be met when the contact(s) in the gesture do not reach their respective intensity threshold, and can also be met in situations where one or more of the contacts in the gesture do not reach or exceed their respective intensity threshold. In some embodiments, a tap gesture is detected based on a determination that a finger-down event and a finger-up event are detected within a predefined time period, regardless of whether the contacts are above or below their respective intensity thresholds during the predefined time period, and a swipe gesture is detected based on a determination that a movement of the contact is greater than a predefined magnitude, even if the contact exceeds its respective intensity threshold at the end of the movement of the contact. Even in implementations in which gesture detection is affected by the intensity of the contact performing the gesture (e.g., the device detects long presses more quickly when the intensity of the contact exceeds an intensity threshold, or the device is slow to detect tap inputs when the intensity of the contact is higher), detection of those gestures does not require the contact to reach a particular intensity threshold, as long as the criteria for recognizing the gesture can be met in situations in which the contact does not reach the particular intensity threshold (e.g., even if the amount of time required to recognize the gesture varies).
[0086] The contact intensity threshold, duration threshold, and movement threshold may, in some circumstances, be combined in various different combinations to create heuristics for distinguishing between two or more different gestures directed at the same input element or region, thereby enabling multiple different interactions with the same input element to provide a richer set of user interactions and responses. A statement that a particular set of gesture recognition criteria does not require that the intensity of a contact(s) meet a respective intensity threshold for that particular gesture recognition criterion to be satisfied does not preclude the simultaneous evaluation of other intensity-dependent gesture recognition criteria to identify other gestures with criteria that are satisfied when the gesture includes a contact having an intensity above a respective intensity threshold. For example, in some circumstances, a first gesture recognition criterion for a first gesture that does not require that the intensity of a contact(s) meet a respective intensity threshold for that first gesture recognition criterion to be satisfied competes with a second gesture recognition criterion for a second gesture that depends on the contact(s) reaching a respective intensity threshold. In such a competition, a gesture is optionally not recognized as satisfying the first gesture recognition criteria for the first gesture if the second gesture recognition criteria for the second gesture are satisfied first. For example, if the contact reaches the respective intensity threshold before moving the predefined amount of movement, a deep press gesture is detected rather than a swipe gesture. Conversely, if the contact moves the predefined amount of movement before reaching the respective intensity threshold, a swipe gesture is detected rather than a deep press gesture. Even in such a situation, the first gesture recognition criteria for the first gesture still do not require that the intensity of the contact(s) meet the respective intensity threshold for the first gesture recognition criteria to be satisfied, because if the contact remains below the respective intensity threshold until the end of the gesture (e.g., a swipe gesture with contact that does not increase in intensity above the respective intensity threshold), the gesture is recognized by the first gesture recognition criteria as a swipe gesture.In this way, certain gesture recognition criteria that do not require the intensity of the contact(s) to meet a respective intensity threshold in order for the particular gesture recognition criterion to be satisfied are still dependent on the intensity of the contact with respect to the intensity threshold in the sense that (A) in some circumstances, they ignore the intensity of the contact with respect to the intensity threshold (e.g., for a tap gesture), and / or (B) in some circumstances, the particular gesture recognition criterion (e.g., for a long press gesture) will not function if a competing set of intensity-dependent gesture recognition criteria (e.g., for a deep press gesture) recognizes an input as corresponding to an intensity-dependent gesture before the particular gesture recognition criterion recognizes the gesture corresponding to the input (e.g., for a long press gesture that competes with a deep press gesture for recognition).
[0087] Graphics module 132 includes various known software components for rendering and displaying graphics on touch-sensitive display system 112 or other display, including components for modifying the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual characteristics) of the displayed graphics. As used herein, the term "graphics" includes any object that can be displayed to a user, including, but not limited to, text, web pages, icons (such as user interface objects including soft keys), digital images, video, animation, etc.
[0088] In some embodiments, graphics module 132 stores data representing graphics to be used. Each graphic is optionally assigned a corresponding code. Graphics module 132 receives, from an application or the like, one or more codes specifying the graphics to be displayed, along with coordinate data and other graphic characteristic data, as needed, and then generates screen image data to output to display controller 156.
[0089] The tactile feedback module 133 includes various software components for generating instructions used by the tactile output generator(s) 167 to generate tactile outputs at one or more locations on the device 100 in response to user interaction with the device 100.
[0090] Text input module 134 is optionally a component of graphics module 132 and provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).
[0091] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for use in location-based dialing, to the camera 143 as photo / video metadata, and to applications that provide location-based services such as weather widgets, local yellow pages widgets, and map / navigation widgets).
[0092] The application 136 optionally includes the following modules (or sets of instructions), or a subset or superset thereof: • a contacts module 137 (sometimes called an address book or contact list); ●Telephone module 138, ●Video conferencing module 139, ● an email client module 140; ● Instant messaging (IM) module 141; ●Training support module 142, a camera module 143 for still and / or video images, ● Image management module 144; ● Browser module 147, ●Calendar module 148, • a widget module 149 optionally including one or more of a weather widget 149-1, a stock price widget 149-2, a calculator widget 149-3, an alarm clock widget 149-4, a dictionary widget 149-5, and other widgets acquired by the user, as well as user-created widgets 149-6; a widget creation module 150 for creating user-created widgets 149-6; ● Search module 151, • a video and music player module 152, optionally comprising a video player module and a music player module; ● Memo module 153, Map module 154, and / or ●Online video module 155.
[0093] Examples of other applications 136 that are optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice duplication.
[0094] In conjunction with touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, contact module 137 includes executable instructions (e.g., stored in memory 102 or in application internal state 192 of contact module 137 in memory 370) for managing an address book or contact list, including adding name(s) to the address book, removing name(s) from the address book, associating phone number(s), email address(es), postal address(es), or other information with names, associating images with names, categorizing and sorting names, providing phone numbers and / or email addresses to initiate and / or facilitate communication by telephone 138, video conference 139, email 140, or IM 141, etc.
[0095] In cooperation with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, telephone module 138 includes executable instructions for entering a series of characters corresponding to a telephone number, accessing one or more telephone numbers in address book 137, modifying an entered telephone number, dialing each telephone number, conducting a conversation, and disconnecting or hanging up when the conversation is completed. As noted above, wireless communication optionally uses any of a number of communication standards, protocols, and technologies.
[0096] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch-sensitive display system 112, display controller 156, light sensor(s) 164, light sensor controller 158, contact module 130, graphics module 132, text input module 134, contact list 137, and telephone module 138, video conferencing module 139 includes executable instructions to initiate, conduct, and terminate a video conference between a user and one or more other participants according to the user's instructions.
[0097] In cooperation with RF circuitry 108, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, email client module 140 contains executable instructions for creating, sending, receiving, and managing emails in response to user instructions. In cooperation with image management module 144, email client module 140 makes it very easy to create and send emails with still or video images captured by camera module 143.
[0098] In cooperation with RF circuitry 108, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, instant message module 141 includes executable instructions for entering a series of characters corresponding to an instant message, modifying previously entered characters, sending each instant message (e.g., using Short Message Service (SMS) or Multimedia Message Service (MMS) protocols for telephone-based instant messaging, or using XMPP, SIMPLE, Apple Push Notification Service (APNs), or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, sent and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments, such as those supported by MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant message" refers to both telephone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, APNs, or IMPS).
[0099] In conjunction with the RF circuitry 108, the touch-sensitive display system 112, the display controller 156, the contact module 130, the graphics module 132, the text input module 134, the GPS module 135, the map module 154, and the music player module 146, the training support module 142 includes executable instructions for creating workouts (e.g., with time, distance, and / or calorie burn goals), communicating with training sensors (in the sports device and the smartwatch), receiving training sensor data, calibrating sensors used to monitor workouts, selecting and playing music for workouts, and displaying, storing, and transmitting workout data.
[0100] Camera module 143, in conjunction with touch-sensitive display system 112, display controller 156, light sensor(s) 164, light sensor controller 158, contact module 130, graphics module 132, and image management module 144, includes executable instructions for capturing still images or video (including video streams) and storing them in memory 102, modifying characteristics of the still images or video, and / or deleting the still images or video from memory 102.
[0101] In conjunction with touch-sensitive display system 112, display controller 156, contact 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 slide show or album), and storing still and / or video images.
[0102] Browser module 147, in conjunction with RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, and text input module 134, contains executable instructions for browsing the Internet in accordance with user instructions, including retrieving, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0103] Calendar module 148, in conjunction with RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, email client module 140, and browser module 147, includes executable instructions for creating, displaying, modifying, and storing calendars and data associated with calendars (e.g., calendar entries, to-do lists, etc.) according to user instructions.
[0104] Widget modules 149, in conjunction with RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, and browser module 147, are optionally mini-applications downloaded and used by users (e.g., weather widget 149-1, stock quotes widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5), or mini-applications created by users (e.g., user-created widget 149-6). In some embodiments, widgets include Hypertext Markup Language (HTML) files, Cascading Style Sheets (CSS) files, and JavaScript files. In some embodiments, widgets include Extensible Markup Language (XML) files and JavaScript files (e.g., Yahoo! Widgets).
[0105] In conjunction with RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, and browser module 147, widget creation module 150 contains executable instructions for creating widgets (e.g., turning user-specified portions of a web page into widgets).
[0106] In cooperation with touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, and text input module 134, search module 151 includes executable instructions to search memory 102 for text, music, sound, images, video, and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions.
[0107] In conjunction with touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, video and music player module 152 contains executable instructions that enable a user to download and play recorded music or other sound files stored in one or more file formats, such as MP3 or AAC files, as well as executable instructions to display, present, or otherwise play video (e.g., on touch-sensitive display system 112 or on an external display connected wirelessly or via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (a trademark of Apple Inc.).
[0108] In conjunction with touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, notes module 153 contains executable instructions for creating and managing notes, to-do lists, and the like, in accordance with user instructions.
[0109] In conjunction with RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, map module 154 includes executable instructions to receive, display, modify, and store maps and data associated with maps (e.g., driving directions, data about businesses and other points of interest at or near a particular location, and other location-based data) in accordance with user instructions.
[0110] In cooperation with touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, email client module 140, and browser module 147, online video module 155 contains executable instructions that enable a user to access, view, receive (e.g., by streaming and / or downloading), and play (e.g., on touchscreen 112 or on an external display connected wirelessly or via external port 124) online videos in one or more file formats, such as H.264, and send and otherwise manage emails with links to particular online videos. In some embodiments, instant messaging module 141 is used to send links to particular online videos, rather than email client module 140.
[0111] Each of the identified modules and applications corresponds to a set of executable instructions that perform one or more of the functions described above, as well as methods described in the present application (e.g., the computer-implemented methods and other information processing methods described herein). The modules (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules; thus, various subsets of the modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 102 optionally stores a subset of the identified modules and data structures. Additionally, memory 102 optionally stores additional modules and data structures not described above.
[0112] In some embodiments, device 100 is a device on which operation of a predefined set of functions is performed exclusively through a touchscreen and / or touchpad. By using the touchscreen and / or touchpad as the primary input control device for operation of device 100, the number of physical input control devices (push buttons, dials, etc.) on device 100 is optionally reduced.
[0113] The set of predefined functions performed exclusively through the touchscreen and / or touchpad optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by a user, navigates device 100 to a main menu, home menu, or root menu from any user interface displayed on device 100. In such embodiments, a "menu button" is implemented using the touchpad. In some other embodiments, the menu button is a physical push button or other physical input control device instead of a touchpad.
[0114] 1B is a block diagram illustrating exemplary components for event handling, according to some embodiments. In some embodiments, memory 102 (in FIG. 1A) or 370 (in FIG. 3) includes an event sorter 170 (e.g., in operating system 126) and a respective application 136-1 (e.g., any of applications 136, 137-155, 380-390 described above).
[0115] Event sorter 170 receives the event information and determines application 136-1 and application view 191 of application 136-1 to which the event information should be delivered. Event sorter 170 includes event monitor 171 and event dispatcher module 174. In some embodiments, application 136-1 includes application internal state 192 that indicates the current application view(s) that are displayed on touch-sensitive display system 112 when the application is active or running. In some embodiments, device / global internal state 157 is used by event sorter 170 to determine which application(s) are currently active, and application internal state 192 is used by event sorter 170 to determine application view 191 to which the event information should be delivered.
[0116] In some embodiments, application internal state 192 includes additional information such as one or more of resume information used when application 136-1 resumes execution, user interface state information indicating information being displayed or prepared for display by application 136-1, a state queue to allow the user to return to a previous state or view of application 136-1, and a redo / undo queue of previous actions taken by the user.
[0117] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about sub-events (e.g., a user's touch on touch-sensitive display system 112 as part of a multi-touch gesture). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, accelerometer(s) 168, and / or microphone 113 (through audio circuitry 110). Information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display system 112 or a touch-sensitive surface.
[0118] In some embodiments, event monitor 171 sends requests to peripherals interface 118 at predetermined intervals. In response, peripherals interface 118 transmits event information. In other embodiments, peripherals interface 118 transmits event information only when there is a significant event (e.g., receiving an input above a predetermined noise threshold and / or for longer than a predetermined period of time).
[0119] In some embodiments, the event sorter 170 also includes a hit view determination module 172 and / or an active event recognizer determination module 173 .
[0120] Hit view determination module 172 provides software procedures for determining where in one or more views a sub-event occurred when touch-sensitive display system 112 displays more than one view. A view consists of controls and other elements that a user can see on the display.
[0121] Another aspect of a user interface associated with an application is a set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views (of each application) in which touches are detected optionally correspond to programmatic levels within the application's programmatic or view hierarchy. For example, the lowest-level view in which touches are detected is optionally referred to as a hit view, and the set of events that are recognized as appropriate inputs is optionally determined based at least in part on the hit view of the initial touch that initiates the touch-based gesture.
[0122] Hit view determination module 172 receives information related to sub-events of a touch-based gesture. When an application has multiple views organized in a hierarchy, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy that should process the sub-events. In most situations, the hit view is the lowest-level view in which the initiating sub-event occurs (i.e., the first sub-event in a series of sub-events that form an event or potential event). Once a hit view is identified by the hit view determination module, the hit view typically receives all sub-events related to the same touch or input source for which it was identified as the hit view.
[0123] Active event recognizer determination module 173 determines which view(s) in 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 containing the physical location of the sub-events 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 entirely confined to the area associated with one particular view, views higher in the hierarchy remain actively participating views.
[0124] 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 recognizers determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores event information obtained by each event receiver module 182 in an event queue.
[0125] In some embodiments, operating system 126 includes event sorter 170. Alternatively, application 136-1 includes event sorter 170. In still other embodiments, event sorter 170 is a stand-alone module or part of another module stored in memory 102, such as contact / motion module 130.
[0126] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each containing instructions for processing touch events that occur within a respective view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, each application view 191 includes multiple event recognizers 180. In other embodiments, one or more of the event recognizers 180 are part of a separate module, such as a user interface kit (not shown) or a higher-level object from which application 136-1 inherits methods and other properties. In some embodiments, each event handler 190 includes one or more of a data updater 176, an object updater 177, a GUI updater 178, and / or event data 179 received from event sorter 170. Event handler 190 optionally utilizes or invokes data updater 176, object updater 177, or GUI updater 178 to update application internal state 192. Instead, one or more of the application views 191 include one or more respective event handlers 190. Also, in some embodiments, one or more of the data updater 176, object updater 177, and GUI updater 178 are included in each application view 191.
[0127] Each event recognizer 180 receives event information (e.g., event data 179) from event sorter 170 and identifies an event from the event information. Event recognizer 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event recognizer 180 also includes metadata 183 and at least a subset of event delivery instructions 188 (optionally including sub-event delivery instructions).
[0128] The event receiver 182 receives event information from the event sorter 170. The event information includes information about a sub-event, for example, information about a touch or a touch movement. Depending on the sub-event, the event information also includes additional information, such as the position of the sub-event. When the sub-event involves a touch movement, the event information also optionally includes the speed and direction of the sub-event. In some embodiments, the event includes a device rotation from one orientation to another (e.g., from portrait to landscape orientation, or vice versa), and the event information includes corresponding information about the device's current orientation (also called the device's attitude).
[0129] The event comparator 184 compares the event information with predefined event or sub-event definitions and determines the event or sub-event, or determines or updates the state of the event or sub-event, based on the comparison. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 includes a definition of an event (e.g., a predefined series of sub-events), such as Event 1 (187-1), Event 2 (187-2), etc. In some embodiments, the sub-events in Event 187 include, for example, a touch start, a touch end, a touch movement, a touch cessation, and multiple touches. In one example, the definition for Event 1 (187-1) is a double tap on a displayed object. The double tap includes, for example, a first touch (touch start) for a predetermined stage on the displayed object, a first lift-off (touch end) for a predetermined stage on the displayed object, a second touch (touch start) for a predetermined stage on the displayed object, and a second lift-off (touch end) for a predetermined stage. In another example, the definition for event 2 (187-2) is a drag on a displayed object. Drag includes, for example, a touch (or contact) for a predetermined step on a displayed object, a movement of the touch across the touch-sensitive display system 112, and a lift-off of the touch (end of the touch). In some embodiments, the event also includes information for one or more associated event handlers 190.
[0130] In some embodiments, event definition 187 includes a definition of the event for each user interface object. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with the sub-event. For example, in an application view in which three user interface objects are displayed on touch-sensitive display system 112, when a touch is detected on touch-sensitive display system 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a respective event handler 190, event comparator 184 uses the results of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects the event handler associated with the sub-event and object that triggers the hit test.
[0131] In some embodiments, the definition for each event 187 also includes a delay action that delays delivery of the event information until it is determined whether a set of sub-events corresponds to the event recognizer's event type.
[0132] When the respective event recognizer 180 determines that the sequence of sub-events does not match any of the events in the event definition 186, the respective event recognizer 180 enters an event-disabled, event-failed, or event-ended state and thereafter ignores subsequent sub-events of the touch-based gesture. In this situation, if there are other event recognizers that remain active for the hit view, those event recognizers continue to track and process sub-events of the ongoing touch-based gesture.
[0133] In some embodiments, each event recognizer 180 includes metadata 183 with configurable properties, flags, and / or lists that indicate to actively participating event recognizers how the event delivery system should perform sub-event delivery. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact or are enabled to interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how sub-events are delivered to various levels in the view or programmatic hierarchy.
[0134] In some embodiments, each event recognizer 180 activates an event handler 190 associated with an event when one or more specific sub-events of the event are recognized. In some embodiments, each event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is separate from sending (and deferring sending) the sub-events to the respective hit view. In some embodiments, the event recognizer 180 pops a flag associated with the recognized event, and the event handler 190 associated with the flag catches the flag and performs predefined processing.
[0135] 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 set of sub-events or to an actively participating view. The event handler associated with the set of sub-events or to an actively participating view receives the event information and performs predetermined processing.
[0136] In some embodiments, data updater 176 creates and updates data used by application 136-1. For example, data updater 176 updates phone numbers used by contacts module 137 or stores video files used by video player module 145. In some embodiments, object updater 177 creates and updates objects used by application 136-1. For example, object updater 177 creates new user interface objects or updates the positions of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on the touch-sensitive display.
[0137] In some embodiments, event handler(s) 190 include or have 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 contained in a single module of the respective application 136-1 or application view 191. In other embodiments, they are contained in two or more software modules.
[0138] It should be understood that the foregoing description of event processing of a user's touch on a touch-sensitive display also applies to other forms of user input for operating multifunction device 100 using input devices, although not all of them are initiated on the touchscreen. For example, mouse movements and mouse button presses, optionally coupled with one or more keyboard presses or holds, contact movements such as tapping, dragging, scrolling on a touchpad, pen stylus input, device movement, verbal commands, detected eye movements, biometric input, and / or any combination thereof are optionally utilized as inputs corresponding to sub-events that define the event to be recognized.
[0139] 1C is a block diagram illustrating a tactile output module, according to some embodiments. In some embodiments, I / O subsystem 106 (e.g., haptic feedback controller 161 (FIG. 1A) and / or other input controller(s) 160 (FIG. 1A) includes at least some of the example components shown in FIG. 1C. In some embodiments, peripherals interface 118 includes at least some of the example components shown in FIG. 1C.
[0140] In some embodiments, the tactile output module includes a haptic feedback module 133. In some embodiments, the haptic feedback module 133 collects and combines tactile output for user interface feedback from software applications on the electronic device (e.g., feedback responsive to user input corresponding to a displayed user interface and alerts indicating the performance of an action or the occurrence of an event in the user interface of the electronic device). The haptic feedback module 133 includes one or more of: a waveform module 123 (for providing a waveform used to generate the tactile output), a mixer 125 (for mixing waveforms, such as waveforms of different channels), a compressor 127 (for reducing or compressing the dynamic range of the waveform), a low-pass filter 129 (for filtering out high-frequency signal components in the waveform), and a thermal controller 131 (for adjusting the waveform according to thermal conditions). In some embodiments, the haptic feedback controller 161 ( FIG. 1A ) includes the haptic feedback module 133. In some embodiments, a separate unit of haptic feedback module 133 (or a separate implementation of haptic feedback module 133) is also included in the audio controller (e.g., audio circuit 110 of FIG. 1A) and used to generate audio signals. In some embodiments, a single haptic feedback module 133 is used to generate audio signals and generate waveforms for tactile outputs.
[0141] In some embodiments, haptic feedback module 133 also includes trigger module 121 (e.g., a software application, operating system, or other software module that determines to generate a tactile output and initiates the process of generating a corresponding tactile output). In some embodiments, trigger module 121 generates a trigger signal to initiate generation of a waveform (e.g., by waveform module 123). For example, trigger module 121 generates the trigger signal based on a preset timing reference. In some embodiments, trigger module 121 receives a trigger signal from external haptic feedback module 133 (e.g., in some embodiments, haptic feedback module 133 receives a trigger signal from hardware input processing module 146 located external to haptic feedback module 133) and relays the trigger signal to other components within haptic feedback module 133 (e.g., waveform module 123) or to a software application that triggers an action (e.g., using trigger module 121) based on activation of a hardware input device (e.g., a home button). In some embodiments, trigger module 121 also receives tactile feedback generation instructions (e.g., from haptic feedback module 133, FIGS. 1A and 3). In some embodiments, the trigger module 121 generates a trigger signal in response to the tactile feedback module 133 (or the trigger module 121 within the tactile feedback module 133) receiving a tactile feedback command (e.g., from the tactile feedback module 133 of FIGS. 1A and 3).
[0142] Waveform module 123 receives a trigger signal (e.g., from trigger module 121) as an input and, in response to the received trigger signal, provides a waveform for generation of one or more tactile outputs (e.g., a waveform selected from a predetermined set of waveforms designed for use by waveform module 123, such as the waveforms described in more detail below with reference to Figures 4F1-4G1).
[0143] Mixer 125 receives waveforms (e.g., from waveform module 123) as inputs and combines the waveforms. For example, when mixer 125 receives two or more waveforms (e.g., a first waveform in a first channel and a second waveform in a second channel that at least partially overlaps the first waveform), mixer 125 outputs a combined waveform corresponding to the sum of the two or more waveforms. In some embodiments, mixer 125 also modifies one or more of the two or more waveforms (e.g., by increasing the scale of the particular waveform(s) and / or decreasing the scale of the rest of the waveforms) to emphasize the particular waveform(s) over the rest of the two or more waveforms. In some situations, mixer 125 selects one or more waveforms to remove from the combined waveform (e.g., excluding the waveform from the oldest source when there are waveforms from more than three sources requested to be output simultaneously by tactile output generator 167).
[0144] Compressor 127 receives as input a waveform (e.g., a composite waveform from mixer 125) and modifies the waveform. In some embodiments, compressor 127 reduces the waveform (e.g., according to the physical specifications of tactile output generator 167 (FIG. 1A) or 357 (FIG. 3)) so that the tactile output corresponding to the waveform is reduced. In some embodiments, compressor 127 limits the waveform, such as by imposing a predefined maximum amplitude on the waveform. For example, compressor 127 reduces the amplitude of waveform portions that exceed a predetermined amplitude threshold while maintaining the amplitude of waveform portions that do not exceed the predetermined amplitude threshold. In some embodiments, compressor 127 reduces the dynamic range of the waveform. In some embodiments, compressor 127 dynamically reduces the dynamic range of the waveform so that the composite waveform remains within the performance specifications (e.g., force and / or movable mass displacement limits) of tactile output generator 167.
[0145] Low pass filter 129 receives as an input a waveform (e.g., the compressed waveform from compressor 127) and filters (e.g., smooths) the waveform (e.g., removes or reduces high frequency signal components in the waveform). For example, in some instances, compressor 127 may include extraneous signals (e.g., high frequency signal components) in the compressed waveform that interfere with the generation of a tactile output and / or exceed the performance specifications of tactile output generator 167 when a tactile output is generated according to the compressed waveform. Low pass filter 129 reduces or removes such extraneous signals in the waveform.
[0146] Thermal controller 131 receives a waveform (e.g., a filtered waveform from low-pass filter 129) as an input and adjusts the waveform according to the thermal conditions of device 100 (e.g., based on the temperature of haptic feedback controller 161 and / or an internal temperature detected within device 100, such as an external temperature detected by device 100). For example, in some cases, the output of haptic feedback controller 161 varies with temperature (e.g., haptic feedback controller 161 generates a first tactile output when haptic feedback controller 161 is at a first temperature and a second tactile output when haptic feedback controller 161 is at a second temperature distinct from the first temperature, in response to receiving the same waveform). For example, the magnitude (or amplitude) of the tactile output may vary with temperature. The waveform is modified (e.g., increasing or decreasing the amplitude of the waveform based on temperature) to reduce the effect of temperature changes.
[0147] In some embodiments, haptic feedback module 133 (e.g., trigger module 121) is coupled to hardware input processing module 146. In some embodiments, other input controller(s) 160 of FIG. 1A includes hardware input processing module 146. In some embodiments, hardware input processing module 146 receives input from hardware input device 145 (e.g., other input or control device 116 of FIG. 1, such as a home button). In some embodiments, hardware input device 145 is any of touch-sensitive display system 112 (FIG. 1A), keyboard / mouse 350 (FIG. 3), touchpad 355 (FIG. 3), one of other input or control devices 116 (FIG. 1A), or an input device such as an intensity-sensitive home button (e.g., a home button with a mechanical actuator as shown in FIG. 2B or as shown in FIG. 2C). In some embodiments, hardware input device 145 consists of an intensity-sensitive home button (e.g., a home button with a mechanical actuator as shown in FIG. 2B or as shown in FIG. 2C ), and touch-sensitive display system 112 ( FIG. 1A ), keyboard / mouse 350 ( FIG. 3 ), or touchpad 355 ( FIG. 3 ). In some embodiments, in response to input from hardware input processing module 145, hardware input processing module 146 provides one or more trigger signals to tactile feedback module 133 to indicate that a user input that meets predetermined input criteria has been detected, such as an input corresponding to a home button “click” (e.g., a “down click” or an “up click”). In some embodiments, tactile feedback module 133, in response to an input corresponding to a home button “click,” provides a waveform corresponding to a home button “click” to simulate the tactile feedback of pressing a physical home button.
[0148] In some embodiments, the tactile output module includes a tactile feedback controller 161 (haptic feedback controller 161 in FIG. 1A ) that controls the generation of the tactile output. In some embodiments, haptic feedback controller 161 is coupled to a plurality of tactile output generators, selects one or more of the plurality of tactile output generators, and sends waveforms to the selected one or more tactile output generators to generate the tactile output. In some embodiments, haptic feedback controller 161 aligns tactile output requests corresponding to activation of hardware input device 145 with tactile output requests corresponding to software events (e.g., tactile output requests from haptic feedback module 133) (e.g., by increasing the scale of particular waveform(s) and / or decreasing the scale of the remainder of the waveforms, e.g., to prioritize tactile output corresponding to activation of hardware input device 145 over tactile output corresponding to software events), and modifies one or more of the two or more waveforms to emphasize particular waveform(s) over the remainder of the two or more waveforms.
[0149] In some embodiments, the output of haptic feedback controller 161 is coupled to an audio circuit (e.g., audio circuit 110, FIG. 11A ) of device 100 and provides an audio signal to the audio circuit of device 100. In some embodiments, haptic feedback controller 161 provides both the waveforms used to generate the tactile output and the audio signals used to provide the audio output in conjunction with generating the tactile output. In some embodiments, haptic feedback controller 161 modifies the audio signals and / or waveforms (used to generate the tactile output) so that the audio output and the tactile output are synchronized (e.g., by delaying the audio signals and / or waveforms). In some embodiments, haptic feedback controller 161 includes a digital-to-analog converter (DAC) used to convert the digital waveforms to an analog signal, which is received by amplifier 163 and / or tactile output generator 167.
[0150] In some embodiments, tactile output module includes amplifier 163. In some embodiments, amplifier 163 receives a waveform (e.g., from haptic feedback controller 161) and amplifies the waveform before sending the amplified waveform to tactile output generator 167 (e.g., either tactile output generator 167 (FIG. 1A) or 357 (FIG. 3)). For example, amplifier 163 amplifies the received waveform to a signal level according to the physical specifications of tactile output generator 167 (e.g., the voltage and / or current required by tactile output generator 167 to generate a tactile output, such that the signal sent to tactile output generator 167 generates a tactile output that corresponds to the waveform received from tactile feedback controller 161) and sends the amplified waveform to tactile output generator 167. In response, tactile output generator 167 generates a tactile output (e.g., by reciprocating the movable mass one or more distances relative to a neutral position of the movable mass).
[0151] In some embodiments, tactile output module includes sensor 167 coupled to tactile output generator 169. Sensor 169 detects a state or change in state (e.g., mechanical position, physical displacement, and / or movement) of tactile output generator 167 or one or more components of tactile output generator 167 (e.g., one or more moving parts, such as a membrane, used to generate the tactile output). In some embodiments, sensor 169 is a magnetic field sensor (e.g., a Hall Effect sensor) or other displacement and / or movement sensor. In some embodiments, sensor 169 provides information (e.g., position, displacement, and / or movement of one or more parts in tactile output generator 167) to tactile feedback controller 161, and tactile feedback controller 161 adjusts a waveform output from tactile feedback controller 161 (e.g., a waveform sent to tactile output generator 167, optionally via amplifier 163) according to the information about the state of tactile output generator 167 provided by sensor 169.
[0152] FIG. 2 illustrates portable multifunction device 100 with a touchscreen (e.g., touch-sensitive display system 112, FIG. 1A ), according to some embodiments. The touchscreen optionally displays one or more graphics within user interface (UI) 200. In this embodiment, as well as embodiments described below, a user can select one or more of the graphics by making a gesture on the graphics, for example, with one or more fingers 202 (not drawn to scale) or one or more styluses 203 (not drawn to scale). In some embodiments, selection of one or more graphics occurs when the user breaks contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (left to right, right to left, upward and / or downward), and / or rolling of a finger in contact with device 100 (right to left, left to right, upward and / or downward). In some implementations or situations, accidental contact with a graphic does not select the graphic. For example, a swipe gesture sweeping over an application icon optionally does not select the corresponding application when the gesture corresponding to selection is a tap.
[0153] Device 100 also optionally includes one or more physical buttons, such as a "home" or menu button 204. As previously described, menu button 204 is optionally used to navigate to any application 136 in a set of applications optionally running on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key within a GUI displayed on the touchscreen display.
[0154] In some embodiments, device 100 includes a touchscreen display, a menu button 204, pushbuttons 206 for powering the device on / off and locking the device, volume control button(s) 208, a subscriber identity module (SIM) card slot 210, a headset jack 212, and external docking / charging port 124. Pushbutton 206 is optionally used to turn power on / off on the device by pressing the button and holding it down for a predetermined time interval, lock the device by pressing the button and releasing it before the predetermined time interval has elapsed, and / or unlock the device or initiate an unlocking process. In some embodiments, device 100 also accepts verbal input for activating or deactivating certain features through microphone 113. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of a contact on touch-sensitive display system 112 and / or one or more tactile output generators 167 for generating a tactile output for a user of device 100.
[0155] 2B-2C are exploded views of a first input device suitable for use with the electronic device shown in FIGS. 1A, 2A, 3, and / or 4A (e.g., home button 204). FIG. 2B illustrates an example of a strength-sensing home button having a capacitive sensor used to determine a range of strength values corresponding to a force applied to the strength-sensing home button. FIG. 2C illustrates an example of a home button having a mechanical switch element. Referring to FIG. 2B, input device stack 220 includes cover element 222 and trim 224. In the illustrated embodiment, trim 224 completely surrounds the sides and top surface of cover element 222. Other embodiments are not limited to this configuration. For example, in one embodiment, the sides and / or top surface of cover element 222 may be partially surrounded by trim 224. Alternatively, trim 224 may be omitted in other embodiments.
[0156] Both the cover element 222 and the trim 224 can be formed of suitable opaque, transparent, and / or translucent materials. For example, the cover element 222 can be made of glass, plastic, or sapphire, and the trim 224 can be made of metal or plastic. In some embodiments, one or more additional layers (not shown) can be disposed under the cover element 222. For example, if the cover element 222 is made of a transparent material, an opaque ink layer can be disposed under the cover element 222. The opaque ink layer can obscure other components in the input device stack 220 such that the other components are not visible through the transparent cover element 222.
[0157] A first circuit layer 226 may be disposed below the cover element 222. Any suitable circuit layer may be used. For example, the first circuit layer 226 may be a circuit board or a flexible circuit. The first circuit layer 226 may include one or more circuits, signal lines, and / or integrated circuits. In one embodiment, the first circuit layer 226 includes a biometric sensor 228. Any suitable type of biometric sensor may be used. For example, in one embodiment, the biometric sensor is a capacitive fingerprint sensor that captures at least one fingerprint when a user's finger(s) approach and / or contact the cover element 222.
[0158] The first circuit layer 226 may be attached to the bottom surface of the cover element 222 via an adhesive layer 230. Any suitable adhesive may be used as the adhesive layer. For example, the adhesive layer 230 may be a pressure-sensitive adhesive layer.
[0159] The compliant layer 232 is disposed below the first circuit layer 226. In one embodiment, the compliant layer 232 includes an opening 234 formed therein. The opening 234 exposes the top surface of the first circuit layer 226 and / or the biosensor 228 upon assembly of the device stack 220. In an exemplary embodiment, the compliant layer 232 is disposed around the inner periphery of the trim 224 and / or the periphery of the cover element 222. While the compliant layer 232 is depicted as circular, it can have any given shape and / or size, such as a square or oval. While the compliant layer 232 is shown in FIGS. 2B and 2C as a continuous compliant layer, other embodiments are not limited to this configuration. In some embodiments, multiple discrete compliant layers may be used within the device stack 220. Additionally, in some embodiments, compliant layer 232 does not include openings 234, and compliant layer 232 extends across at least a portion of input device stack 220. For example, compliant layer 232 can extend across the bottom surface of cover element 222 and the bottom surface of first circuit layer 226, or across a portion of the bottom surface of cover element 222 (e.g., surrounding the periphery of the cover element) and the bottom surface of first circuit layer 226.
[0160] A second circuit layer 238 is located below the first circuit layer 226. Flexible circuits and circuit boards are examples of circuit layers that can be used in the second circuit layer 238. In some embodiments, the second circuit layer 238 can include a first circuit portion 240 and a second circuit portion 242. The first and second circuit portions 240, 242 can be electrically connected to each other.
[0161] First circuit portion 240 may include a first set of one or more intensity sensor components included in the intensity sensor. In some embodiments, first circuit portion 240 may be electrically connected to first circuit layer 226. For example, if first circuit layer 226 includes biosensor 228, biosensor 228 may be electrically connected to first circuit portion 240 of second circuit layer 238.
[0162] The second circuit portion 242 may include additional circuitry, such as signal lines, circuit components, integrated circuits, etc. In one embodiment, the second circuit portion 242 may include a board-to-board connector 244 that electrically connects the second circuit layer 238 to other circuitry within the electronic device. For example, the second circuit layer 238 may be operably connected to a processing device using the board-to-board connector 244. Additionally or alternatively, the second circuit layer 238 may be operably connected to circuitry that transmits signals (e.g., sense signals) received from the intensity sensor component(s) within the first circuit portion 240 to the processing device. Additionally or alternatively, the second circuit layer 238 may be operably connected to circuitry that provides signals (e.g., drive signals, reference signals) to one or more intensity sensor components within the first circuit portion 240.
[0163] In some embodiments, first circuit portion 240 of second circuit layer 238 may be attached to the bottom surface of first circuit layer 226 using adhesive layer 236. In a non-limiting example, a die attach film may be used to attach first circuit portion 240 to the bottom surface of first circuit layer 226.
[0164] A third circuit layer 246 is disposed below the first circuit portion 240 of the second circuit layer 238. The third circuit layer 246 may include a second set of one or more intensity sensor components included in the intensity sensor. The third circuit layer 246 is supported by and / or attached to a support element 248. In one embodiment, the support element 248 is attached to the trim 224 to provide an enclosure for the other components in the device stack 220. The support element 248 may be attached to the trim 224 using a suitable attachment mechanism.
[0165] The first set of one or more intensity sensor components in the first circuit portion 240 and the second set of one or more intensity sensor components in the third circuit layer 246 together form an intensity sensor. The intensity sensor can use any suitable intensity sensing technology. Exemplary sensing technologies include, but are not limited to, capacitive, piezoelectric, piezoresistive, ultrasonic, and magnetic.
[0166] In the example shown in Figures 2B and 2C, the intensity sensor is a capacitive force sensor. For a capacitive force sensor, a first set of one or more intensity sensor components includes a first set of one or more electrodes 250, and a second set of one or more force sensor components includes a second set of one or more electrodes 252. Although shown as squares in Figures 2B and 2C, each electrode in the first and second sets of one or more electrodes 250, 252 can have any given shape (e.g., rectangular, circular). Additionally, the one or more electrodes in the first and second sets 250, 252 can be arranged in any given pattern (e.g., one or more rows and one or more columns).
[0167] 2B and 2C show two electrodes in the first and second sets of one or more electrodes 250, 252. However, other embodiments are not limited to this configuration. The first and second sets of one or more electrodes 250, 252 may each be a single electrode or multiple individual electrodes. For example, if the first set of one or more electrodes is a single electrode, the second set of one or more electrodes comprises multiple individual electrodes. In some embodiments, the second set of one or more electrodes may be a single electrode, and the first set includes multiple individual electrodes. Alternatively, both the first and second sets of one or more electrodes may each include multiple individual electrodes.
[0168] Each electrode in the first set of one or more electrodes 250 is aligned in at least one direction (e.g., vertically) with each electrode in the second set of one or more electrodes 252 to form one or more capacitors. When a force input is applied to the cover element 222 (e.g., an input surface of an input device), at least one electrode in the first set 250 moves closer to a respective electrode in the second set 252, changing the capacitance of the capacitor(s). A capacitance signal sensed from each capacitor represents a capacitance measurement for that capacitor. A processing device (not shown) is configured to receive the capacitance signal(s) and correlate the capacitance signal(s) to an amount of intensity applied to the cover element 222. In some embodiments, the force sensor can be replaced with a switch element, and a different intensity threshold can be used to determine an activation event.
[0169] In some embodiments, such as the embodiment shown in FIG. 2C , the switch element 254 can be positioned below the support element 248. The switch element 254 registers a user input when a force input applied to the cover element 222 exceeds a predetermined amount of force (e.g., a force threshold related to the closure of the distance between the first circuit portion 240 and the third circuit layer 246). Any suitable switch element can be used. For example, the switch element 254 can be a dome switch that collapses when a force input applied to the cover element 222 exceeds a force threshold. When collapsed, the dome switch terminates a circuit that is detected by the processing device and recognized as a user input (e.g., selection of an icon, function, or application). In one embodiment, the dome switch is positioned such that the top of the collapsible dome is proximate the bottom surface of the support plate 248. In another embodiment, the base of the collapsible dome can be proximate the bottom surface of the support plate 248.
[0170] FIG. 3 is a block diagram of an exemplary multifunction device having a display and a touch-sensitive surface, according to some embodiments. Device 300 need not be portable. In some embodiments, device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia playback device, a navigation device, an educational device (such as a child's learning toy), a gaming system, or a control device (e.g., a home or commercial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses 320 for interconnecting these components. Communication bus 320 optionally includes circuitry (sometimes called a chipset) that interconnects and controls communication between system components. Device 300 includes input / output (I / O) interface 330, which includes display 340, which is typically a touchscreen display. I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350, as well as a touchpad 355, a tactile output generator 357 for generating tactile outputs on device 300 (e.g., similar to tactile output generator(s) 167 described above with reference to FIG. 1A ), and sensors 359 (e.g., optical sensors, acceleration sensors, proximity sensors, touch-sensitive sensors, and / or contact intensity sensors similar to contact intensity sensor(s) 165 described above with reference to FIG. 1A ). Memory 370 includes high-speed random-access memory such as DRAM, SRAM, DDR RAM, or other random-access solid-state memory devices, and optionally includes non-volatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 370 optionally includes one or more storage devices located remotely from CPU(s) 310.In some embodiments, memory 370 stores programs, modules, and data structures similar to, or a subset of, programs, modules, and data structures stored in memory 102 of portable multifunction device 100 (FIG. 1A). Additionally, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable multifunction device 100. For example, memory 370 of device 300 optionally stores drawing module 380, presentation module 382, word processing module 384, website creation module 386, disc authoring module 388, and / or spreadsheet module 390, while memory 102 of portable multifunction device 100 (FIG. 1A) optionally does not store those modules.
[0171] 3 are optionally stored in one or more of the memory devices mentioned above. Each of the identified modules corresponds to an instruction set that performs the functions described above. The identified modules or programs (i.e., instruction sets) need not be implemented as separate software programs, procedures, or modules; thus, various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores a subset of the identified modules and data structures. Additionally, memory 370 optionally stores additional modules and data structures not described above.
[0172] Attention is now directed to embodiments of a user interface (“UI”) that is optionally implemented on portable multifunction device 100.
[0173] 4A shows an exemplary user interface for a menu of applications on portable multifunction device 100, according to some embodiments. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof: signal strength indicator(s) 402 for wireless communication(s), such as cellular and Wi-Fi signals; ●Time 404, ●Bluetooth (registered trademark) indicator, ● Battery status indicator 406, A tray 408 containing icons for frequently used applications, such as: an icon 416 for the phone module 138, labeled "Phone," which optionally includes an indicator 414 of the number of missed calls or voicemail messages; an icon 418 for the email client module 140, labeled "Mail," which optionally includes an indicator 410 of the number of unread emails; ○ An icon 420 for the browser module 147 labeled "Browser", and ○ An icon 422 for the video and music player module 152, also called the iPod (trademark of Apple Inc.) module 152, labeled "iPod", and ●Icons for other applications, such as: ○ An icon 424 for the IM module 141 labeled "Messages", ○ Icon 426 for the Calendar module 148, labeled "Calendar" ○ Icon 428 for the image management module 144, labeled "Photos" ○ An icon 430 for the camera module 143, labeled "Camera", ○ An icon 432 for the online video module 155, labeled "Online Video"; Icon 434 for stock widget 149-2, labeled "Stocks" ○ Icon 436 for the map module 154, labeled "Maps"; ○ Icon 438 for weather widget 149-1, labeled "Weather" ○ Icon 440 for alarm clock widget 149-4, labeled "Clock" ○ An icon 442 for the training support module 142, labeled "Workout Support"; ○ An icon 444 for the notes module 153, labeled "Notes," and ○ An icon 446 for a settings application or module that provides access to settings related to the device 100 and its various applications 136.
[0174] Note that the icon labels shown in FIG. 4A are merely examples. For example, in some embodiments, icon 422 for video and music player module 152 is labeled "Music" or "Music Player." Other labels are optionally used for various application icons. In some embodiments, the label for each application icon includes the name of the application corresponding to the respective application icon. In some embodiments, the label for a particular application icon is separate from the name of the application corresponding to the particular application icon.
[0175] 4B shows an exemplary user interface on a device (e.g., device 300, FIG. 3) having touch-sensitive surface 451 (e.g., tablet or touchpad 355, FIG. 3) separate from display 450. Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 357) for detecting the intensity of a contact on touch-sensitive surface 451, and / or one or more tactile output generators 359 for generating a tactile output for a user of device 300.
[0176] Although many of the following examples are given with reference to input on touch screen display 112 (when the touch-sensitive surface and display are combined), in some embodiments, the device detects input on a touch-sensitive surface separate from the display, as shown in FIG. 4B . In some embodiments, the touch-sensitive surface (e.g., 451 in FIG. 4B ) has a major axis (e.g., 452 in FIG. 4B ) that corresponds to a major axis (e.g., 453 in FIG. 4B ) on the display (e.g., 450). According to these embodiments, the device detects contacts (e.g., 460 and 462 in FIG. 4B ) with touch-sensitive surface 451 at positions that correspond to respective positions on the display (e.g., 460 corresponds to 468, and 462 corresponds to 470 in FIG. 4B ). In this manner, when the touch-sensitive surface is separate from the display, user input (e.g., contacts 460 and 462, and their movement) detected by the device on the touch-sensitive surface (e.g., 451 in FIG. 4B ) is used by the device to operate a user interface on the display (e.g., 450 in FIG. 4B ) of the multifunction device. It should be understood that similar methods are optionally used for the other user interfaces described herein.
[0177] Additionally, while the following examples are given primarily with reference to finger input (e.g., finger touches, finger tap gestures, finger swipe gestures, etc.), it should be understood that in some embodiments, one or more of those finger inputs are replaced with input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced with a mouse click (e.g., instead of a touch), followed by cursor movement along the path of the swipe (e.g., instead of moving the contact). As another example, a tap gesture is optionally replaced with a mouse click while the cursor is located over the tap gesture location (e.g., instead of detecting a contact followed by ceasing contact detection). Similarly, it should be understood that when multiple user inputs are detected simultaneously, multiple computer mice are optionally used simultaneously, or a mouse and finger contacts are optionally used simultaneously.
[0178] As used herein, the term “focus selector” refers to an input element that indicates the current portion of a user interface with which a user is interacting. In some implementations involving a cursor or other location marker, the cursor functions as a “focus selector” such that when input (e.g., a press input) is detected on a touch-sensitive surface (e.g., touchpad 355 in FIG. 3 or touch-sensitive surface 451 in FIG. 4B ) while the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), the particular user interface element is adjusted according to the detected input. In some implementations involving a touchscreen display (e.g., touch-sensitive display system 112 in FIG. 1A or touchscreen in FIG. 4A ) that allows direct interaction with user interface elements on the touchscreen display, a contact detected on the touchscreen functions as a “focus selector” such that when input (e.g., a press input by a contact) is detected on the touchscreen display at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element), the particular user interface element is adjusted according to the detected input. In some implementations, focus is moved from one region of the user interface to another region of the user interface (e.g., by using the tab key or arrow keys to move focus from one button to another) without a corresponding cursor movement or contact movement on the touchscreen display. In these implementations, the focus selector moves to follow the movement of focus between different regions of the user interface. Regardless of the specific form taken by the focus selector, the focus selector is generally a user interface element (or a contact on a touchscreen display) that is controlled by the user to communicate the user's intended interaction with the user interface (e.g., by indicating to the device which element of the user interface the user intends to interact with).For example, the position of a focus selector (e.g., a cursor, touch, or selection box) over a respective button while a press input on a touch-sensitive surface (e.g., a touchpad or touchscreen) is detected indicates the user's intent to activate the respective button (as opposed to other user interface elements shown on the device's display).
[0179] As used herein and in the 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 or a stylus contact) on the touch-sensitive surface, or a proxy for the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a value range that includes at least four distinct values and more typically includes hundreds (e.g., at least 256) distinct values. The intensity of a contact is optionally determined (or measured) using various techniques and various sensors or combinations of sensors. For example, one or more force sensors under or adjacent to the touch-sensitive surface are optionally used to measure force at various points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., weighted average or sum) to determine an estimated force of the contact. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Instead, the size and / or change in the contact area detected on the touch-sensitive surface, the capacitance and / or change in the capacitance of the touch-sensitive surface proximate the contact, and / or the resistivity and / or change in the capacitance of the touch-sensitive surface proximate the contact are optionally used as proxies for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the surrogate measure of the force or pressure of the contact is used directly to determine whether an intensity threshold is exceeded (e.g., the intensity threshold is described in units corresponding to the surrogate measure). In some implementations, the surrogate measure of the force or pressure of the contact is converted to an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold is exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of contact as an attribute of user input enables users to access additional device functionality that may not otherwise be easily accessible by users in devices of reduced size with limited area for displaying affordances (e.g., on a touch-sensitive display) and / or receiving user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls such as knobs or buttons).
[0180] In some embodiments, contact / motion module 130 uses one or more sets of intensity thresholds to determine whether an action has been performed by a user (e.g., to determine whether a user has “clicked” on an icon). In some embodiments, at least a subset of the intensity thresholds are determined according to software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a particular physical actuator and may be adjusted without modifying the physical hardware of device 100). For example, the mouse “click” threshold of a trackpad or touchscreen display may be set to any of a wide range of pre-defined thresholds without modifying the trackpad or touchscreen display hardware. Furthermore, in some implementations, a user of the device is provided with software settings to adjust one or more of the set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by adjusting multiple intensity thresholds at once via a system-level click “intensity” parameter).
[0181] As used herein and in the 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 a plurality of intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples or a set of intensity samples collected at a predefined time interval (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10 seconds) relative to a predefined event (e.g., after detecting the contact, before detecting lift-off of the contact, before or after detecting the start of contact movement, before detecting the end of the contact, before or after detecting an increase in the intensity of the contact, and / or before or after detecting a decrease in the intensity of the contact). The characteristic intensity of the contact is optionally based on one or more of the following: a maximum intensity of the contact, a mean value of the intensity of the contact, an average value of the intensity of the contact, the top 10% of the intensity of the contact, half the maximum intensity of the contact, 90% of the maximum intensity of the contact, a value generated by low-pass filtering the intensity of the contact starting over a predefined period or at a predefined time, etc. In some embodiments, the duration of the contact is used in determining the characteristic intensity (e.g., when the characteristic intensity is an average of the intensity of the contact over time). In some embodiments, the characteristic intensity is compared to a set of one or more intensity thresholds to determine whether an operation was performed by the user. For example, the set of one or more intensity thresholds may include a first intensity threshold and a second intensity threshold. In this example, a contact having a characteristic intensity that does not exceed the first threshold results in a first action being performed, a contact having a characteristic intensity that exceeds the first intensity threshold but not the second intensity threshold results in a second action being performed, and a contact having a characteristic intensity that exceeds the second intensity threshold results in a third action being performed. In some embodiments, the comparison between the characteristic intensity and one or more intensity thresholds is not used to determine whether to perform a first action or a second action, but rather to determine whether to perform one or more operations (e.g., to execute a respective option or refrain from executing a respective operation).
[0182] In some embodiments, a portion of the gesture is identified for purposes of determining the characteristic intensity. For example, a touch-sensitive surface may receive a continuous swipe contact (e.g., a drag gesture) that transitions from a start location to an end location, where the intensity of the contact increases. In this example, the characteristic intensity of the contact at the end location may be based on only a portion of the swipe contact (e.g., only the portion of the swipe contact at the end location) rather than the entire continuous swipe contact. In some embodiments, a smoothing algorithm may be applied to the intensity of the swipe contact before determining the characteristic intensity of the contact. For example, the smoothing algorithm optionally includes one or more of an unweighted moving average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some situations, these smoothing algorithms filter out small increases or decreases in the intensity of the swipe contact for purposes of determining the characteristic intensity.
[0183] The user interface diagrams described herein may optionally be configured with one or more intensity thresholds (e.g., a touch-detection intensity threshold IT0, a shallow pressure intensity threshold IT1, and a L , deep pressure intensity threshold IT D (e.g., IT, at least initially L ), and / or one or more other intensity thresholds (e.g., TI L An intensity threshold lower than IT H), showing the current intensity of the contact on the touch-sensitive surface relative to the shallow intensity threshold. This intensity diagram is typically not part of the displayed user interface, but is provided to aid in interpretation of the diagram. In some embodiments, the shallow pressure intensity threshold corresponds to an intensity at which the device performs an operation typically associated with clicking a physical mouse button or trackpad. In some embodiments, the deep pressure intensity threshold corresponds to an intensity at which the device performs an operation different from the operation typically associated with clicking a physical mouse button or trackpad. In some embodiments, when a contact is detected with a characteristic intensity below the shallow pressure intensity threshold (e.g., and above a nominal contact-detection intensity threshold IT0 below which the contact is no longer detected), the device moves the focus selector according to the movement of the contact on the touch-sensitive surface without performing the operation associated with the shallow or deep pressure intensity threshold. Generally, unless otherwise noted, the intensity thresholds are consistent across different sets of user interface diagrams.
[0184] In some embodiments, the device's response to an input detected by the device depends on criteria based on the intensity of contact during the input. For example, for some "light press" inputs, the intensity of contact during the input exceeding a first intensity threshold triggers a first response. In some embodiments, the device's response to an input detected by the device depends on criteria including both the intensity of contact during the input and time-based criteria. For example, for some "deep press" inputs, the intensity of contact during the input exceeding a second intensity threshold greater than the first intensity threshold triggers a second response only if a delay time has elapsed between meeting the first intensity threshold and meeting the second intensity threshold. This delay time is typically less than 200 ms in duration (e.g., 40 ms, 100 ms, or 120 ms, depending on the magnitude of the second intensity threshold, with the delay time increasing as the second intensity threshold increases). This delay time helps avoid accidental recognition of deep press inputs. As another example, for some "deep presses," there is a period of reduced sensitivity that occurs after the first intensity threshold is met. During the period of decreased sensitivity, the second intensity threshold is increased. This temporary increase in the second intensity threshold also helps to avoid accidental deep pressure inputs. For other deep pressure inputs, the response to the detection of a deep pressure input does not depend on a time-based criterion.
[0185] In some embodiments, one or more of the input intensity threshold and / or corresponding output vary based on one or more factors such as user settings, contact movement, input timing, running application, rate at which intensity is applied, number of simultaneous inputs, user history, environmental factors (e.g., ambient noise), position of focus selector, etc. Exemplary factors are described in U.S. Patent Application Nos. 14 / 399,606 and 14 / 624,296, which are incorporated herein by reference in their entireties.
[0186] For example, FIG. 4C illustrates a dynamic intensity threshold 480 that varies over time based in part on the intensity of touch input 476 over time. Dynamic intensity threshold 480 is the sum of two components: a first component 474 that decays over time after a predefined delay time p1 from when touch input 476 is first detected, and a second component 478 that tracks the intensity of touch input 476 over time. The initial high intensity threshold of first component 474 reduces accidentally triggering a “deep press” response while still allowing an immediate “deep press” response if touch input 476 provides sufficient intensity. Second component 478 reduces unintentionally triggering a “deep press” response due to gradual intensity variations in the touch input. In some embodiments, a “deep press” response is triggered when touch input 476 meets dynamic intensity threshold 480 (e.g., at point 481 in FIG. 4C ).
[0187] FIG. 4D illustrates another dynamic intensity threshold 486 (e.g., intensity threshold I D ) Figure 4D also shows two other intensity thresholds, the first intensity threshold IT H and a second intensity threshold I L In FIG. 4D, the touch input 484 reaches the first intensity threshold IT before time p2. H and a second intensity threshold IT L , but no response is provided until a delay time p2 has elapsed at time 482. Also in FIG. 4D, the dynamic intensity threshold 486 is set to a value after a predefined delay time p1 has elapsed from time 482 (a second intensity threshold IT L This type of dynamic intensity threshold decays over time, with the decay starting at time 488 (when the response associated with the first intensity threshold I TH or the second intensity threshold I L Immediately after or simultaneously triggering a response associated with a lower intensity threshold, such as a dynamic intensity threshold I TD and reducing the accidental triggering of related responses.
[0188] FIG. 4E illustrates yet another dynamic intensity threshold 492 (e.g., intensity threshold I D ) is shown. In FIG. 4E, the intensity threshold ITL The response associated with the intensity threshold I is triggered after a delay time p2 from when the touch input 490 is first detected. At the same time, the dynamic intensity threshold 492 decays after a predefined delay time p1 from when the touch input 490 is first detected. Thus, without releasing the touch input 490, the intensity threshold I L A decrease in the intensity of touch input 490 followed by an increase in the intensity of touch input 490 after triggering a response associated with the intensity threshold I is generated when the intensity of touch input 490 exceeds another intensity threshold, e.g., intensity threshold I. L Even when the intensity threshold IT D A response related to the
[0189] Shallow pressure intensity threshold IT L From an intensity below the shallow pressure intensity threshold IT L and deep pressure intensity threshold IT D An increase in the characteristic intensity of contact to an intensity between is sometimes referred to as a "shallow press" input. D From an intensity below the threshold IT D An increase in the characteristic intensity of a contact to an intensity above the contact detection intensity threshold IT0 is sometimes referred to as a "deep press" input. L An increase in the characteristic intensity of the contact to an intensity between ITO and ITO may be referred to as detecting a contact on the touch surface. A decrease in the characteristic intensity of the contact from an intensity above the contact-detection intensity threshold IT0 to an intensity below the contact-detection intensity threshold IT0 may be referred to as detecting lift-off of the contact from the touch surface. In some embodiments, IT0 is zero. In some embodiments, IT0 is greater than zero. In some figures, shaded circles or ellipses are used to represent the intensity of the contacts on the touch-sensitive surface. In some figures, unshaded circles or ellipses are used to represent each contact on the touch-sensitive surface without specifying the intensity of each contact.
[0190] In some embodiments described herein, one or more operations are performed in response to detecting a gesture including the respective pressure input, or in response to detecting the respective pressure input performed on the respective contact (or contacts), where the respective pressure inputs are detected based at least in part on detecting an increase in intensity of the contact (or contacts) above a pressure input intensity threshold. In some embodiments, the respective operations are performed in response to detecting an increase in intensity of the respective contact above a pressure input intensity threshold (e.g., the respective operations are performed on the “downstroke” of the respective pressure input). In some embodiments, the pressure input includes an increase in intensity of the respective contact above a pressure input intensity threshold and a subsequent decrease in intensity of the contact below the pressure input intensity threshold, and the respective operations are performed in response to detecting a subsequent decrease in intensity of the respective contact below the pressure input threshold (e.g., the respective operations are performed on the “upstroke” of the respective pressure input).
[0191] In some embodiments, the device employs intensity hysteresis to avoid accidental input, sometimes referred to as “jitter,” and the device defines or selects a hysteresis intensity threshold that has a predefined relationship to the pressure input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units below the pressure input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable percentage of the pressure input intensity threshold). Thus, in some embodiments, the pressure input includes an increase in the intensity of each contact above the pressure input intensity threshold and a subsequent decrease in the intensity of the contact below a hysteresis intensity threshold corresponding to the pressure input intensity threshold, and a respective operation is performed in response to detecting a subsequent decrease in the intensity of each contact below the hysteresis intensity threshold (e.g., a respective operation is performed on the “upstroke” of a respective pressure input). Similarly, in some embodiments, a pressure input is detected only when the device detects an increase in the intensity of the contact from an intensity below the hysteresis intensity threshold to an intensity above the pressure input intensity threshold, and optionally a subsequent decrease in the intensity of the contact to an intensity below the hysteresis intensity, and a respective operation is performed in response to detecting the pressure input (e.g., an increase in the intensity of the contact or a decrease in the intensity of the contact, depending on the context).
[0192] For ease of explanation, descriptions of operations performed in response to a pressure input associated with a pressure input intensity threshold or in response to a gesture including a pressure input are optionally triggered in response to detecting an increase in the intensity of the contact above the pressure input intensity threshold, an increase in the intensity of the contact from an intensity below a hysteresis intensity threshold to an intensity above the pressure input intensity threshold, a decrease in the intensity of the contact below the pressure input intensity threshold, or a decrease in the intensity of the contact below a hysteresis intensity threshold corresponding to the pressure input intensity threshold. Additionally, in examples where an operation is described as being performed in response to detecting a decrease in the intensity of the contact below a pressure input intensity threshold, the operation is optionally performed in response to detecting a decrease in the intensity of the contact below a hysteresis intensity threshold corresponding to and lower than the pressure input intensity threshold. As described above, in some embodiments, the triggering of such responses also depends on time-based criteria being met (e.g., a delay time elapsed between the first intensity threshold being met and the second intensity threshold being met). User Interface and Related Processing
[0193] Attention is now directed to embodiments of user interfaces (“UIs”) and associated processing that may be implemented on an electronic device such as portable multifunction device 100 or device 300, which includes a display, a touch-sensitive surface, one or more tactile output generators for generating tactile outputs, one or more sensors for detecting the intensity of contact with a button on the device (e.g., a virtual or physical home button), and (optionally) one or more sensors for detecting the intensity of contact with the touch-sensitive surface.
[0194] 5A1-5C19 illustrate exemplary user interfaces for providing tactile output and visual feedback in response to multiple types of input on a device's buttons (e.g., a physical home button or a virtual home button), according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including those in FIGS. 7A-7G, 9A-9D, 11A-11E, 13A-13D, 15A-15E, 17A-17D, and 19A-19C. For ease of explanation, some of the embodiments are discussed with reference to operations performed on a device having touch-sensitive display system 112. In such embodiments, the focus selector is optionally a respective finger or stylus contact, a representative point corresponding to a finger or stylus contact (e.g., the centroid of each contact or a point associated with each contact), or the centroid of two or more contacts detected on touch-sensitive display system 112. However, a similar operation is optionally performed on a device having display 450 and another touch-sensitive surface 451 in response to detecting a contact on touch-sensitive surface 451 while displaying the illustrated user interface on display 450, along with a focus selector.
[0195] 5A1-5A18 illustrate exemplary user interfaces for providing tactile and visual feedback for button interactions, according to some embodiments. 5A1-5A18 illustrate opening an application from the home screen and providing visual feedback and tactile output in response to multiple types of input on a home button (e.g., button 204).
[0196] 5A1 illustrates a user interface 510 for a menu of applications (e.g., the first page of a multi-page home screen) on device 100, according to some embodiments. User interface 510 includes similar elements to user interface 400 described above with respect to FIG. 4A, however, for the sake of brevity, a comprehensive description of the elements of user interface 510 is not provided here.
[0197] 5A2-5A3 show an example of detecting input on a Clock icon (eg, a tap gesture by contact 502 in FIG. 5A2) and displaying a Clock application user interface 512 (FIG. 5A3).
[0198] 5A4-5A8 are examples of detecting changes in the intensity of a contact (e.g., contact 504) on a home button (e.g., button 204) and providing visual feedback regarding activation of the home button according to the intensity (e.g., indicating the start of a transition from user interface 512 back to user interface 510). In FIG. 5A4, the intensity of contact 504-a is still above the "hint" intensity threshold IT H 5A5-5A7, the intensity of the contact 504 does not reach the hint intensity threshold IT H , the visual feedback dynamically changes according to the intensity of the contact. For example, as the intensity of the contact increases from FIG. 5A5 to FIG. 5A6, the transition from user interface 512 to user interface 510 (e.g., from user interface 513-1 to user interface 513-2) advances, and as the intensity of the contact decreases from FIG. 5A6 to 5A7, the transition from user interface 512 to user interface 510 reverses (e.g., from user interface 513-2 to user interface 513-1). The intensity of contact 504 increases above a shallow pressure intensity threshold IT L , the end of input by contact 504 is detected, and the user interface 512 of the Clock application is redisplayed on the display (FIG. 5A8).
[0199] 5A9-5A14 illustrate examples of detecting changes in the intensity of a contact (e.g., contact 508) on a home button (e.g., button 204), providing visual feedback regarding activation of the home button according to the intensity (e.g., indicating the beginning of a transition from user interface 512 back to user interface 510), and providing a tactile output in response to an input on the home button (e.g., button 204). In FIGS. 5A9-5A11, as the intensity of the contact increases (e.g., from contact 508-a to contact 508-b to contact 508-c), a transition from user interface 512 to user interface 510 (e.g., from user interface 513-1 to user interface 513-2 to user interface 513-3) progresses. In FIG. 5A11, the intensity of contact 508-c exceeds a "light press" intensity threshold IT on the home button. L (e.g., a down-click of button 204, or sometimes called a "press event"), device 100 provides tactile output 503 (e.g., a mini-tap 270 Hz with a gain of 0.5). In FIG. 5A13, the intensity of contact 508-e exceeds the "shallow press release" intensity threshold IT LR When the intensity of contact 508 decreases to a shallow pressure intensity threshold IT (e.g., an upclick of button 204, or sometimes called a "release event"), device 100 provides a different tactile output, such as tactile output 505 (e.g., a mini-tap 270 Hz with a gain of 0.3). L (e.g., FIG. 5A11 ), and once the end of input by contact 508 is detected (e.g., by a release event in FIG. 5A13 ), the transition from user interface 512 to user interface 510 (e.g., from user interface 513-3 in FIG. 5A11 to user interface 513-4 in FIG. 5A12 to user interface 513-5 in FIG. 5A13 to user interface 510 in FIG. 5A14 ) continues until completion as shown in FIGS. 5A11-5A14. The tactile outputs shown in FIGS. 5A11 and 5A13 correspond to a first range of values for an intensity change metric (e.g., “weak” intensity), as described below with respect to method 1500.
[0200] 5A15-5A16 show that the pressure input by the contact 508 is applied for a threshold time (for example, a long pressure time T LP 5A16). In this case, the animated transition from user interface 512 to user interface 510 is interrupted (e.g., at user interface 513-6 in FIG. 5A16) and user interface 515 (e.g., an automated assistant user interface) is displayed. In some embodiments, once the animated transition from user interface 512 to user interface 510 is interrupted, another animated transition (e.g., from the point of interruption to user interface 515) is displayed, as shown in user interface 514-1 in FIG. 5A17. In some embodiments, as shown in FIG. 5A16, the intensity of contact 508-f is maintained for a threshold time (e.g., T LP ) during shallow pressure intensity threshold IT L If the contact is maintained above T, device 100 provides tactile output 507 (e.g., double mini-tap 270 Hz or micro-tap 270 Hz with gain 0.9). In some embodiments, as shown in FIG. 5A18, once the transition to the automated assistant user interface (e.g., user interface 515 of FIG. 5A18) is complete, device 100 provides tactile output 509 (e.g., double mini-tap 270 Hz or micro-tap 270 Hz with gain 0.9). In some embodiments, device 100 determines if the contact is above T LP Shallow pressure intensity threshold IT versus threshold time L 5A16) or provides a tactile output when the automated assistance user interface is completed (e.g., tactile output 509 in FIG. 5A18), but not both.
[0201] In the examples of FIGS. 5A1 to 5A18, a press event (e.g., a light contact intensity threshold IT ) on a home button (e.g., button 204) L When the contact strength is increased to 100%, the release event (for example, when the contact strength is increased to 100%) is triggered. LRThe tactile output for the press and release events (when the pressure is reduced to 270 Hz) is shown as a 270 Hz mini-tap (e.g., when the second tactile output setting is selected, as described below with reference to FIGS. 5C1-5C9). In some embodiments, when the first tactile output setting is selected (e.g., as described below with reference to FIGS. 5C13-5C19), the tactile output in these examples may be a 230 Hz mini-tap. In some embodiments, when the third tactile output setting is selected (e.g., as described below with reference to FIGS. 5C10-5C12), the tactile output in these examples may be a 300 Hz mini-tap. Similarly, in FIGS. 5B1-5B75, the tactile output for the press and release events is shown as a 270 Hz mini-tap (e.g., when the second tactile output setting is selected), but when the first or third tactile output setting is selected, the tactile output may be a 230 Hz or 300 Hz mini-tap, respectively.
[0202] 5B1-5B75 illustrate exemplary user interfaces for providing tactile and visual feedback for button interactions, according to some embodiments. Figures 5B1-5B75 illustrate opening an application from a folder on a secondary page of a multi-page home screen and providing visual feedback and tactile output in response to multiple types of input on a home button (e.g., button 204).
[0203] 5B1 illustrates a user interface 520 for a menu of applications (e.g., a secondary page of a multi-page home screen) on device 100, according to some embodiments. User interface 520 includes similar elements to user interface 400 described above with respect to FIG. 4A, however, for the sake of brevity, a comprehensive description of the elements of user interface 520 is not provided here.
[0204] 5B2-5B3 show an example in which an input on a photo folder (for example, a tap gesture by contact 530 in FIG. 5B2) is detected and a photo folder user interface 522 (FIG. 5B3) is displayed.
[0205] 5B4-5B5 illustrate an example of detecting input (e.g., a tap gesture with contact 531 in FIG. 5B4) on a Pages icon in user interface 522 (e.g., for a word processing application such as the Pages application by Apple Inc. of Cupertino, California) and displaying user interface 524 of the Pages application (e.g., FIG. 5B5).
[0206] 5B6 to 5B14 show a case where, for example, a first press event, a subsequent first release event, and a subsequent second press event occur within a double-click time threshold T DC 1 illustrates an example of detecting double clicks that are close in time (detected within a threshold time amount of each other, such as when both the first and second press events are within the interrupt time threshold T I The first and second press events occur before the threshold amount of time T I occurs before the second press event is detected, causing the animated transition from user interface 524 (e.g., the Pages application) to user interface 522 (e.g., the Photos folder) to be interrupted (e.g., at the first point where the second press event is detected, as shown in FIG. 5B10).
[0207] 5B6-5B10 illustrate the beginning of an animated transition from user interface 524 (e.g., a page application) to user interface 522 (e.g., a photo folder). In FIG. 5B6, the intensity of contact 532-a is below a shallow pressure intensity threshold IT on the home button. L (e.g., a first down-click of button 204, or sometimes referred to as a "first press event"), device 100 provides tactile output 571 (e.g., a mini-tap 270 Hz with a gain of 1). In FIG. 5B8, the intensity of contact 532-c increases to a shallow release intensity threshold IT LR(e.g., a first upclick of button 204, or sometimes referred to as a "first release event"), device 100 provides a different tactile output (e.g., a mini-tap 270 Hz with a gain of 0.5), such as tactile output 572. In FIG. 5B10, when the intensity of contact 532-e decreases below double-click time threshold T DC A shallow pressure intensity threshold on the home button for a second time within L (e.g., a second down-click of button 204, or sometimes referred to as a "second press event"), device 100 provides another tactile output (e.g., a mini-tap 270 Hz with a gain of 0.8), such as tactile output 573. The tactile outputs shown in FIGS. 5B6, 5B8, and 5B10 correspond to a second range of values of the intensity change metric (e.g., "normal" intensity), as described below with respect to method 1500.
[0208] In FIG. 5B10, when a second press event is detected, the animated transition from user interface 524 (e.g., the Pages application) to user interface 522 (e.g., a photo folder) pauses at a first point (e.g., at user interface 525-5), and the animated transition to user interface 528 (e.g., a multitasking user interface) begins at the pause point. FIGS. 5B11-5B13 illustrate the animated transition from the pause point to user interface 528 (e.g., from user interface 526-1 in FIG. 5B11 to user interface 526-2 in FIG. 5B12 to user interface 526-3 in FIG. 5B13). FIG. 5B14 illustrates user interface 528 (e.g., a multitasking user interface) with the Pages app (e.g., user interface 524) on top.
[0209] 5B15-5B16 illustrate an example of detecting input (e.g., a press input by contact 533 in FIG. 5B15) on a home button (e.g., button 204) and displaying user interface 524 of the Pages application (FIG. 5B16). FIG. 5B16 illustrates the same starting point as FIG. 5B5. The tactile output illustrated in FIG. 5B15 corresponds to a first range of values of an intensity change metric (e.g., "weak" intensity), as described below with respect to method 1500.
[0210] 5B17-5B25 illustrate an alternative sequence to FIGS. 5B6-5B14, starting from user interface 524 of the Pages application shown in FIG. 5B5. FIGS. 5B17-5B25 illustrate a further (compared to FIGS. 5B5-5B14) time-separated double click (e.g., a first press event, followed by a first release event, followed by a second press event, where the first and second press events are longer than the double click time threshold T DC , where both the first and second press events are detected within an interrupt time threshold T I The first and second press events occur before the threshold amount of time T I occurs before the second press event is detected, the animated transition from user interface 524 (e.g., the Pages application) to user interface 522 (e.g., the Photos folder) is interrupted (e.g., at the second point where the second press event is detected, as shown in FIG. 5B21).
[0211] 5B17-5B21 illustrate the beginning of an animated transition from user interface 524 (e.g., a page application) to user interface 522 (e.g., a photo folder). In FIG. 5B17, the intensity of contact 534-a is below a shallow pressure intensity threshold IT on the home button. L As the intensity of contact 534-c increases (e.g., a first down-click of button 204, or a "first press event"), device 100 provides tactile output 575 (e.g., a mini-tap 270 Hz with a gain of 1). In FIG. 5B19, the intensity of contact 534-c increases to a shallow release intensity threshold ITLR (e.g., a first upclick of button 204, or "first release event"), device 100 provides a different tactile output (e.g., a mini-tap 270 Hz with a gain of 0.5), such as tactile output 576. In FIG. 5B21, when the intensity of contact 534-e on the home button decreases below double-click duration threshold T DC During a second time within the range (e.g., a second down-click of button 204 or a second press event), device 100 provides another tactile output (e.g., a mini-tap 270 Hz with a gain of 0.8), such as tactile output 577. The tactile outputs shown in Figures 5B17, 5B19, and 5B21 correspond to a second range of values of the intensity change metric (e.g., "normal" intensity), as described below with respect to method 1500.
[0212] In FIG. 5B21, when a second press event is detected, the animated transition from user interface 524 (e.g., the Pages application) to user interface 522 (e.g., a photo folder) is interrupted at a second point (e.g., at user interface 525-6) that is later than the first point (e.g., at user interface 525-5 in FIG. 5B10), and the animated transition to user interface 528 (e.g., a multitasking user interface) begins at the second interruption point. FIGS. 5B22-5B24 show the animated transition from the second interruption point to user interface 528 (e.g., from user interface 527-1 in FIG. 5B22 to user interface 527-2 in FIG. 5B23 to user interface 527-3 in FIG. 5B24). FIG. 5B25 shows user interface 528 (e.g., a multitasking user interface) with the Pages application (e.g., user interface 524) on top.
[0213] 5B26-5B27 illustrate an example of detecting input (e.g., a press input by contact 535 in FIG. 5B26) on a home button (e.g., button 204) and displaying user interface 524 of the Pages application (FIG. 5B27). FIG. 5B27 illustrates the same starting point as FIG. 5B5. The tactile output illustrated in FIG. 5B26 corresponds to a first range of values of an intensity change metric (e.g., "weak" intensity), as described below with respect to method 1500.
[0214] 5B28-5B38 illustrate an alternative sequence to FIGS. 5B6-5B14 and 5B17-5B25, starting from the user interface 524 of the page application shown in FIG. 5B5. FIGS. 5B28-5B38 illustrate an example of detecting a double click further apart in time (compared to FIGS. 5B5-5B14 and 5B16-5B25) (e.g., a first press event, followed by a first release event, followed by a second press event, where the first and second press events are longer than the double click time threshold T DC , etc., are detected within a threshold amount of time of each other), and the first press event is detected within the interrupt time threshold T I The second press event occurs before the threshold amount of time, such as the interrupt time threshold T I The second press event occurs after the interrupt time threshold T I , so that the animated transition from user interface 524 (e.g., the Pages application) to user interface 522 (e.g., the photos folder) does not pause before the animated transition to the multitasking user interface (e.g., user interface 529, FIG. 5B38).
[0215] 5B28-5B34 show an animated transition from user interface 524 (e.g., a page application) to user interface 522 (e.g., a photo folder). In FIG. 5B28, the intensity of contact 536-a is below a shallow pressure intensity threshold IT on the home button. LAs the intensity of contact 536-c increases (e.g., a first down-click of button 204 or a first press event), device 100 provides tactile output 579 (e.g., a mini-tap 270 Hz with a gain of 1). In FIG. 5B30, when the intensity of contact 536-c increases above a shallow release intensity threshold IT LR 5B32, when the intensity of contact 536-e decreases to below the double click time threshold T DC A shallow pressure intensity threshold on the home button for a second time within L When the intensity change metric increases (e.g., a second down-click of button 204 or a second press event), device 100 provides another tactile output (e.g., a mini-tap 270 Hz with a gain of 0.8), such as tactile output 581. The tactile outputs shown in Figures 5B28, 5B30, and 5B32 correspond to a second range of values for the intensity change metric (e.g., "normal" intensity), as described below with respect to method 1500.
[0216] In FIG. 5B32, when a second press event is detected, the second press event is detected within the interrupt time threshold T I Because this occurs later, the animated transition from user interface 524 (e.g., the Pages application) to user interface 522 (e.g., the photos folder) is not interrupted. Figures 5B33-5B34 show the continuation of the animated transition from user interface 524 (e.g., the Pages application) to user interface 522 (e.g., the photos folder), and Figure 5B35 shows user interface 522. Figures 5B36-5B37 show the animated transition from user interface 522 (e.g., the photos folder) to user interface 529. Figure 5B38 shows user interface 529 (e.g., the multitasking user interface) with the photos folder (e.g., user interface 522) at the top.
[0217] 5B40-5B48 are alternative sequences of FIGS. 5B6-5B14, 5B17-5B25, and 5B28-5B38, starting from the user interface 524 of the page application shown in FIG. 5B5. dc This is an example of detecting two single clicks when a second press event occurs later. The second press event occurs within the double-click time threshold T DC occurs after the , so the two press events are treated as two single clicks (as opposed to a double click).
[0218] 5B40-5B46 show an animated transition from user interface 524 (e.g., the Pages application) to user interface 522 (e.g., a photo folder). In FIG. 5B40, the intensity of contact 537-a is below a shallow pressure intensity threshold IT on the home button. L As the intensity of contact 537-c increases (e.g., a down-click of button 204, or a first press event), device 100 provides tactile output 582 (e.g., a mini-tap 270 Hz with a gain of 1). In FIG. 5B42, the intensity of contact 537-c increases above a shallow release intensity threshold IT LR As the intensity of contact 538-a decreases (e.g., an upclick of button 204 or a first release event), device 100 provides a different tactile output (e.g., a mini-tap 270 Hz with a gain of 0.5), such as tactile output 583. In FIG. 5B45, when the intensity of contact 538-a decreases to a value less than the double-click time threshold T DC After a shallow pressure intensity threshold on the home button has elapsed, L(e.g., a down-click of button 204 or a second press event), device 100 provides tactile output 584 (e.g., a mini-tap of 270 Hz with a gain of 1). In some embodiments, tactile output 584 (FIG. 5B45) has the same characteristics (e.g., a mini-tap of 270 Hz with a gain of 1) as tactile output 582 (FIG. 5B50) because both are down-clicks of single-click inputs. The tactile outputs shown in FIGS. 5B40, 5B42, and 5B45 correspond to a second range of values of the intensity change metric (e.g., "normal" intensity), as described below with respect to method 1500.
[0219] In Figure 5B45, when a second press event is detected, the animated transition from user interface 524 (e.g., the Pages application) to user interface 522 (e.g., the photos folder) is not interrupted because the second press event is a separate single click. Figure 5B46 shows the continuation of the animated transition from user interface 524 (e.g., the Pages application) to user interface 522 (e.g., the photos folder), and Figure 5B47 shows user interface 522. Although not shown, in some embodiments, device 100 displays an animated transition from user interface 522 (Figure 5B47) to user interface 520 (Figure 5B48).
[0220] FIG. 5B49 shows a comparison of alternative sequences from the user interface 524 (e.g., the Pages application), as detailed above. The top row of FIG. 5B49 shows a comparison of two sequences with double clicks close in time, where both the first and second press events are T I The second row of FIG. 5B49 shows a double click where the first and second press events are further apart in time, but both the first and second press events occur within T I The third row of FIG. 5B49 shows a double click where the first and second press events are further apart in time, and the first press event is TI The second press event occurs before T I The fourth row of Figure 5B49 shows two single clicks, the first of which is a press event. I The second press event occurs before T DC The sequence of Figures 5B39 to 5B48 occurs after
[0221] Figures 5B50-5B59 illustrate further alternative sequences to Figures 5B5-5B15. In Figures 5B50-5B59, the animated transition from user interface 524 (e.g., the Pages application) to user interface 522 (e.g., the photos folder) does not begin until after the first release event (e.g., Figure 5B53). Although not shown, in some embodiments, the sequences of Figures 5B16-5B25, 5B27-5B38, and / or 5B39-5B48 have alternative sequences (e.g., Figures 5B19, 5B30, and 5B42, respectively) in which the animated transition from user interface 524 (e.g., the Pages application) to user interface 522 (e.g., the photos folder) does not begin until after the first release event.
[0222] 5B60-5B61 illustrate an example of detecting an input (e.g., a press input by contact 540 in FIG. 5B60) on a home button (e.g., button 204) and displaying user interface 524 of the Pages application (FIG. 5B61). The tactile output shown in FIG. 5B60 corresponds to a first range of values of an intensity change metric (e.g., "weak" intensity), as described below with respect to method 1500.
[0223] 5B62-5B65 show a "weak" intensity down-click and a "weak" intensity up-click. In FIG. 5B63, the "weak" intensity indicates that the intensity of contact 541-b is below a shallow pressure intensity threshold IT on the home button. L(e.g., for an intensity change metric value range up to a predetermined number of units of intensity per second, such as 1250 grams per second), device 100 provides tactile output 590 (e.g., a mini-tap 270 Hz with a gain of 0.5). In FIG. 5B65, a "weak" intensity indicates that the intensity of contact 541-d exceeds a shallow release intensity threshold IT LR (e.g., for an intensity change metric value range up to a predetermined number of units of intensity per second, such as 1250 grams per second), device 100 provides tactile output 591 (e.g., a mini-tap 270 Hz with a gain of 0.25). In some embodiments, the tactile output of a "weak" up-click event is 50% of the tactile output of a "weak" down-click event. In some embodiments, the audio output of a "weak" up-click event is 50% of the audio output of a "weak" down-click event.
[0224] 5B66-5B69 show a "normal" intensity down-click and a "normal" intensity up-click. In 5B66, the "normal" intensity indicates that the intensity of contact 542-b is below the shallow pressure intensity threshold IT on the home button. L (e.g., for an intensity-change metric value range greater than a predetermined number of units of intensity per second, such as 1250 grams per second), device 100 provides tactile output 592 (e.g., a mini-tap 270 Hz with a gain of 1). In FIG. 5B69, a "normal" intensity causes contact 542-d's intensity to exceed a shallow release intensity threshold IT LR (e.g., for an intensity change metric value range greater than a predetermined number of units of intensity per second, such as 1250 grams per second), device 100 provides tactile output 593 (e.g., a mini-tap 270 Hz with a gain of 0.5). In some embodiments, the tactile output of a "normal" up-click event is 50% of the tactile output of a "normal" down-click event. In some embodiments, the audio output of a "normal" up-click event is 50% of the audio output of a "normal" down-click event.
[0225] 5B70-5B75 show an example of using a home button (e.g., button 204) as a "back" button. FIGS. 5B71-5B72 show an example of detecting input on a home button (e.g., button 204) (e.g., a press input by contact 543 in FIG. 5B71) while displaying user interface 522 (e.g., a photo folder) and, accordingly, displaying user interface 520 (e.g., a secondary page of a multi-page home screen having a photo folder). FIGS. 5B73-5B74 show an example of detecting input on a home button (e.g., button 204) (e.g., a press input by contact 544 in FIG. 5B73) while displaying user interface 520 (e.g., a secondary page of a multi-page home screen) and, accordingly, displaying user interface 510 (e.g., a primary page of a multi-page home screen). In some embodiments, as shown in FIG. 5B75, upon detecting an input on the home button (e.g., a press input by contact 545) while displaying the primary page (e.g., user interface 510) of a multi-page home screen, device 100 provides a tactile output 596 (e.g., a mini-tap 270 Hz with a gain of 1) but does not change the displayed user interface.
[0226] 5C1-5C19 show example user interfaces for a home button configuration process according to some embodiments. Figures 5C1-5C19 show an example of a home button configuration process during which a user selects and tries out multiple tactile output settings for the home button before selecting a tactile output setting for the home button on a device.
[0227] 5C1-5C5 show an example of selecting "Settings," then "General," and then "Home Button." FIGS. 5C6-5C7 show an example of an animated transition to user interface 564 (e.g., the Home Button configuration user interface with option 2 selected). In FIG. 5C8, option 2 is the currently selected tactile output setting. In some embodiments, option 2 is selected as the default tactile output setting. In some embodiments, option 2 corresponds to a second tactile output pattern, such as a mini-tap 270 Hz. In FIG. 5C9, the intensity of contact 553 on the Home Button is below a shallow pressure intensity threshold IT L , device 100 provides a tactile output 561 (eg, mini-tap 270 Hz) corresponding to the selected tactile output setting (eg, option 2).
[0228] 5C10-5C11 illustrate an example of selecting option 3 (e.g., by pressing input with contact 554 on option 3, FIG. 5C10) and displaying user interface 566 (e.g., a home button configuration user interface with option 3 selected). Although not shown, in some embodiments, an animated transition is displayed between user interface 564 (FIG. 5C10) and user interface 566 (FIG. 5C11) when option 2 returns to its original location and option 3 moves toward the home button (e.g., button 204).
[0229] In FIG. 5C11, the tactile output setting is currently selected as option 3. In some embodiments, option 3 corresponds to a third tactile output pattern, such as a mini-tap 300 Hz. In FIG. 5C12, the intensity of contact 555 on the home button is below a shallow pressure intensity threshold IT L , device 100 provides a tactile output 565 (eg, mini-tap 300 Hz) corresponding to the selected tactile output setting (eg, option 3).
[0230] 5C13-5C14 illustrate an example of selecting option 1 (e.g., by pressing contact 556 on option 1, FIG. 5C13) and displaying user interface 568 (e.g., a home button configuration user interface with option 1 selected). Although not shown, in some embodiments, an animated transition is displayed between user interface 566 (FIG. 5C13) and user interface 568 (FIG. 5C14) when option 3 returns to its original location and option 1 moves toward the home button (e.g., button 204).
[0231] In FIG. 5C14, option 1 is currently selected as the tactile output setting. In some embodiments, option 1 corresponds to a first tactile output pattern, such as a mini-tap 230 Hz. In FIG. 5C15, the intensity of contact 557 on the home button (e.g., button 204) is below a shallow pressure intensity threshold IT L , device 100 provides a tactile output 567 (eg, mini-tap 230 Hz) corresponding to the selected tactile output setting (eg, option 1).
[0232] 5C16-5C17 are examples of selecting "Done" along with option 1 (e.g., using a press input by contact 558 on the "Done" icon, FIG. 5C16), and in response displaying user interface 562 (e.g., the General Settings user interface, FIG. 5C17).
[0233] In FIG. 5C18, the intensity of contact 559 on the home button (e.g., button 204) is less than the light pressure intensity threshold IT L5A1-5A18 and 5B1-5B75 are shown with the tactile output setting on option 2, so the tactile output in these figures corresponds to the selected tactile output setting for option 2 (e.g., mini-tap 270 Hz). If the user selects option 1 for the tactile output setting (e.g., as shown in FIG. 5C16), the tactile output in FIGS. 5A1-5A18 and 5B1-5B75 corresponds to the selected tactile output setting for option 1 (e.g., mini-tap 230 Hz). In response to an input on the home button (e.g., button 204), user interface 510 (e.g., the first page of a multi-page home screen) is displayed ( FIG. 5C19 ). Note that FIGS. 5A1-5A18 and 5B1-5B75 are shown with the tactile output setting on option 2, so the tactile output in these figures corresponds to the selected tactile output setting for option 2 (e.g., mini-tap 270 Hz). If the user selects option 1 for the tactile output setting (e.g., as shown in FIG. 5C16 ), the tactile output in FIGS. 5A1-5A18 and 5B1-5B75 corresponds to the selected tactile output setting for option 1 (e.g., mini-tap 230 Hz). Similarly, if the user selects option 3 for the tactile output setting, the tactile outputs in FIGS. 5A1-5A18 and 5B1-5B75 will correspond to the selected tactile output setting of option 3 (eg, mini-tap 300 Hz).
[0234] 6A1-6B26 show exemplary user interfaces for controlling generation of user interface haptic feedback and generation of home button haptic feedback, according to some embodiments. The user interfaces in those figures are used to illustrate the processes described below, including the processes in FIGS. 13A-13D. Although some of the following examples are described with reference to input on a touchscreen display (combining the touch-sensitive surface and display), in some embodiments, the device detects input on touch-sensitive surface 451 that is separate from display 450, as shown in FIG. 4B.
[0235] In some embodiments, the device provides tactile output control settings (eg, sound and haptic settings) that allow the user to turn on and off user interface tactile output generation on the device.
[0236] Generally, devices generate various types of user interface tactile outputs in response to direct interaction with user interface elements, such as selection, manipulation, drag / drop, and / or activation of a user interface element via a focus selector (e.g., a pointer or touch) positioned proximate to the user interface element when user input is detected. User interface tactile outputs generally accompany a visual change in the user interface. For example, in some embodiments, the device provides a tactile output (e.g., a microtap (150 Hz)) in response to an input that picks up an item in the user interface (e.g., a long press input with sustained contact at a location corresponding to the item), and the user interface indicates an object lifting up toward the display surface, with the tactile output timed to coincide with the end of the object's movement. In addition to user interface tactile outputs, the device also generates tactile outputs in response to activation of a persistent button on the device (e.g., a virtual home button or a non-mechanical home or back button). Button activation may or may not be accompanied by a corresponding visual change in the user interface. For example, in response to a press input on the home button, the device generates a tactile output, dismisses the currently displayed user interface, and displays the home screen. In response to another press input on the home button, the device generates a tactile output for the button press but continues to display the home screen (e.g., if the currently displayed home screen is the only home screen or the primary page of a multi-page home screen). Thus, in some contexts, it allows the user to turn off the user interface tactile output, e.g., to save power or reduce distrust. However, if the user only wants to turn off the user interface tactile output, it prevents the user from accidentally turning off tactile output generation for a persistent button.
[0237] In some embodiments, the device provides non-visual feedback that includes both audio and tactile output components. Certain types of audio output may be paired with a visual change in the user interface or may exist independently of a visual change in the user interface. For example, audio alerts, ringtones, and music clips may be played without relying on tactile output and function to alert the user to a change in some aspect of the user interface or the state of the device. In some embodiments, the device generates specific audio outputs that are specifically tied to, and enhance or complement, the tactile output. These types of audio outputs are referred to herein as “haptic audio outputs.” In some embodiments, the non-visual feedback profile includes a tactile output pattern for the tactile output and an audio output pattern for the tactile audio output that accompanies the tactile output and evokes a certain tactile sensation in the user. The interplay between the frequency, amplitude, waveform, and / or timing of the tactile audio output and the corresponding tactile output creates a richer and more subtle tactile sensation for the user, making the non-visual feedback more noticeable to the user. In some situations, the device allows the user to control the generation of haptic audio outputs (e.g., haptic audio outputs corresponding to user interface tactile outputs and / or haptic audio outputs corresponding to device / system tactile outputs (e.g., home button tactile outputs)) using general volume and / or mute controls, e.g., to conserve power and / or reduce distrust. However, the device also prevents the user from accidentally turning off haptic audio for device / system tactile outputs (e.g., audio accompanying a tactile output for persistent button activation).
[0238] 6A1-6A26 illustrate the generation of tactile outputs when a user interface tactile output is turned on on a device. 6A1-6A26 illustrate that when a user interface tactile output is turned on on a device, the device generates both a user interface tactile output and a system tactile output (e.g., a tactile output for activation of a hardware or persistent button on the device). 6B1-6B26 illustrate that when a user interface tactile output is turned off on a device, the device generates a system tactile output (e.g., a tactile output for activation of a hardware or persistent button on the device) but ceases to generate at least a portion of the user interface tactile output.
[0239] As shown in FIG. 6A1 , the control user interface (e.g., sound and haptic control user interface 680) includes several toggle settings for controlling the sound and haptic output of the device. For example, vibration in ring setting 670 is set to “OFF” via toggle control 671. Vibration in silent setting 672 is set to “OFF” via toggle control 673, and user interface tactile output setting 674 is set to “ON” via toggle control 675. Sound and haptic control interface 680 further includes volume control 676 for setting the current volume for the ringer and alert sound output (e.g., by moving volume indicator 677 along volume control 676). Additionally, a button setting 678 is set to “OFF” via toggle control 679.
[0240] While user interface haptic output is turned on in device 100 via toggle control 675, user interface tactile output and system tactile output are generated. In FIGS. 6A2-6A4, input by a contact (e.g., contact 604) is detected on touchscreen 112 at a location corresponding to an application launch icon (e.g., icon 606 for launching the Mail application) on a home screen user interface (e.g., home screen 602). As shown in FIGS. 6A3-6A4, the characteristic intensity of contact 604 is below a shallow pressure intensity threshold IT L , the home screen 602 (excluding the icons 606) is blurred (as indicated by the intensity meter 610 in FIG. 6A4), and a menu (e.g., the quick actions menu 608) is presented on the blurred home screen 602 (as shown in FIG. 6A4). In addition, as shown in FIG. 6A4, the device 100 may adjust the characteristic intensity of the contact 604 to a shallow pressure intensity threshold IT L In response to detecting an increase above 0.1, the device presents a quick action menu 608 and generates a tactile output 612 (eg, a microtap (200 Hz) with a gain of 1.0).
[0241] 6A5-6A8 illustrate that while contact 604 is maintained on touch screen 112, device detects movement of contact 604 from a location corresponding to application launch icon 606 to respective locations corresponding to menu options 614, 616, 618, and 620. As contact 604 moves to the locations corresponding to respective menu options 614, 616, 618, and 620, device 100 generates respective tactile outputs (e.g., tactile outputs 622, 624, 628, and 630) (e.g., microtaps (270 Hz) with a gain of 0.4 and a minimum interval of 0.05 seconds) to indicate that contact 604 has moved to a different menu option.
[0242] 6A8-6A9 illustrate that lift-off of contact 604 is detected when contact 604 passes over menu option 620. In response to detecting lift-off of contact 604, device 100 launches a Mail application and displays a user interface of the Mail application corresponding to menu option 620 (e.g., email list user interface 622), as shown in FIG.
[0243] 6A11-6A13, an input by another contact (e.g., contact 624) on touchscreen 112 is detected at a location corresponding to an email item (e.g., item 626) in the list of email items. As shown in FIGS. 6A11-6A13, the characteristic intensity of contact 624 is below a shallow pressure intensity threshold IT L , the email list user interface 622 (except for item 626) is blurred, and a preview (e.g., preview 628) of item 626 is presented on the blurred email list user interface 622 (as shown in FIG. 6A13). Additionally, as shown in FIG. 6A13, device 100 may adjust the characteristic intensity of contact 624 to a shallow pressure intensity threshold IT L In response to detecting an increase above 0.5, a review 628 is presented and a tactile output 630 (eg, a microtap (200 Hz) with a gain of 1.0) is generated.
[0244] 6A13-6A16 show that while contact 624 is maintained on touch screen 112, device detects movement of contact 624 to the left from the press location. The leftward movement of contact 624 drags preview 628 toward the left side of touch screen 112. While preview 628 is dragged toward the left side of touch screen 112, hidden menu option 632 (e.g., "Archive") is gradually revealed from behind preview 628. In FIG. 6A16, when contact 624 moves across a threshold location within the user interface (e.g., a hidden threshold location to the left of the centerline of touch screen 112) for triggering an operation associated with hidden menu option 632 (e.g., archiving an email item and removing it from an email list), device 100 changes the color of menu option 632 to indicate that the threshold for triggering the archive operation has been met by the movement of preview 628. Additionally, device 100 generates a tactile output 634 (e.g., a microtap (270 Hz) with a gain of 1.0) along with a visual change in the user interface to indicate that the threshold for triggering the archive operation has been met by the movement of preview 628.
[0245] 6A17-6A19 show that lift-off of contact 624 is detected after contact 624 crosses a threshold position (or drags past preview 628) to trigger an archive operation. In response to detecting lift-off of contact 624, device 100 performs an archive operation on the email corresponding to item 626, and item 626 is removed from the list of email items as shown in FIG. 6A19.
[0246] 6A20-6A22, input by another contact (e.g., contact 636) on touchscreen 112 is detected at a location corresponding to another email item (e.g., item 638) in the list of email items. As shown in FIGS. 6A20-6A22, the characteristic intensity of contact 636 is below a shallow pressure intensity threshold IT L, the email list user interface 622 (except for item 638) is blurred, and a preview (e.g., preview 640) of item 638 is presented on the blurred email list user interface 622 (as shown in FIG. 6A22). In addition, as shown in FIG. 6A22, device 100 may adjust the characteristic intensity of contact 636 to a shallow pressure intensity threshold IT L In response to detecting an increase above 0.1, a preview 640 is presented and a tactile output 642 (eg, a microtap (200 Hz) with a gain of 1.0) is generated.
[0247] FIG. 6A23 illustrates the deep pressure intensity threshold IT while contact 636 is maintained on touchscreen 112 (e.g., on preview 640). D 6 illustrates detecting an increase in the characteristic intensity of contact 636 above a deep pressure intensity threshold. In response to detecting an increase in the characteristic intensity of contact 636 above a deep pressure intensity threshold, device 100 stops displaying preview 640 and displays content display user interface 644 (e.g., a user interface displaying the content of email item 638) in place of the blurred email list user interface. Additionally, device 100 generates tactile output 646 (e.g., full tap (150 Hz), gain: 1.0) along with displaying user interface 644.
[0248] In FIG. 6A24, lift-off of contact 636 is detected and user interface 644 is maintained after lift-off of contact 636 is detected.
[0249] FIG. 6A25 shows that a pressure input by a contact (e.g., contact 646) is detected on the home button 650 of the device 100 while the user interface 644 is displayed on the touch screen 112. The device 100 detects the pressure input (e.g., a shallow pressure intensity threshold IT L6A26 illustrates that in response to activation of the home button 650 by a press input, the user interface 644 is dismissed and the home screen 602 is displayed in place of the user interface 644 on the touch screen 112. In response to detecting an increase in the characteristic intensity of the contact 646 above
[0250] 6B1-6B26 illustrate the generation of tactile outputs when user interface tactile outputs are turned off on a device. In particular, Figures 6B1-6B26 show that when user interface tactile outputs are turned off on a device, the device continues to generate system tactile outputs (e.g., tactile outputs for activation of hardware or persistent buttons on the device) but ceases to generate user interface tactile outputs unless the generation of a particular user interface tactile output is excluded from control by the user's tactile output settings.
[0251] As shown in FIG. 6B1, the user interface tactile output setting 674 is set to "off" via a toggle control 675 in the audio and tactile control interface 680.
[0252] While user interface tactile output is turned off in device 100 via toggle control 675, at least some user interface tactile output is no longer generated. In FIGS. 6B2-6B4, a contact (e.g., contact 605) input is detected on touchscreen 112 at a location corresponding to icon 606 for launching the Mail application on home screen 602. As shown in FIGS. 6B3-6B4, the characteristic intensity of contact 605 is below a shallow pressure intensity threshold IT L, the home screen 602 (excluding the icons 606) is blurred and the quick action menu 608 is presented on the blurred home screen 602 (as shown in FIG. 6B4). Additionally, as shown in FIG. 6B4, the device 100 may adjust the characteristic intensity of the contact 605 to a shallow pressure intensity threshold IT L In response to detecting an increase above 1.0, quick action menu 608 is presented and tactile output 613 (e.g., microtaps (200 Hz) with a gain of 1.0) is generated. In this example, even though tactile output 613 is a user interface tactile output, the tactile output for presenting the quick action menu in response to a press input is exempt from control of the user interface tactile output settings. In other words, in some embodiments, the tactile output (e.g., microtaps (200 Hz) with a gain of 1.0) associated with presenting a quick action menu in response to a press input on an application launch icon is always generated regardless of the current tactile output setting for the user interface tactile output.
[0253] 6B5-6B8 illustrate that while contact 605 is maintained on touch screen 112, device detects movement of contact 605 from a location corresponding to application launch icon 606 to respective locations corresponding to menu options 614, 616, 618, and 620. As contact 605 moves to the locations corresponding to each menu option 614, 616, 618, and 620, device 100 highlights that menu option to indicate that contact 605 has moved to a different menu option (e.g., in contrast to the scenario illustrated in FIGS. 6A5-6A8, where tactile outputs 622, 624, 628, 630 were generated to indicate that contact 604 had moved to a different menu option), but does not generate any tactile output accompanying the visual change occurring within the user interface. In other words, in some embodiments, device 100 ceases generating tactile output for some portions of the input (e.g., movement across individual menu options with contact 605) when user interface tactile output is turned off, but continues to generate tactile output for other portions of the input (e.g., an increase in the intensity of contact 605 above a shallow pressure intensity threshold that causes quick actions menu 608 to appear) regardless of whether user interface tactile output is turned on or off.
[0254] 6B8-6B9 illustrate that lift-off of contact 605 is detected when contact 605 passes over menu option 620. In response to detecting lift-off of contact 605, device 100 launches a Mail application and displays email list user interface 622 corresponding to menu option 620, as shown in FIG.
[0255] 6B11-6B13, an input by another contact (e.g., contact 625) on touchscreen 112 is detected at a location corresponding to item 626 in the list of email items. As shown in FIGS. 6B11-6B13, the characteristic intensity of contact 625 is below a shallow pressure intensity threshold IT L, (as indicated by intensity meter 610 in FIG. 6B13), email list user interface 622 (except for item 626) is blurred, and preview 628 is presented on blurred email list user interface 622 (as shown in FIG. 6B13). Additionally, as shown in FIG. 6B13, device 100 may adjust the characteristic intensity of contact 625 to a shallow pressure intensity threshold IT L In response to detecting an increase above , preview 628 is presented and tactile output 631 (e.g., microtaps (200 Hz) with a gain of 1.0) is generated. In other words, in some embodiments, the tactile output (e.g., microtaps (200 Hz) with a gain of 1.0) that accompanies the presentation of a preview in response to a press input on an item is always generated regardless of the current tactile output setting for the user interface tactile output.
[0256] 6B13-6B16 show that while contact 625 is maintained on touch screen 112, device detects movement of contact 625 to the left from the press location. The leftward movement of contact 625 drags preview 628 toward the left side of touch screen 112. While preview 628 is dragged toward the left side of touch screen 112, hidden menu option 632 (e.g., "Archive") is gradually revealed from behind preview 628). In FIG. 6B16, when contact 625 moves across a threshold location within the user interface for triggering an operation associated with hidden menu option 632 (e.g., archive email item, archive from email list), device 100 changes the color of menu option 632 to indicate that the threshold for triggering the archive operation has been met by the movement of preview 628. 6A16, however, device 100 does not generate any tactile output along with the visual change in the user interface. In other words, device 100 has ceased generating tactile output of the user interface according to the current tactile output setting in the "off" state.
[0257] 6B17-6B19 show that lift-off of contact 625 is detected after contact 625 crosses a threshold position (or drags past preview 628) to trigger an archive operation. In response to detecting lift-off of contact 625, device 100 performs an archive operation on the email corresponding to item 626, and item 626 is removed from the list of email items as shown in FIG. 6B19.
[0258] 6B20-6B22, input by another contact (e.g., contact 637) on touchscreen 112 is detected at a location corresponding to item 638 in the list of email items. As shown in FIGS. 6B20-6B22, the characteristic intensity of contact 637 is greater than or equal to a shallow pressure intensity threshold IT L, the email list user interface 622 (except for item 638) is blurred, and a preview 640 is presented on the blurred email list user interface 622 (as shown in FIG. 6B22). Further, as shown in FIG. 6B22, the device 100 may adjust the characteristic intensity of contact 637 to a shallow pressure intensity threshold IT L In response to detecting an increase above , the device presents preview 640 and generates tactile output 643 (e.g., a microtap (200 Hz) with a gain of 1.0) because tactile output 643 is exempt from control by the current tactile output setting for turning off the tactile output of the user interface.
[0259] FIG. 6B23 illustrates the deep pressure intensity threshold IT while contact 637 is maintained on touch screen 112 (e.g., on preview 640). D 6 illustrates detecting an increase in the characteristic intensity of contact 637 above a deep pressure intensity threshold. In response to detecting an increase in the characteristic intensity of contact 637 above a deep pressure intensity threshold, device 100 stops displaying preview 640 and displays content display user interface 644 in place of the blurred email list user interface. Furthermore, because tactile output 647 is exempt from control by the current tactile output setting for turning off user interface tactile output, device 100 generates tactile output 647 (e.g., full tap (150 Hz) with gain 1.0) along with displaying user interface 644.
[0260] In FIG. 6B24, lift-off of contact 637 is detected, and after lift-off of contact 637 is detected, user interface 644 is maintained.
[0261] FIG. 6B25 shows that while user interface 644 is displayed on touch screen 112, a pressure input by a contact (e.g., contact 647) is detected on home button 650 of device 100. Device 100 detects the pressure input (e.g., a shallow pressure intensity threshold IT L6B26 illustrates that in response to activating the home button 650 with a press input, the user interface 644 is dismissed and the home screen 602 is displayed in place of the user interface 644 on the touch screen 112. In response to detecting an increase in the characteristic intensity of the contact 647 above
[0262] 6A1-6B26, haptic audio output may accompany some or all of the tactile output generated in the above examples, depending on the particular prioritization of different considerations in various usage scenarios and device power saving configurations. For example, in some embodiments, haptic audio output is controlled by general device audio volume and / or mute controls.
[0263] In some embodiments, when a tactile output is generated, a haptic audio output is always generated regardless of whether the device is muted or not.
[0264] In some embodiments, when a system tactile output is generated, a haptic audio output is always generated, regardless of whether the device is muted or not.
[0265] In some embodiments, when a user interface tactile output is generated, a haptic audio output is always generated, regardless of whether the device is muted or not.
[0266] In some embodiments, if a tactile output is generated, the haptic audio output is muted when the device is muted, and the haptic audio output is generated when the device is not muted.
[0267] In some embodiments, if a system tactile output is generated, the haptic audio output accompanying the system tactile output is muted when the device is muted, and the haptic audio output accompanying the system tactile output is generated when the device is not muted.
[0268] In some embodiments, if a user interface tactile output is generated, the tactile audio output accompanying the user interface tactile output is muted when the device is muted, and the tactile audio output accompanying the user interface tactile output is generated when the device is not muted.
[0269] In some embodiments, when the device generates a haptic audio with a tactile output, the device also generates a haptic audio output according to a characteristic of the generated tactile output. For example, the amplitude of the audio output increases as the amplitude of the corresponding tactile output increases. For example, the frequency of the audio output increases as the frequency of the corresponding tactile output increases. In some embodiments, the amount of change to a characteristic (e.g., amplitude or frequency) in the audio output is greater than the amount of change to a characteristic in the corresponding tactile output.
[0270] In some embodiments, when a device generates haptic audio with a tactile output (e.g., a user interface tactile output that is controlled by a user interface tactile output setting), the device generates haptic audio output with an amplitude adjusted based on a volume setting of the device. In some embodiments, when a device generates haptic audio with a tactile output (e.g., a user interface tactile output that is exempt from control by a user interface tactile output setting), the device generates haptic audio output with an amplitude that is not adjusted based on a volume setting of the device.
[0271] In some embodiments, the device continues to generate tactile audio output when the user interface tactile output is turned off, regardless of the device's mute / unmute setting. For example, for tactile outputs that are not exempt from control by the user interface tactile output setting, the device may generate audio output instead of tactile output to provide non-visual feedback to the user when the tactile output is not generated.
[0272] In some embodiments, the device only turns off haptic audio output (e.g., haptic audio output of a user interface tactile output) according to the device's mute setting if the user interface tactile output is turned on.
[0273] Other variations of haptic and tactile output controls are possible and are not exhaustively listed here.
[0274] 7A-7C are flow diagrams illustrating a method 700 for providing visual feedback regarding activation of a user input device, according to some embodiments. Method 700 is performed on an electronic device (e.g., device 300, FIG. 3, or portable multifunction device 100, FIG. 1A) having a display, a touch-sensitive surface, one or more sensors for detecting the intensity of contact with the touch-sensitive surface and / or respective buttons of the device (e.g., a virtual or physical home button), and one or more tactile output generators for generating a tactile output. In some embodiments, the display is a touchscreen display, and the touch-sensitive surface is on or integrated into the display. In some embodiments, the display is separate from the touch-sensitive surface. In some embodiments, method 700 is governed by instructions stored on a non-transitory computer-readable storage medium (e.g., a non-volatile computer-readable storage medium) and executed by one or more processors of an electronic device, such as one or more processors 122 of device 100 (FIG. 1A). For ease of explanation, method 700 is described below as being executed by device 100. Some operations of method 700 are optionally combined and / or the order of some operations is optionally changed.
[0275] Method 700 relates to displaying initiation of visual feedback regarding activation of a user input device (e.g., a virtual or physical home button) in response to detecting a precursor input (e.g., a light press) that matches an input that activates the user input device (e.g., a press input). In some embodiments, when the input that activates the user input device is detected, changes to the user interface corresponding to the activation of the user input device are presented as a continuation of the visual feedback already presented. If no input to activate the user input device is detected before the end of the precursor input, the visual feedback is no longer displayed and the original state of the user interface is restored. Displaying initiation of visual feedback regarding activation of the user input device before the actual activation of the user input device provides the user with information regarding the effect of the input (e.g., activating a home button to return to a home screen) and allows the user an opportunity to make a decision regarding whether to proceed with completing the input based on that information. In this way, the visual feedback assists the user in providing appropriate inputs when operating / interacting with the device, improving device usability by reducing user errors, and also reducing device power consumption and improving battery life by allowing the user to use the device more quickly and efficiently.
[0276] In some embodiments, the home button of the device is a physical home button or a virtual home button (e.g., button 204, FIG. 5A1). In some embodiments, the device includes one or more sensors that detect the intensity of contact with the touch-sensitive surface. In some embodiments, the display is a touch-sensitive display. In some embodiments, the device includes one or more tactile output generators for generating a tactile output. In some embodiments, in response to detecting a first type of input on the home button (a press input or a press or release input detected through the depression of a mechanical switch, or by comparing the intensity of the contact on the home button with one or more intensity threshold-based activation criteria, as described in more detail with reference to methods 900, 1300, 1500, and 1700), the home button (e.g., permanently displayed in a respective location or located in a permanent location on the device away from the display) is available on the device in multiple different contexts to discard the currently displayed user interface (e.g., optionally redisplay a previously displayed user interface, such as a previous view of an application or system user interface, such as the device's home screen, a multitasking user interface, or a virtual assistant user interface). Other aspects of configuring haptics for home button activation are described in more detail with reference to methods 1100 and 1900.
[0277] In some embodiments, the home button responds to multiple types of inputs, including a first type of input (e.g., a single click (e.g., one press input, or one press input followed by a release event)), a second type of input (e.g., a double click (e.g., a first press event followed by a first release event and a second press event, or a first press event followed by a first release event and a second press event followed by a second release event, where the first and second press events are detected within a threshold amount of time of each other)), a third type of input (e.g., a long press (e.g., having a first press event that does not lift off until more than a threshold amount of time has passed)), and a fourth type of input (e.g., a deep press (e.g., having a first press event that includes an increase in contact intensity above a deep press intensity threshold within a threshold amount of time after an initial touchdown of the contact)). In some embodiments, each type of input is associated with dismissing a currently displayed user interface, performing a corresponding operation, and, optionally, displaying a corresponding user interface associated with the operation.
[0278] In method 700, and with reference to FIG. 7A , a device (e.g., device 100 of FIG. 5A1) displays a first user interface (e.g., a home screen or a primary page of a multi-home screen, such as user interface 510 of FIG. 5A1) on a display (702). While displaying the first user interface (e.g., user interface 510 of FIG. 5A1), the device detects input directed to the first user interface (e.g., a tap gesture with contact 502 on the Clock icon of FIG. 5A2) (704). For example, the input directed to the first user interface is a touch input on the touch-sensitive surface at a location corresponding to an activatable object within the first user interface or in the entire user interface (not on the home button). As another example, the input indicated on the first user interface is an application launch icon, a folder icon, a notification, a menu option, a control affordance (e.g., to display a control user interface), or a touch input indicated on the user interface as a whole (e.g., a swipe input on a home screen or the first page of a multi-page home screen).
[0279] In response to detecting the directed input to the first user interface, the device stops displaying the first user interface (e.g., user interface 510 of FIG. 5A2) and displays a second user interface (e.g., user interface 512 of the Clock application of FIG. 5A3) separate from the first user interface (e.g., a user interface of the first application, an enlarged folder overlaid on the dimmed home screen, an enlarged notification overlaid on the dimmed home screen, a control panel overlaid on the dimmed home screen, a multitasking user interface simultaneously presenting representations of multiple user interfaces, a secondary page of a multi-page home screen, a notification screen, a widget screen, etc.) (706).
[0280] While displaying the second user interface, the device detects (708) a touch on the home button (e.g., touch 504-a shown in FIG. 5A4). While continuously detecting touches on the home button, the device performs (710) at least three operations: First, (e.g., as shown in FIG. 5A5) a first intensity threshold (e.g., a hint intensity threshold IT H ) above the first intensity threshold. Second, in response to detecting an increase in the characteristic intensity of the contact relative to the first intensity threshold (e.g., as shown in FIGS. 5A5-5A6 and 5A9-5A10), the device indicates the start of a transition from the second user interface back to the first user interface. Third, while indicating the start of a transition from the second user interface back to the first user interface, the device detects an increase in the characteristic intensity of the contact relative to the first intensity threshold (e.g., as shown in FIGS. 5A5-5A6 and 5A9-5A10). H Detecting an input sequence (e.g., input sequences 504-a through 504-e by contact 504 in FIGS. 5A4 through 5A7, or input sequences 508-a through 508-e by contact 508 in FIGS. 5A9 through 5A13), including detecting a pressing input including an increase in the characteristic intensity of the contact above a first intensity threshold (e.g., the intensity of the contact continues to increase after reaching a first intensity threshold and is displayed after initiation of a transition from the second user interface to the first user interface).
[0281] 7B, in response to detecting the input sequence, the device determines (712) whether the input sequence meets a first criterion and / or whether the input sequence meets a second criterion, where the input sequence meets the first criterion (e.g., the second intensity threshold is a shallow pressure intensity threshold IT ) before the end of the press input is detected (e.g., as shown in FIG. 5A11). Land the second intensity threshold is higher than the first intensity threshold) meets a first criterion requiring the characteristic intensity of the contact to increase above a second intensity threshold (e.g., detecting the end of the press input includes detecting a release input (e.g., as shown in FIG. 5A13 ), such as lifting of the contact from the touch-sensitive surface or a decrease in the characteristic intensity of the contact below a release intensity threshold (e.g., the release intensity threshold may be pre-configured to be above, below, or the same as the shallow press intensity threshold, or may be dynamically determined based on an input metric of the press input (e.g., a rate of increase in contact intensity)), the device stops displaying the second user interface and re-displays the first user interface on the display (e.g., at the end of the transition from the second user interface to the first user interface, the first user interface is re-displayed and the second user interface is no longer displayed). For example, in Figures 5A8-5A14, the input sequence meets the first criterion, and device 100 stops displaying user interface 512 at the end of the transition from user interface 510 back to user interface 510 (Figure 5A8) and re-displays user interface 510 (e.g., user interfaces 513-1-513-5, Figures 5A9-5A13) (Figure 5A14).
[0282] In accordance with determining that the input sequence satisfies a second criterion requiring that the characteristic intensity of the contact remain below a second intensity threshold before an end of the pressing input is detected, the device reverses the initiation of the transition from the second user interface back to the first user interface and redisplays the second user interface on the display. For example, in Figures 5A4-5A8, the input sequence satisfies the second criterion, and device 100 reverses the initiation of the transition (e.g., from user interface 513-2 to user interface 513-1, Figures 5A6-5A7) and redisplays the second user interface (e.g., user interface 512, Figure 5A8) on the display.
[0283] In some embodiments, ceasing the display of the second user interface and re-displaying the first user interface includes displaying a continuation of the initiation of a transition from the second user interface back to the first user interface (714) (e.g., as shown in FIGS. 5A9-5A13). In some embodiments, displaying a continuation of the visual feedback displayed in response to the precursor input ensures that the complete transition from the second user interface to the first user interface is seamless and consistent with the user's expectations without confusing the user with unexpected visual changes, making the user interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the device), and allowing the user to use the device more quickly and efficiently, thereby reducing device power usage and improving battery life. Additionally, the transition from the second user interface to the first user interface is not unnecessarily delayed by the display of visual feedback in response to the precursor input.
[0284] In some embodiments, indicating the beginning of the transition from the second user interface back to the first user interface includes simultaneously displaying at least a portion of the second user interface with at least a portion of the first user interface (716). For example, in FIG. 5A9, user interface 513-1 includes a portion of user interface 512 and a portion of user interface 510. In some embodiments, as the transition progresses, more of user interface 510 is displayed and less of user interface 512 is displayed (e.g., as shown in FIGS. 5A10-5A13).
[0285] In some embodiments, the first user interface is a home screen (eg, user interface 510, FIG. 5A1) that includes multiple application launch icons corresponding to different applications on the electronic device (718).
[0286] 7C, in some embodiments, the first and second user interfaces are user interfaces of applications that are displayed consecutively 720. For example, the home button functions as a back button in some contexts.
[0287] In some embodiments, indicating the start of the transition from the second user interface back to the first user interface includes reducing the size of the second user interface (722) (e.g., as the intensity of the contact increases). For example, as shown in FIGS. 5A5-5A6, the display size of the second user interface 512 decreases as the characteristic intensity of the contact 504 increases. In some embodiments, the device causes the first user interface to be revealed from behind the second user interface (724) while reducing the size of the second user interface (e.g., as the intensity of the contact increases). For example, the second user interface may be displayed at full screen size before the contact reaches a first intensity threshold (e.g., as shown in FIG. 5A4), and as the intensity of the contact increases above the first intensity threshold, the second user interface may shrink to reveal the background home screen (e.g., as shown in FIGS. 5A5-5A6).
[0288] In some embodiments, the second user interface is a user interface of a first application (e.g., user interface 512 of a Clock application in FIG. 5A8), the first application corresponds to a first application launch icon in the first user interface (e.g., the Clock icon on user interface 510 in FIG. 5A14), and reducing the size of the second user interface includes shrinking the second user interface toward the position of the first application launch icon on the first user interface (e.g., as shown in FIGS. 5A9-5A13) (726).
[0289] In some embodiments, the second user interface includes an enlarged folder (e.g., overlaid on a blurred, enlarged version of the first user interface) (e.g., user interface 522 of FIG. 5B70), the enlarged folder corresponding to a first folder icon of the first user interface (e.g., the photo folder icon of user interface 520 of FIG. 5B72), and reducing the size of the second user interface includes shrinking the enlarged folder toward the position of the first folder icon on the first user interface (and optionally simultaneously shrinking and clarifying the enlarged version of the first user interface) (728).
[0290] In some embodiments, indicating the start of the transition from the second user interface back to the first user interface includes shifting the second user interface laterally in a first direction (e.g., according to increasing contact intensity) (730). For example, the secondary page of the home screen (e.g., user interface 520 of FIG. 5B72) is shifted leftward or rightward to make room for the primary page of the home screen (e.g., user interface 510 of FIG. 5B74). In some embodiments, the device reveals the first user interface (e.g., the home screen is revealed from behind the second user interface or the home screen slides in next to the moving second user interface) (732) as the second user interface is shifted laterally in the first direction.
[0291] 7D , in some embodiments, indicating the start of the transition from the second user interface back to the first user interface includes fading (or decreasing its opacity) the second user interface (e.g., according to a decrease in contact intensity) (734). For example, as the primary page of the home screen slides in from the side, the next widget screen on the home screen fades out. In some embodiments, the device shifts (736) the first user interface sideways in the first direction to cover the second user interface (e.g., sliding the home screen in) while fading out the second user interface.
[0292] In some embodiments, indicating the start of the transition from the second user interface back to the first user interface includes changing the virtual depth of at least one of the first and second user interfaces (e.g., according to increasing contact intensity) 738. For example, starting from a stacked state with the second user interface closer to the display surface, the second user interface shifts left and then right, moving away from the display surface as contact intensity increases, and the first user interface shifts right and then left, moving closer toward the display surface.
[0293] In some embodiments, the second user interface (multitasking user interface 528 of FIG. 5B15) includes a representation of the first user interface (Pages application user interface 524 of FIG. 5B16), and indicating the start of the transition from the second user interface back to the first user interface includes enlarging the representation of the first user interface included in the second user interface and decreasing the virtual depth of the representation of the first user interface (742). In FIGS. 5B15-5B16, in response to a press input by contact 533 on the home button, a representation of the Pages application pops out from multitasking user interface 528. As another example, if the second user interface (e.g., the multitasking user interface) includes a representation of a home screen in a top position, the representation of the home screen may pop out from the multitasking user interface.
[0294] 7E, in some embodiments, detecting the input sequence further includes detecting that the characteristic intensity of the contact changes between a first intensity threshold and a second intensity threshold (e.g., greater than the first intensity threshold) until the input sequence meets a first criterion (e.g., until a home button action is activated by a first type of input (e.g., a single click) (e.g., discarding the current user interface and restoring the home screen) (744). In some embodiments, in response to detecting that the characteristic intensity of the contact changes between the first intensity threshold and the second intensity threshold (e.g., as shown in FIGS. 5A9-5A10) until the input sequence meets the first criterion, the device dynamically progresses and reverses the transition from the second user interface to the first user interface according to the characteristic intensity of the contact. In some embodiments, the transition from the second user interface to the first user interface is dynami...
Claims
1. A computer system in communication with a display generation component and one or more sensors for detecting user input, comprising: displaying a first user interface via the display generation component; detecting a first portion of a first input via the one or more sensors while displaying the first user interface; in response to detecting the first portion of the first input; displaying a first portion of a transition to display a second user interface distinct from the first user interface in accordance with a determination that the first portion of the first input satisfies a first criterion, the first criterion not requiring that the first portion of the first input satisfy a first input threshold for the first criterion to be satisfied; detecting, via the one or more sensors, a second portion of the first input that is a continuation of the first portion of the first input, after displaying the first portion of the transition to display the second user interface in response to detecting the first portion of the first input that satisfies the first criterion; in response to detecting the second portion of the first input being a continuation of the first portion of the first input; completing the transition to display the second user interface pursuant to a determination that the first input, including the first portion of the first input and the second portion of the first input following the first portion of the first input, satisfies a second criterion, the second criterion requiring the first input to satisfy the first input threshold for the second criterion to be satisfied; The method includes:
2. A method according to claim 1, comprising: Detecting the second portion of the first input that is a continuation of the first portion of the first input includes detecting a continuation of the first portion of the first input followed by detecting an end of the first input.
3. The method according to claim 2, in response to detecting the second portion of the first input being a continuation of the first portion of the first input; and not completing the transition to display the second user interface in accordance with a determination that the first input, including the first portion of the first input and the second portion of the first input following the first portion of the first input, does not satisfy a second criterion.
4. The method according to claim 3, in response to detecting the second portion of the first input being a continuation of the first portion of the first input; redisplaying the first user interface pursuant to a determination that the first input, including the first portion of the first input and the second portion of the first input following the first portion of the first input, does not satisfy a second criterion prior to detecting the end of the first input.
5. The method according to claim 1, further comprising the steps of: detecting the first input including the first portion of the first input and the second portion of the first input includes detecting a variation in a first feature value of the first input; The method comprises: in response to detecting the variation in the first characteristic value of the first input, dynamically progressing and reversing the transition from displaying the first user interface to displaying the second user interface in accordance with the variation in the first characteristic value of the first input.
6. The method according to claim 5, dynamically progressing and reversing the transition from displaying the first user interface to displaying the second user interface in accordance with the variation of the first characteristic value of the first input includes dynamically revealing at least a portion of the second user interface in accordance with the first characteristic value of the first input.
7. The method according to claim 5 or 6, dynamically progressing and reversing the transition from displaying the first user interface to displaying the second user interface in accordance with the variation in the first feature value of the first input includes dynamically shifting a position of a representation of the first user interface in accordance with the first feature value of the first input.
8. The method according to claim 5, further comprising: dynamically progressing and reversing the transition from displaying the first user interface to displaying the second user interface in accordance with the variation in the first feature value of the first input includes dynamically resizing a representation of the first user interface in accordance with the first feature value of the first input.
9. The method according to claim 5, further comprising the steps of: dynamically progressing and reversing the transition from displaying the first user interface to displaying the second user interface in accordance with the variation in the first feature value of the first input includes dynamically changing a virtual depth of a representation of the first user interface in accordance with the first feature value of the first input.
10. The method according to any one of claims 1 to 9, the first user interface is a user interface of a first application; The method, wherein the second user interface is a home screen.
11. The method according to any one of claims 1 to 9, the first user interface is a secondary page of a multi-page home screen; The method, wherein the second user interface is a primary page of the multi-page home screen.
12. The method according to any one of claims 1 to 9, the second user interface is a home screen, the home screen including a first folder icon corresponding to a first folder including one or more folder items; The method, wherein the first user interface includes an expanded view of the first folder that includes a larger representation of the one or more folder items.
13. The method according to any one of claims 1 to 12, comprising: in response to detecting the second portion of the first input being a continuation of the first portion of the first input; displaying a transition to display a third user interface different from the first user interface and the second user interface in accordance with a determination that the first input, including the first portion of the first input and the second portion of the first input following the first portion of the first input, does not satisfy a second criterion and satisfies a third criterion different from the first criterion and the second criterion.
14. The method of claim 13, comprising: the second user interface is a home screen; The method, wherein the third user interface is a multitasking user interface.
15. An electronic device comprising: A display generating component; one or more sensors for detecting user input; one or more processors; Memory, one or more programs; 15. An electronic device, comprising: one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 1 to 14.
16. A computer program comprising instructions that, when executed by an electronic device in communication with a display generation component and one or more sensors for detecting user input, cause the electronic device to perform a method according to any one of claims 1 to 14.
Citation Information
Patent Citations
Reproducing device, method and program
JP2010055274A
Device, method, and graphical user interface for transitioning between display states in response to gestures
JP2015519655A