DEVICE, METHOD, AND GRAPHICAL USER INTERFACE FOR PROVIDING TACTILE FEEDBACK - Patent application
Patent Information
- Application Number
- JP2023180494
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2016-09-21
- Filing Date
- 2023-10-19
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2037-08-01
Smart Images

Figure 0007645962000004 
Figure 0007645962000005 
Figure 0007645962000006
Abstract
Description
[Technical Field]
[0001] This application relates generally to electronic devices with touch-sensitive surfaces, including, but not limited to, electronic devices with touch-sensitive surfaces that generate tactile outputs that provide tactile feedback to a user. [Background technology]
[0002] The use of touch-sensitive surfaces as input devices for computers and other electronic computing devices has grown significantly in recent years. Exemplary touch-sensitive surfaces include touchpads and touchscreen displays. Such surfaces are widely used to manipulate user interfaces on displays and objects therein. Exemplary user interface objects include digital images, video, text, icons, and control elements such as buttons and other graphics.
[0003] Typically, tactile feedback in combination with visual and / or audio feedback is used to make the operation of user interfaces and user interface objects more efficient and intuitive for users, thereby improving the usability of electronic devices. However, conventional methods of providing tactile feedback are not very useful. Summary of the Invention
[0004] Thus, there is a need for electronic devices with improved methods and interfaces for providing tactile feedback, optionally complementing or replacing conventional methods for providing tactile feedback, that reduce the number, extent, and / or type of inputs from a user by helping the user understand the connection between the input provided and the device's response to that input, thereby creating a more efficient human-machine interface.
[0005] The above-mentioned deficiencies and other problems associated with user interfaces for electronic devices having touch-sensitive surfaces are reduced or eliminated by the disclosed devices. 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 multiple 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.
[0006] There is a need for electronic devices with more methods and interfaces for providing tactile feedback indicating the crossing of thresholds that trigger or cancel an action. Such methods and interfaces can complement or replace conventional methods of indicating the crossing of thresholds that trigger or cancel an action. Such methods and interfaces reduce the number, degree, and / or type of inputs from a user, creating a more efficient human-machine interface.
[0007] According to some embodiments, a method is performed in an electronic device having a touch-sensitive surface, a display, and one or more tactile output generators that generate tactile output. The method includes: displaying a user interface on the display including a first item; and, while displaying the user interface including the first item, detecting a first portion of input by a first contact on the touch-sensitive surface, where detecting the first portion of input by the first contact includes detecting the first contact at a location on the touch-sensitive surface that corresponds to the first item and detecting a first movement of the first contact on the touch-sensitive surface. The method further includes, in response to detecting a first portion of the input including a first movement of the first contact, generating a first tactile output in accordance with a determination that the first movement of the first contact satisfies a first movement threshold criterion that is a prerequisite for performing the first action, wherein the first tactile output indicates that the first movement threshold criterion for the first action is satisfied; and, in accordance with a determination that the first movement of the first contact does not satisfy the first movement threshold criterion for the first action, ceasing to generate the first tactile output.
[0008] According to some embodiments, an electronic device includes a display unit configured to display a user interface, a touch-sensitive surface unit configured to detect a contact, one or more tactile output generator units configured to generate a tactile output, and a processing unit coupled to the display unit, the touch-sensitive surface unit, and the one or more tactile output generator units. In some embodiments, the processing unit includes a detection unit, an execution unit, a movement unit, a manifestation unit, and a replacement unit. The processing unit is configured to display a user interface on the display including a first item and to enable detecting a first portion of input due to a first contact on the touch-sensitive surface unit while displaying the user interface including the first item, wherein detecting the first portion of input due to the first contact includes detecting a first contact at a location on the touch-sensitive surface unit corresponding to the first item and detecting a first movement of the first contact on the touch-sensitive surface unit. The processing unit is further configured, in response to detecting a first portion of the input including a first movement of the first contact, to generate a first tactile output in accordance with a determination that the first movement of the first contact satisfies a first movement threshold criterion that is a prerequisite for performing the first action, the first tactile output indicating that the first movement threshold criterion for the first action is satisfied, and to cease generating the first tactile output in accordance with a determination that the first movement of the first contact does not satisfy the first movement threshold criterion for the first action.
[0009] According to some embodiments, a method is performed on an electronic device having a touch-sensitive surface, a display, and one or more tactile output generators that generate tactile outputs. The method includes displaying an item navigation user interface on the display, the item navigation user interface including: a representation of a first portion of a plurality of items, the plurality of items being arranged in two or more groups represented by corresponding index values in a plurality of index values, the first portion of the plurality of items including a first group of items that corresponds to a first index value in the plurality of index values; and an index navigation element including three or more representations of the plurality of index values. The method further includes detecting, while displaying the item navigation user interface, a first drag gesture on the touch-sensitive surface including movement from a first position corresponding to a representation of a first index value representing the first group of items to a second position corresponding to a representation of a second index value representing a second group of items; and in response to detecting the first drag gesture, generating, via the one or more tactile output generators, a first tactile output corresponding to the movement to the second position corresponding to the second index value; and switching from displaying a representation of a first portion of the plurality of items to displaying a representation of a second portion of the plurality of items, wherein the second portion of the plurality of items includes the second group of items.
[0010] According to some embodiments, an electronic device includes a display unit configured to display a user interface, a touch-sensitive surface unit, one or more tactile output generator units configured 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 generator units. In some embodiments, the processing unit includes a detection unit, a switching unit, a replacement unit, a moving unit, and a determining unit. the processing unit is configured to enable displaying an item navigation user interface on the display, the item navigation user interface including: a representation of a first portion of the plurality of items, the plurality of items arranged in two or more groups represented by corresponding index values in the plurality of index values, the first portion of the plurality of items including a first group of items corresponding to a first index value in the plurality of index values; and an index navigation element including three or more representations of the plurality of index values; the processing unit is configured to enable detecting, while displaying the item navigation user interface, a first drag gesture on the touch-sensitive surface unit including movement from a first position corresponding to the representation of the first index value representing the first group of items to a second position corresponding to the representation of a second index value representing a second group of items; and to enable generating, via the one or more tactile output generator units, a first tactile output corresponding to the movement to the second position corresponding to the second index value; and to enable switching from displaying the representation of the first portion of the plurality of items to displaying a representation of a second portion of the plurality of items, the second portion of the plurality of items including the second group of items.
[0011] According to some embodiments, a method is performed in an electronic device having a touch-sensitive surface, a display, and one or more tactile output generators that generate tactile outputs. The method includes displaying a user interface on the display, the user interface including an adjustable control, detecting a contact on the touch-sensitive surface at a location corresponding to the adjustable control on the display, wherein movement of the contact corresponds to movement away from the adjustable control, varying an adjustment rate that adjusts the adjustable control based on the movement of the contact, and detecting a first movement of the contact across the touch-sensitive surface while continuously detecting the contact on the touch-sensitive surface. The method further includes, in response to detecting a first movement of the contact, generating a first tactile output via the one or more tactile output devices when the focus selector reaches the first threshold movement amount in accordance with determining that the first movement of the contact corresponds to more than a first threshold movement of the focus selector away from the adjustable control, the first threshold movement amount triggering a transition from the first adjustment rate to a second adjustment rate; adjusting the adjustable control at the second adjustment rate in accordance with the detected movement of the contact after the focus selector has moved beyond the first threshold amount; and adjusting the adjustable control at the first adjustment rate in accordance with the movement of the contact without generating the first tactile output in accordance with determining that the first movement of the contact corresponds to less than the first threshold movement of the focus selector away from the adjustable control.
[0012] According to some embodiments, an electronic device includes a display unit configured to display a user interface, a touch-sensitive surface unit, one or more tactile output generator units configured to generate a tactile output, and a processing unit coupled to the display unit, the touch-sensitive surface unit, and the one or more tactile output generator units. In some embodiments, the processing unit includes a detection unit, an adjustment unit, a switching unit, a determination unit, and a maintaining unit. The processing unit is configured to enable a user interface to be displayed on (e.g., within) the display unit, the user interface including an adjustable control, to enable detecting (e.g., with the detection unit) a contact on the touch-sensitive surface unit at a position corresponding to the adjustable control on the display unit, to vary an adjustment speed for adjusting the adjustable control based on the movement of the contact, wherein the movement of the contact corresponds to the movement away from the adjustable control, to enable detecting a first movement of the contact across the touch-sensitive surface unit while continuously detecting the contact on the touch-sensitive surface unit, and in response to detecting the first movement of the contact, the first movement of the contact exceeds a first threshold movement of the focus selector away from the adjustable control. configured to enable generating a first tactile output (e.g., with a tactile output generator unit) via one or more tactile output devices when the focus selector reaches the first threshold amount of movement in accordance with a determination that the first threshold amount of movement corresponds to more than the first threshold amount, where the first threshold amount of movement triggers a transition from the first adjustment rate to the second adjustment rate; configured to enable adjusting the adjustable control at the first adjustment rate (e.g., with an adjustment unit) in accordance with movement of the contact detected after the focus selector has moved beyond the first threshold amount; and configured to enable adjusting the adjustable control at the first adjustment rate in accordance with movement of the contact without generating the first tactile output in accordance with a determination that the first movement of the contact corresponds to less than the first threshold amount of movement of the focus selector away from the adjustable control.
[0013] According to some embodiments, a method is performed in an electronic device having a touch-sensitive surface, a display, and one or more tactile output generators that generate tactile outputs. The method includes displaying a user interface on the display, the user interface including a slider control representing a continuous range of values between a first value and a second value, the slider control including a first end corresponding to the first value and a second end corresponding to the second value, the slider control further including a movable indicator configured to move along the slider control between the first end and the second end of the slider control to indicate a current value selected from the continuous range of values represented by the slider control. The method further includes detecting a contact on the touch-sensitive surface at a location corresponding to the movable indicator of the slider control; detecting movement of the contact on the touch-sensitive surface; and in response to detecting the movement of the contact, moving the movable indicator along the slider control in accordance with the movement of the contact; and generating a first tactile output when the movable indicator reaches a first end of the slider control in accordance with the movement of the contact, wherein a tactile output pattern of the first tactile output is configured based on a rate of movement of the movable indicator when the movable indicator reaches the first end of the slider control.
[0014] According to some embodiments, an electronic device includes a display unit configured to display a user interface, a touch-sensitive surface unit, one or more tactile output generator units configured to generate a tactile output, and a processing unit coupled to the display unit, the touch-sensitive surface unit, and the one or more tactile output generator units. In some embodiments, the processing unit includes a detection unit, a movement unit, and a modification unit. The processing unit is configured to enable a user interface to be displayed on the display unit, the user interface including a slider control representing a continuous range of values between a first value and a second value, the slider control including a first end corresponding to the first value and a second end corresponding to the second value, the slider control further including a movable indicator configured to move along the slider control between the first end and the second end of the slider control to indicate a current value selected from the continuous range of values represented by the slider control, and configured to enable detecting a contact on the sensitive surface unit; configured to enable detecting movement of the contact on the touch-sensitive surface unit; configured to enable moving a movable indicator along a slider control in accordance with the movement of the contact in response to detecting the movement of the contact; configured to enable generating a first tactile output when the movable indicator reaches a first end of the slider control in accordance with the movement of the contact, and a tactile output pattern of the first tactile output configured based on a speed of movement of the movable indicator when the movable indicator reaches the first end of the slider control.
[0015] According to some embodiments, a method is performed in an electronic device having a touch-sensitive surface, a display, and one or more tactile output generators that generate a tactile output. The method includes displaying a user interface on a display, the user interface including a first user interface element, detecting a contact at a location on the touch-sensitive surface corresponding to the first user interface element, and detecting a contact input including detecting movement of the contact across the touch-sensitive surface. The method further includes, in response to detecting the contact input, changing a position of an outer edge of the user interface element relative to a first threshold position within the user interface according to the movement of the contact on the touch-sensitive surface, detecting that the change in position of the outer edge of the user interface element relative to the first threshold position of the user interface has moved the outer edge of the user interface element across the first threshold position of the user interface, and generating a tactile output after detecting that the outer edge of the user interface element has moved across the first threshold position of the user interface.
[0016] According to some embodiments, an electronic device includes a display unit configured to display a user interface, a touch-sensitive surface unit, one or more tactile output generator units configured 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 generator units. In some embodiments, the processing unit includes a detection unit, a modification unit, a moving unit, a scrolling unit, a zoom unit, and a zoom unit. The processing unit is configured to enable a user interface to be displayed on the display unit, the user interface including a first user interface element; to enable detecting a contact at a position on the touch-sensitive surface unit corresponding to the first user interface element; to enable detecting a contact input including detecting movement of the contact across the touch-sensitive surface unit; to enable, in response to detecting the contact input, changing a position of an outer edge of the user interface element relative to a first threshold position within the user interface according to the movement of the contact on the touch-sensitive surface unit; to enable detecting that the change in position of the outer edge of the user interface element relative to the first threshold position of the user interface has moved the outer edge of the user interface element across the first threshold position of the user interface; and to enable generating a tactile output after detecting that the outer edge of the user interface element has moved across the first threshold position of the user interface;
[0017] According to some embodiments, a method is performed in an electronic device having a touch-sensitive surface, a display, and one or more tactile output generators that generate a tactile output. The method includes displaying a user interface on the display, the user interface including a first object and a plurality of predetermined object snap locations, detecting a first portion of a tactile input on the touch-sensitive surface at a location corresponding to the first object in the user interface, and in response to detecting the first portion of the tactile input and in accordance with a determination that the first portion of the input satisfies a selection criterion, visually indicating a selection of the first object, and generating a first tactile output associated with the visually indicating the selection of the first object. detecting a second portion of a contact input on the touch-sensitive surface while the first object is selected, where detecting the second portion of the input includes detecting movement of the contact across the touch-sensitive surface; moving the first object on the user interface in accordance with the movement of the contact in response to detecting the second portion of the contact input; detecting a third portion of the contact input on the touch-sensitive surface while the first object is proximate to a first predetermined object snap location after detecting the second portion of the input; in response to detecting the third portion of the contact input and in accordance with a determination that the third portion of the input satisfies a drop-off criterion, visually indicating deselection of the first object, moving the first object to the first predetermined object snap location, and generating a second 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, one or more tactile output generator units configured to generate a tactile output, and a processing unit coupled to the display unit, the touch-sensitive surface unit, and the one or more tactile output generator units. In some embodiments, the processing unit includes a detection unit, a movement unit, a shift unit, and a scroll unit. The processing unit is configured to enable displaying a user interface on the display unit, the user interface including a first object and a plurality of predetermined object snap locations; detect a first portion of a contact input on the touch-sensitive surface unit at a location corresponding to the first object in the user interface; in response to detecting the first portion of the contact input and in accordance with a determination that the first portion of the input satisfies a selection criterion, enable visually indicating selection of the first object; generate a first tactile output in association with visually indicating selection of the first object; detect a second portion of the contact input on the touch-sensitive surface unit while the first object is selected; and the detecting a second portion of the contact input includes detecting movement of the contact across the touch-sensitive surface unit; the touch-sensitive surface unit is configured to enable moving the first object on the user interface in accordance with the movement of the contact in response to detecting the second portion of the contact input; the touch-sensitive surface unit is configured to enable detecting a third portion of the contact input on the touch-sensitive surface while the first object is proximate to the first predetermined object snap location after detecting the second portion of the input; the touch-sensitive surface unit is configured to enable visually indicating deselection of the first object in response to detecting the third portion of the contact input and in accordance with a determination that the third portion of the input satisfies a drop-off criterion; the touch-sensitive surface unit is configured to enable moving the first object to the first predetermined object snap location; and the touch-sensitive surface unit is configured to enable generating a second tactile output.
[0019] According to some embodiments, a method is performed in an electronic device having a touch-sensitive surface, a display, one or more tactile output generators that generate tactile outputs, and one or more orientation sensors that determine a current orientation of the electronic device. The method includes displaying a user interface on the display, the user interface including a device orientation indicator that indicates a current orientation of the electronic device; detecting movement of the electronic device; and in response to detecting the movement of the electronic device, modifying the user interface to indicate that the first criterion is satisfied by the current orientation of the electronic device in accordance with a determination that the current orientation of the electronic device satisfies a first criterion, generating a tactile output upon modifying the user interface to indicate that the first criterion is satisfied by the current orientation of the electronic device; and, in accordance with a determination that the current orientation of the electronic device does not satisfy the first criterion, modifying the user interface to indicate the current orientation of the device without generating a tactile output.
[0020] According to some embodiments, an electronic device includes a display unit configured to display a user interface, a touch-sensitive surface unit, one or more tactile output generator units configured to generate tactile outputs, one or more direction sensors configured to determine a current orientation of the electronic device, and a processing unit coupled to the display unit, the touch-sensitive surface unit, the one or more tactile output generator units, and the one or more direction sensors. In some embodiments, the processing unit includes a detection unit, a modification unit, and a determination unit. The processing unit is configured to enable a user interface to be displayed on the display unit, the user interface including a device orientation indicator indicating a current orientation of the electronic device; to enable detecting movement of the electronic device; and in response to detecting movement of the electronic device, in accordance with a determination that the current orientation of the electronic device satisfies a first criterion, enable modifying the user interface to indicate that the first criterion is satisfied by the current orientation of the electronic device; configured to enable generating a tactile output upon modifying the user interface to indicate that the first criterion is satisfied by the current orientation of the electronic device; and in accordance with a determination that the current orientation of the electronic device does not satisfy the first criterion, enable modifying the user interface to indicate the current orientation of the device without generating a tactile output.
[0021] According to some embodiments, a method is performed in an electronic device having a touch-sensitive surface, a display, and one or more tactile output generators that generate tactile outputs. The method includes: displaying a user interface on the display, the user interface including a user interface object including a first movable component representing a first plurality of selectable options; detecting a first scrolling input directed at the first movable component of the user interface object including movement of a first contact on the touch-sensitive surface and lift-off of the first contact from the touch-sensitive surface; and in response to detecting the first scrolling input, moving the first movable component through the first selectable options and second selectable options of the first movable component after detecting lift-off of the first contact from the touch-sensitive surface. The method includes moving a first movable component through a subset of a plurality of selectable options, wherein movement of the first movable component gradually decelerates after lift-off of the first contact is detected; generating a first tactile output as the first movable component moves through the first selectable options at a first speed; generating a first audio output; generating a second tactile output, the first output characteristic of which is different from the first tactile output and the second output characteristic of which is the same as the first tactile output, as the first movable component moves through second selectable options at a second speed slower than the first speed; and generating a second audio output, the second output characteristic of which is different from the first audio output.
[0022] According to some embodiments, an electronic device includes a display unit configured to display a user interface, a touch-sensitive surface unit, one or more tactile output generator units configured to generate a tactile output, and a processing unit coupled to the display unit, the touch-sensitive surface unit, and the one or more tactile output generator units. In some embodiments, the processing unit includes a detection unit, a movement unit, and a determination unit. The processing unit is configured to enable a user interface to be displayed on the display unit, the user interface including a user interface object including a first movable component representing a first plurality of selectable options, and to enable detecting a first scrolling input directed at the first movable component of the user interface object including movement of a first contact on the touch-sensitive surface unit and lift-off of the first contact from the touch-sensitive surface unit, and in response to detecting the first scrolling input, moving the first movable component through the first selectable options and second selectable options of the first movable component after detecting lift-off of the first contact from the touch-sensitive surface unit. the first movable component is configured to move through a subset of the selectable options, the movement of the first movable component is configured to gradually decelerate after lift-off of the first contact is detected, the first movable component is configured to generate a first tactile output as the first movable component moves through the first selectable options at a first speed, and the first audio output is configured to generate a second tactile output, the first output characteristic being different from the first tactile output and the second output characteristic being the same as the first tactile output, as the first movable component moves through the second selectable options at a second speed slower than the first speed, and the second output characteristic being configured to generate a second audio output, the second output characteristic being different from the first audio output.
[0023] In this way, electronic devices having displays and touch-sensitive surfaces can improve the effectiveness, efficiency, and user satisfaction of such devices by providing more methods and interfaces for providing tactile feedback, which can complement or replace traditional methods of providing tactile feedback.
[0024] According to some embodiments, an electronic device includes a display, a touch-sensitive surface, optionally one or more sensors that detect intensity of contact with the touch-sensitive surface, 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 to be performed 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, and optionally one or more sensors that detect intensity of contact with the touch-sensitive surface, causes the device to perform or cause to be performed any of the operations of the methods described herein. According to some embodiments, a graphical user interface on an electronic device comprising a display, a touch-sensitive surface, optionally one or more sensors that detect intensity of contact with the touch-sensitive surface, a memory, and one or more processors executing the one or more programs stored in the memory includes one or more of the elements displayed in any of the above methods, which elements are updated in response to input as described in any of the methods described herein. 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, 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 comprising a display, a touch-sensitive surface, 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.
[0025] Thus, electronic devices having a display, a touch-sensitive surface, optionally one or more sensors that detect the intensity of contact with the touch-sensitive surface, optionally one or more tactile output generators, optionally one or more device orientation sensors, and optionally an audio system, comprise improved methods and interfaces for providing tactile feedback to a user, 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. [Brief explanation of the drawings]
[0026] 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:
[0027] [Figure 1A] 1 is a block diagram illustrating a portable multifunction device having a touch-sensitive display in accordance with some embodiments.
[0028] [Figure 1B] FIG. 1 is a block diagram illustrating exemplary components for event handling according to some embodiments.
[0029] [Figure 1C] FIG. 10 is a block diagram illustrating a tactile output module according to some embodiments.
[0030] [Figure 2A] 1 illustrates a portable multifunction device with a touch screen in accordance with some embodiments.
[0031] [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.
[0032] [Figure 3] FIG. 1 is a block diagram of an exemplary multifunction device having a display and a touch-sensitive surface in accordance with some embodiments.
[0033] [Figure 4A] 1 illustrates an exemplary user interface for a menu of applications on a portable multifunction device in accordance with some embodiments.
[0034] [Figure 4B] 1 illustrates an exemplary user interface for a multifunction device having a touch-sensitive surface separate from the display in accordance with some embodiments.
[0035] [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.
[0036] [Figure 4F] FIG. 10 illustrates a set of sample tactile output patterns, according to some embodiments. [Figure 4G] FIG. 10 illustrates a set of sample tactile output patterns, according to some embodiments.
[0037] [Figure 4H] FIG. 10 illustrates an exemplary tactile 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 tactile 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 tactile audio output pattern versus time used in conjunction with a tactile output to simulate a button click, according to some embodiments.
[0038] [Figure 4K] FIG. 10 illustrates an exemplary combination of tactile output patterns and tactile audio output patterns versus time, according to some embodiments.
[0039] [Figure 4L] For clarity, the combination shown in Figure 4K is enlarged. [Figure 4M] For clarity, the combination shown in Figure 4K is enlarged. [Figure 4N] For clarity, the combination shown in Figure 4K is enlarged. [Figure 4O] For clarity, the combination shown in Figure 4K is enlarged. [Figure 4P] For clarity, the combination shown in Figure 4K is enlarged. [Figure 4Q] For clarity, the combination shown in Figure 4K is enlarged.
[0040] [Figure 5A] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5B] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5C] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5D] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5E] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5F] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5G] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5H] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5I] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5J] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5K] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5L] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5M] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5N] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5O]10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5P] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5Q] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5R] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5S] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5T] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5U] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5V] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5W] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5X] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5Y]10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5Z] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AA] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AB] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AC] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AD] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AE] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AF] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AG] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AH] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AI]10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AJ] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AK] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AL] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AM] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AN] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AO] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AP] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AQ] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AR] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AS]10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AT] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AU] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AV] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AW] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AX] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AY] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5AZ] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BA] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BB] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BC]10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BD] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BE] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BF] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BG] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BH] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BI] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BJ] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BK] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BL] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BM]10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BN] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BO] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BP] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BQ] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BR] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BS] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BT] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BU] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BV] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BW]10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BX] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BY] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5BZ] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CA] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CB] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CC] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CD] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CE] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CF] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CG]10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CH] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CI] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CJ] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CK] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CL] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CM] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CN] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CO] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CP] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CQ]10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CR] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CS] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CT] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CU] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CV] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CW] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CX] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CY] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5CZ] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5DA]10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5DB] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5DC] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5DD] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5DE] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5DF] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5DG] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5DH] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5DI] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5DJ] 10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments. [Figure 5DK]10A-10C illustrate exemplary user interfaces that provide tactile feedback indicating crossing of a threshold that triggers or cancels an action, according to some embodiments.
[0041] [Figure 6A] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6B] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6C] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6D] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6E] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6F] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6G]FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6H] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6I] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6J] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6K] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6L] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6M] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6N]FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6O] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6P] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6Q] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6R] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6S] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6T] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6U]FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6V] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6W] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6X] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6Y] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 6Z] FIG. 10 illustrates an exemplary user interface that provides tactile feedback in connection with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments.
[0042] [Figure 7A] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7B] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7C]10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7D] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7E] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7F] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7G] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7H] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7I] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7J] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7K] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7L] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7M] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7N] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7O] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7P] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments. [Figure 7Q] 10A-10C illustrate exemplary user interfaces that provide tactile feedback during variable speed scrubbing according to some embodiments.
[0043] [Figure 8A] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a brightness slider control) according to some embodiments. [Figure 8B] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a brightness slider control) according to some embodiments. [Figure 8C] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a brightness slider control) according to some embodiments. [Figure 8D] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a brightness slider control) according to some embodiments. [Figure 8E] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a brightness slider control) according to some embodiments. [Figure 8F] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a brightness slider control) according to some embodiments. [Figure 8G] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a brightness slider control) according to some embodiments. [Figure 8H] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a brightness slider control) according to some embodiments. [Figure 8I] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a brightness slider control) according to some embodiments. [Figure 8J] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a brightness slider control) according to some embodiments. [Figure 8K] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a brightness slider control) according to some embodiments. [Figure 8L] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a brightness slider control) according to some embodiments. [Figure 8M] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a brightness slider control) according to some embodiments. [Figure 8N] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a brightness slider control) according to some embodiments.
[0044] [Figure 9A] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9B] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9C]1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9D] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9E] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9F] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9G] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9H] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9I] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9J] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9K] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9L]1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9M] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9N] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9O] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9P] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9Q] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9R] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9S] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9T] 1 illustrates an exemplary user interface that provides tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9U]10A-10C illustrate exemplary user interfaces that provide tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments. [Figure 9V] 10A-10C illustrate exemplary user interfaces that provide tactile feedback for interacting with a slider control (e.g., a sleep timer slider control) according to some embodiments.
[0045] [Figure 10A] 10A-10C illustrate exemplary user interfaces that provide tactile feedback for interacting with a slider control (e.g., a photo selector slider control) according to some embodiments. [Figure 10B] 10A-10C illustrate exemplary user interfaces that provide tactile feedback for interacting with a slider control (e.g., a photo selector slider control) according to some embodiments. [Figure 10C] 10A-10C illustrate exemplary user interfaces that provide tactile feedback for interacting with a slider control (e.g., a photo selector slider control) according to some embodiments. [Figure 10D] 10A-10C illustrate exemplary user interfaces that provide tactile feedback for interacting with a slider control (e.g., a photo selector slider control) according to some embodiments. [Figure 10E] 10A-10C illustrate exemplary user interfaces that provide tactile feedback for interacting with a slider control (e.g., a photo selector slider control) according to some embodiments. [Figure 10F] 10A-10C illustrate exemplary user interfaces that provide tactile feedback for interacting with a slider control (e.g., a photo selector slider control) according to some embodiments. [Figure 10G] 10A-10C illustrate exemplary user interfaces that provide tactile feedback for interacting with a slider control (e.g., a photo selector slider control) according to some embodiments. [Figure 10H] 10A-10C illustrate exemplary user interfaces that provide tactile feedback for interacting with a slider control (e.g., a photo selector slider control) according to some embodiments. [Figure 10I] 10A-10C illustrate exemplary user interfaces that provide tactile feedback for interacting with a slider control (e.g., a photo selector slider control) according to some embodiments.
[0046] [Figure 11A] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a list user interface) according to some embodiments. [Figure 11B] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a list user interface) according to some embodiments. [Figure 11C] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a list user interface) according to some embodiments. [Figure 11D] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a list user interface) according to some embodiments. [Figure 11E] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a list user interface) according to some embodiments. [Figure 11F] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a list user interface) according to some embodiments. [Figure 11G]10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a list user interface) according to some embodiments. [Figure 11H] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a list user interface) according to some embodiments. [Figure 11I] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a list user interface) according to some embodiments. [Figure 11J] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a list user interface) according to some embodiments. [Figure 11K] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a list user interface) according to some embodiments. [Figure 11L] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a list user interface) according to some embodiments.
[0047] [Figure 12A] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments. [Figure 12B] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments. [Figure 12C]10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments. [Figure 12D] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments. [Figure 12E] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments. [Figure 12F] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments. [Figure 12G] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments. [Figure 12H] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments. [Figure 12I] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments. [Figure 12J] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments. [Figure 12K]10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments. [Figure 12L] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments. [Figure 12M] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments. [Figure 12N] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments. [Figure 12O] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a photo editor user interface) according to some embodiments.
[0048] [Figure 13A] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a web browser user interface) according to some embodiments. [Figure 13B] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a web browser user interface) according to some embodiments. [Figure 13C] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a web browser user interface) according to some embodiments. [Figure 13D]10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a web browser user interface) according to some embodiments. [Figure 13E] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a web browser user interface) according to some embodiments. [Figure 13F] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a web browser user interface) according to some embodiments. [Figure 13G] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a web browser user interface) according to some embodiments. [Figure 13H] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a web browser user interface) according to some embodiments. [Figure 13I] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a web browser user interface) according to some embodiments. [Figure 13J] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a web browser user interface) according to some embodiments. [Figure 13K] 10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a web browser user interface) according to some embodiments. [Figure 13L]10A-10C illustrate exemplary user interfaces that provide tactile feedback associated with a visual rubber band effect (e.g., in a web browser user interface) according to some embodiments.
[0049] [Figure 14A] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14B] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14C] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14D] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14E] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14F]1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14G] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14H] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14I] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14J] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14K] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14L]1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14M] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14N] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14O] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14P] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14Q] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14R]1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14S] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments. [Figure 14T] 1 illustrates an exemplary user interface that provides tactile feedback indicating the selection, pickup, dragging, dropping, and / or snapping of objects in a user interface (e.g., a calendar user interface) according to some embodiments.
[0050] [Figure 15A] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pick-up, dragging, dropping, and snapping of objects in a user interface (e.g., a weather forecast user interface) according to some embodiments. [Figure 15B] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pick-up, dragging, dropping, and snapping of objects in a user interface (e.g., a weather forecast user interface) according to some embodiments. [Figure 15C] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pick-up, dragging, dropping, and snapping of objects in a user interface (e.g., a weather forecast user interface) according to some embodiments. [Figure 15D]1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pick-up, dragging, dropping, and snapping of objects in a user interface (e.g., a weather forecast user interface) according to some embodiments. [Figure 15E] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pick-up, dragging, dropping, and snapping of objects in a user interface (e.g., a weather forecast user interface) according to some embodiments. [Figure 15F] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pick-up, dragging, dropping, and snapping of objects in a user interface (e.g., a weather forecast user interface) according to some embodiments. [Figure 15G] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pick-up, dragging, dropping, and snapping of objects in a user interface (e.g., a weather forecast user interface) according to some embodiments. [Figure 15H] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pick-up, dragging, dropping, and snapping of objects in a user interface (e.g., a weather forecast user interface) according to some embodiments. [Figure 15I] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pick-up, dragging, dropping, and snapping of objects in a user interface (e.g., a weather forecast user interface) according to some embodiments. [Figure 15J] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pick-up, dragging, dropping, and snapping of objects in a user interface (e.g., a weather forecast user interface) according to some embodiments. [Figure 15K] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pick-up, dragging, dropping, and snapping of objects in a user interface (e.g., a weather forecast user interface) according to some embodiments. [Figure 15L] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pick-up, dragging, dropping, and snapping of objects in a user interface (e.g., a weather forecast user interface) according to some embodiments.
[0051] [Figure 16A] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pickup, dragging, dropping, and snapping of objects in a user interface (e.g., a home screen user interface) according to some embodiments. [Figure 16B] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pickup, dragging, dropping, and snapping of objects in a user interface (e.g., a home screen user interface) according to some embodiments. [Figure 16C] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pickup, dragging, dropping, and snapping of objects in a user interface (e.g., a home screen user interface) according to some embodiments. [Figure 16D] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pickup, dragging, dropping, and snapping of objects in a user interface (e.g., a home screen user interface) according to some embodiments. [Figure 16E]1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pickup, dragging, dropping, and snapping of objects in a user interface (e.g., a home screen user interface) according to some embodiments. [Figure 16F] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pickup, dragging, dropping, and snapping of objects in a user interface (e.g., a home screen user interface) according to some embodiments. [Figure 16G] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pickup, dragging, dropping, and snapping of objects in a user interface (e.g., a home screen user interface) according to some embodiments. [Figure 16H] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pickup, dragging, dropping, and snapping of objects in a user interface (e.g., a home screen user interface) according to some embodiments. [Figure 16I] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pickup, dragging, dropping, and snapping of objects in a user interface (e.g., a home screen user interface) according to some embodiments. [Figure 16J] 1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pickup, dragging, dropping, and snapping of objects in a user interface (e.g., a home screen user interface) according to some embodiments. [Figure 16K]1 illustrates an exemplary user interface that provides tactile feedback indicating selection, pickup, dragging, dropping, and snapping of objects in a user interface (e.g., a home screen user interface) according to some embodiments.
[0052] [Figure 17A] FIG. 10 illustrates an exemplary user interface that provides tactile feedback that a device's orientation criteria is met (e.g., the device is aligned in a particular direction relative to magnetic north), according to some embodiments. [Figure 17B] FIG. 10 illustrates an exemplary user interface that provides tactile feedback that a device's orientation criteria is met (e.g., the device is aligned in a particular direction relative to magnetic north), according to some embodiments. [Figure 17C] FIG. 10 illustrates an exemplary user interface that provides tactile feedback that a device's orientation criteria is met (e.g., the device is aligned in a particular direction relative to magnetic north), according to some embodiments. [Figure 17D] FIG. 10 illustrates an exemplary user interface that provides tactile feedback that a device's orientation criteria is met (e.g., the device is aligned in a particular direction relative to magnetic north), according to some embodiments. [Figure 17E] FIG. 10 illustrates an exemplary user interface that provides tactile feedback that a device's orientation criteria is met (e.g., the device is aligned in a particular direction relative to magnetic north), according to some embodiments. [Figure 17F] FIG. 10 illustrates an exemplary user interface that provides tactile feedback that a device's orientation criteria is met (e.g., the device is aligned in a particular direction relative to magnetic north), according to some embodiments. [Figure 17G] FIG. 10 illustrates an exemplary user interface that provides tactile feedback that a device's orientation criteria is met (e.g., the device is aligned in a particular direction relative to magnetic north), according to some embodiments. [Figure 17H] FIG. 10 illustrates an exemplary user interface that provides tactile feedback that a device's orientation criteria is met (e.g., the device is aligned in a particular direction relative to magnetic north), according to some embodiments.
[0053] [Figure 18A] FIG. 10 illustrates an exemplary user interface that provides tactile feedback that device orientation criteria are met (e.g., the device is level and stable) according to some embodiments. [Figure 18B] FIG. 10 illustrates an exemplary user interface that provides tactile feedback that device orientation criteria are met (e.g., the device is level and stable) according to some embodiments. [Figure 18C] FIG. 10 illustrates an exemplary user interface that provides tactile feedback that device orientation criteria are met (e.g., the device is level and stable) according to some embodiments. [Figure 18D] FIG. 10 illustrates an exemplary user interface that provides tactile feedback that device orientation criteria are met (e.g., the device is level and stable) according to some embodiments. [Figure 18E] FIG. 10 illustrates an exemplary user interface that provides tactile feedback that device orientation criteria are met (e.g., the device is level and stable) according to some embodiments.
[0054] [Figure 19A] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19B] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19C]FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19D] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19E] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19F] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19G] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19H] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19I] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19J] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19K] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19L] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19M] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19N] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19O] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19P] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19Q] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19R] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19S] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments. [Figure 19T] FIG. 10 illustrates an exemplary user interface that provides tactile feedback for selection of each value in a value picker, according to some embodiments.
[0055] [Figure 20A] FIG. 10 is a flow diagram of a process for providing tactile feedback indicating the crossing of a threshold to trigger or cancel an action, according to some embodiments. [Figure 20B] FIG. 10 is a flow diagram of a process for providing tactile feedback indicating the crossing of a threshold to trigger or cancel an action, according to some embodiments. [Figure 20C] FIG. 10 is a flow diagram of a process for providing tactile feedback indicating the crossing of a threshold to trigger or cancel an action, according to some embodiments. [Figure 20D]FIG. 10 is a flow diagram of a process for providing tactile feedback indicating the crossing of a threshold to trigger or cancel an action, according to some embodiments. [Figure 20E] FIG. 10 is a flow diagram of a process for providing tactile feedback indicating the crossing of a threshold to trigger or cancel an action, according to some embodiments. [Figure 20F] FIG. 10 is a flow diagram of a process for providing tactile feedback indicating the crossing of a threshold to trigger or cancel an action, according to some embodiments. [Figure 20G] FIG. 10 is a flow diagram of a process for providing tactile feedback indicating the crossing of a threshold to trigger or cancel an action, according to some embodiments.
[0056] [Figure 21] FIG. 1 is a functional block diagram of an electronic device according to some embodiments.
[0057] [Figure 22A] FIG. 10 is a flow diagram of a process for providing tactile feedback associated with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 22B] FIG. 10 is a flow diagram of a process for providing tactile feedback associated with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 22C] FIG. 10 is a flow diagram of a process for providing tactile feedback associated with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 22D] FIG. 10 is a flow diagram of a process for providing tactile feedback associated with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments. [Figure 22E]FIG. 10 is a flow diagram of a process for providing tactile feedback associated with switching between subsets of indexed content during navigation of the indexed content, according to some embodiments.
[0058] [Figure 23] FIG. 1 is a functional block diagram of an electronic device according to some embodiments.
[0059] [Figure 24A] FIG. 10 is a flow diagram of a process for providing tactile feedback during variable speed scrubbing according to some embodiments. [Figure 24B] FIG. 10 is a flow diagram of a process for providing tactile feedback during variable speed scrubbing according to some embodiments. [Figure 24C] FIG. 10 is a flow diagram of a process for providing tactile feedback during variable speed scrubbing according to some embodiments. [Figure 24D] FIG. 10 is a flow diagram of a process for providing tactile feedback during variable speed scrubbing according to some embodiments. [Figure 24E] FIG. 10 is a flow diagram of a process for providing tactile feedback during variable speed scrubbing according to some embodiments. [Figure 24F] FIG. 10 is a flow diagram of a process for providing tactile feedback during variable speed scrubbing according to some embodiments. [Figure 24G] FIG. 10 is a flow diagram of a process for providing tactile feedback during variable speed scrubbing according to some embodiments.
[0060] [Figure 25] FIG. 1 is a functional block diagram of an electronic device according to some embodiments.
[0061] [Figure 26A] FIG. 10 is a flow diagram of a process for providing tactile feedback during variable speed scrubbing according to some embodiments. [Figure 26B]FIG. 10 is a flow diagram of a process for providing tactile feedback during variable speed scrubbing according to some embodiments. [Figure 26C] FIG. 10 is a flow diagram of a process for providing tactile feedback during variable speed scrubbing according to some embodiments. [Figure 26D] FIG. 10 is a flow diagram of a process for providing tactile feedback during variable speed scrubbing according to some embodiments. [Figure 26E] FIG. 10 is a flow diagram of a process for providing tactile feedback during variable speed scrubbing according to some embodiments.
[0062] [Figure 27] FIG. 1 is a functional block diagram of an electronic device according to some embodiments.
[0063] [Figure 28A] FIG. 10 is a flow diagram of a process for providing tactile feedback associated with a visual rubber band effect, according to some embodiments. [Figure 28B] FIG. 10 is a flow diagram of a process for providing tactile feedback associated with a visual rubber band effect, according to some embodiments. [Figure 28C] FIG. 10 is a flow diagram of a process for providing tactile feedback associated with a visual rubber band effect, according to some embodiments. [Figure 28D] FIG. 10 is a flow diagram of a process for providing tactile feedback associated with a visual rubber band effect, according to some embodiments. [Figure 28E] FIG. 10 is a flow diagram of a process for providing tactile feedback associated with a visual rubber band effect, according to some embodiments.
[0064] [Figure 29] FIG. 1 is a functional block diagram of an electronic device according to some embodiments.
[0065] [Figure 30A]FIG. 10 is a flow diagram of a process for providing tactile feedback indicating selection, pickup, dragging, dropping, and / or snapping of objects in a user interface, according to some embodiments; [Figure 30B] FIG. 10 is a flow diagram of a process for providing tactile feedback indicating selection, pickup, dragging, dropping, and / or snapping of objects in a user interface, according to some embodiments; [Figure 30C] FIG. 10 is a flow diagram of a process for providing tactile feedback indicating selection, pickup, dragging, dropping, and / or snapping of objects in a user interface, according to some embodiments; [Figure 30D] FIG. 10 is a flow diagram of a process for providing tactile feedback indicating selection, pickup, dragging, dropping, and / or snapping of objects in a user interface, according to some embodiments; [Figure 30E] FIG. 10 is a flow diagram of a process for providing tactile feedback indicating selection, pickup, dragging, dropping, and / or snapping of objects in a user interface, according to some embodiments; [Figure 30F] FIG. 10 is a flow diagram of a process for providing tactile feedback indicating selection, pickup, dragging, dropping, and / or snapping of objects in a user interface, according to some embodiments; [Figure 30G] FIG. 10 is a flow diagram of a process for providing tactile feedback indicating selection, pickup, dragging, dropping, and / or snapping of objects in a user interface, according to some embodiments;
[0066] [Figure 31] FIG. 1 is a functional block diagram of an electronic device according to some embodiments.
[0067] [Figure 32A]FIG. 10 is a flow diagram of a process for providing tactile feedback that satisfies a device's directional criteria, according to some embodiments. [Figure 32B] FIG. 10 is a flow diagram of a process for providing tactile feedback that satisfies a device's directional criteria, according to some embodiments. [Figure 32C] FIG. 10 is a flow diagram of a process for providing tactile feedback that satisfies a device's directional criteria, according to some embodiments.
[0068] [Figure 33] FIG. 1 is a functional block diagram of an electronic device according to some embodiments.
[0069] [Figure 34A] FIG. 10 is a flow diagram of a process for providing tactile feedback for selecting each value in a value picker according to some embodiments. [Figure 34B] FIG. 10 is a flow diagram of a process for providing tactile feedback for selecting each value in a value picker according to some embodiments. [Figure 34C] FIG. 10 is a flow diagram of a process for providing tactile feedback for selecting each value in a value picker according to some embodiments. [Figure 34D] FIG. 10 is a flow diagram of a process for providing tactile feedback for selecting each value in a value picker according to some embodiments.
[0070] [Figure 35] FIG. 1 is a functional block diagram of an electronic device according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0071] Many electronic devices provide feedback when an input is detected in a graphical user interface to provide an indication of the effect the input has on device operation. The methods described herein often provide tactile feedback along with visual and / or audio feedback to assist the user in understanding the effect the detected input has on device operation and to provide the user with information about the state of the device.
[0072] The methods, devices, and GUIs described herein use tactile feedback to improve user interface interaction in several ways, such as making it easier to indicate hidden thresholds, perform scrubbing such as index bar scrubbing and variable rate scrubbing, improve rubber band effects, drag and drop objects, indicate device orientation, and scroll movable user interface components that represent selectable options. Exemplary Devices
[0073] Reference will now be made in detail to the embodiments, examples of which are illustrated in the accompanying drawings. In the following specific description, numerous specific details are set forth in order to provide a thorough understanding of the various described embodiments. However, it will be apparent to those skilled in the art that the various described embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
[0074] In some instances herein, terms such as "first," "second," etc. are used to describe various elements, but it should 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 may be referred to as a second contact, and similarly, a second contact may be referred to as a first contact, without departing from the scope of the various embodiments described. Although a first contact and a second contact are both contacts, they are not the same contact unless the context clearly dictates otherwise.
[0075] 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 unless the context clearly dictates otherwise. As used herein, the term "and / or" will 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," when 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.
[0076] As used herein, the term "if" is optionally interpreted to mean "when," "upon," "in response to determining," or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if (a stated condition or event) is detected" are optionally interpreted to mean "upon determining," or "in response to determining," or "upon detecting (the stated condition or event)," or "in response to detecting (the stated condition or event)," depending on the context.
[0077] 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. Some 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).
[0078] 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.
[0079] The device typically supports a variety of applications such as any one or more of note-taking applications, drawing applications, presentation applications, word processing applications, website creation applications, disc authoring applications, spreadsheet applications, gaming applications, telephony applications, video conferencing applications, email applications, instant messaging applications, training support applications, photo management applications, digital camera applications, digital video camera applications, web browsing applications, digital music player applications, and / or digital video player applications.
[0080] 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 application to application 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.
[0081] 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 optical sensors 164. Device 100 optionally includes one or more intensity sensors 165 that detect 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 that generate tactile output on device 100 (e.g., generate tactile output on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touchpad 355 of device 300). These components optionally communicate over one or more communication buses or signal lines 103.
[0082] As used herein and in the claims, the term “tactile output” refers to a physical displacement of a device from a previous position, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component (e.g., a housing), or a displacement of a component relative to the center of gravity of the device, detected by a user through the user's 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 interpreted by the user, optionally, as a “downclick” or “upclick” of a physical actuator button. In some cases, the user will feel a tactile sensation such as a “downclick” or “upclick” even when there is no movement of a physical actuator button associated with the touch-sensitive surface that is physically pressed (e.g., displaced) by the user's 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 a user's interpretation of such touch will depend on the user's personal sensory perception, there are many sensory perceptions of touch that are common to most users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., an "upclick," a "downclick," or a "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.Using tactile output 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 also reduces the device's power usage and improves battery life by allowing the user to use the device more quickly and efficiently.
[0083] 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.
[0084] When tactile outputs having different tactile output patterns are generated by the 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. Although a user's sensations are based on the user's perception of the tactile output, most users can distinguish changes in the waveform, frequency, and amplitude of the tactile output generated by the device. Thus, the waveform, frequency, and amplitude can be adjusted to indicate to the user that different operations have been performed. In this manner, tactile outputs having tactile output patterns designed, selected, and / or engineered to simulate the properties (e.g., size, material, weight, stiffness, smoothness, etc.), behaviors (e.g., vibration, displacement, acceleration, rotation, magnification, etc.), and / or interactions (e.g., collision, adhesion, repulsion, attraction, friction, etc.) of objects in a given environment (e.g., a user interface including graphical features and objects, a simulated physical environment having virtual boundaries and virtual objects, a real physical environment having physical boundaries and physical objects, and / or any combination of the above) may, in some circumstances, provide a user with useful feedback that reduces input errors and improves efficiency in the user's operation of the device. Additionally, tactile outputs are optionally generated to correspond to feedback unrelated to simulated physical properties, such as input thresholds or object selection. Such tactile outputs may, in some circumstances, provide a user with useful feedback that reduces input errors and improves efficiency in the user's operation of the device.
[0085] In some embodiments, a tactile output having a suitable tactile output pattern serves as a cue for the occurrence of an event of interest behind the scenes 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 or virtual button, or a toggle switch), 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 for 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 the accessibility of a device to users with visual impairments or mobility challenges 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 that 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 improves efficiency in the user's operation of the device.
[0086] FIG. 4F provides a set of sample tactile output patterns that can be used individually or in combination, either as is or with one or more transformations (e.g., modulation, amplification, truncation, etc.), to generate suitable tactile feedback in various scenarios and for various purposes, such as those mentioned above and described with respect to the user interfaces and methods discussed herein. This example palette of tactile outputs shows 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 is optionally adjusted in amplitude by changing the gain value of the tactile output pattern, as shown in the figure with gain variations of 1.0, 0.75, 0.5, and 0.25 for 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, in FIG. 4G. As shown in FIG. 4G, 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, changing the frequency of the tactile output pattern also results in smaller amplitudes because some tactile output generators are limited by how much force can be applied to a moving mass, and therefore mass movements at higher frequencies are constrained 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 smaller than the amplitudes of full taps at 80 Hz, 100 Hz, 125 Hz, and 200 Hz).
[0087] In FIG. 4F, each column shows a tactile output pattern with a particular waveform. The waveform of a tactile output pattern represents the neutral position (e.g., x ) that the moving mass goes through to generate the tactile output with that tactile output pattern. zero) represent a pattern of change in physical displacement over time. For example, the first set of tactile output patterns (e.g., "full tap" tactile output patterns) shown in the left column of FIG. 4F have waveforms that each 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 center column of FIG. 4F 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. 4F have waveforms that include one-half of a complete cycle of vibration (e.g., vibrations that start and end at a neutral position but do not cross the neutral position). The tactile output pattern waveforms also include start and end buffers that represent a gradual increase and decrease in speed of the moving mass at the beginning and end of the tactile output. The exemplary waveforms shown in FIGS. 4F-4G are x, which represents the maximum limit of movement of the movable mass. max x represents the value and minimum limit 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 4F-4G illustrate movement of a mass in one dimension, similar principles apply to movement of a movable mass in two or three dimensions.
[0088] As shown in FIG. 4F , each tactile output pattern also 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 a continuous tactile output, the characteristic frequency represents the number of cycles (e.g., cycles per second) completed by the moving mass of the tactile output generator within a given time period. For a discrete tactile output, a discrete output signal (e.g., 0.5 cycles, 1 cycle, or 2 cycles) is 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. 4F , 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 faster movement(s) by the moving mass and therefore generally requires less time to complete the tactile output (e.g., the time to complete the number of cycles required for the discrete tactile output plus start and finish buffer times). 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 4F). 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).
[0089] As shown in FIG. 4F , 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 experience due to 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 its neutral position when generating the tactile output. In some embodiments, the characteristic amplitude of the tactile output pattern is adjustable by a fixed gain factor or a 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 across a hidden or visible boundary in a 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 may be further modulated by multiplying it by a time-varying envelope parameter (e.g., from 0 to 1) to gradually adjust the amplitude of a portion of the tactile output over time as the tactile output is being generated.
[0090] While specific frequencies, amplitudes, and waveforms are depicted in the sample tactile output pattern in FIG. 4F for illustrative purposes, 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 in the range of 60 Hz to 400 Hz may be used as well. Table 1 provides examples of specific tactile feedback behaviors and configurations and their uses. [Table 1-1] [Table 1-2] [Table 1-3]
[0091] The examples shown in Table 1 are intended to 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 (e.g., based on tactile output pattern, frequency, gain, etc.) for different inputs and / or events. 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.
[0092] 4H-4J show exemplary tactile audio output patterns versus time used in conjunction with a tactile output to simulate a button click, according to some embodiments.
[0093] Figure 4K shows an example combination of tactile output patterns and tactile audio output patterns versus time, according to some embodiments. Figures 4L-4Q are expanded versions of the combination shown in Figure 4K for clarity.
[0094] In FIG. 4H , the top tactile audio pattern “Click A1 Audio” is an audio output played along with the “Click A” normal mini-tap (230 Hz) to simulate a first down-click in a “normal” first click, where the rate of change of contact intensity at the control activation threshold exceeds a rate-of-change threshold (e.g., the contact becomes a “normal” strong / fast press), as shown in FIG. 4K (first row of first click column) and the top portion of FIG. 4L . In this example, the “Click A1 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 A1 Audio” and “Click A” normal 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 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.
[0095] When the rate of change of contact intensity at the control activation threshold falls below a rate-of-change threshold (e.g., when the contact is "weak" and / or slow), the top tactile audio pattern "Click A1 Audio" is also played along with a weak mini-tap (230 Hz) of "Click A" 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 lower portion of FIG. 4L. To simulate a "weak" down-click, the gain of the "Click A1 Audio" and the weak mini-tap (230 Hz) of "Click A" is reduced (e.g., by 50%) in the "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 weak mini-tap (230 Hz) of "Click A" are played to simulate a first up-click following a first down-click. In some cases, the gain of the weak mini-tap (230 Hz) of "Click A1 Audio" and / or "Click A" is reduced (for example by 50%) on the up-click relative to the preceding down-click.
[0096] In FIG. 4H , when the rate of change of contact intensity at the control activation threshold exceeds the rate of change threshold (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 normal mini-tap (230 Hz) of “Click A” 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 portion of FIG. 4M . In this example, the “Click A2 Audio” is offset by 2 ms from the onset of the normal mini-tap (230 Hz) of “Click A” tactile output. In some cases, the same “Click A2 Audio” and normal mini-tap (230 Hz) of “Click A” are played to simulate a second up-click following a second down-click. In some cases, the gain of the weak mini-tap (230 Hz) of "Click A2 Audio" and / or "Click A" is reduced (for example by 50%) on the second up-click relative to the preceding second down-click.
[0097] When the rate of change of contact intensity at the control activation threshold falls below a rate-of-change threshold (e.g., when the contact is "soft" and / or slow), a bottom tactile audio pattern "Click A2 Audio" is also played along with a soft mini-tap (230 Hz) of "Click A" to simulate a second down-click in a "soft" 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 portion of FIG. 4M. To simulate a "soft" down-click, the gain of the "Click A2 Audio" and the "Click A" soft mini-tap (230 Hz) is reduced (e.g., by 50%) for the "soft" 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" soft mini-tap (230 Hz) tactile output. In some cases, the same "Click A2 Audio" and a soft mini-tap (230 Hz) of "Click A" 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 the soft mini-tap (230 Hz) of "Click A" is reduced (e.g., by 50%) in the second up-click relative to the preceding second down-click.
[0098] In FIG. 4I , when the rate of change of contact intensity at the control activation threshold exceeds the threshold rate (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 the top portion 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 B” normal mini-tap (270 Hz) is reduced (e.g., by 50%) in the up-click relative to the preceding down-click.
[0099] When the rate of change of contact intensity at the control activation threshold falls below a threshold rate (e.g., when the contact is "weak" and / or slow), the top tactile audio pattern "Click B1 Audio" is also played along with a weak mini-tap (270 Hz) of "Click B" 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 lower portion of FIG. 4N. To simulate a "weak" down-click, the gain of the "Click B1 Audio" and the weak mini-tap (270 Hz) of "Click B" are reduced (e.g., by 50%) in the "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 weak mini-tap (270 Hz) of "Click B" are played to simulate a first up-click following a first down-click. In some cases, the gain of the weak mini-tap (230 Hz) of the "Click B1 Audio" and / or "Click B" is reduced (for example by 50%) on the up-click relative to the preceding down-click.
[0100] In FIG. 4I, when the rate of change of contact intensity at the control activation threshold exceeds the rate of change threshold (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 normal mini-tap (270 Hz) of "Click B" 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 upper portion of FIG. 4O. In this example, the "Click B2 Audio" is offset by 2.8 ms from the onset of the normal mini-tap (270 Hz) of "Click B" tactile output. In some cases, the same "Click B2 Audio" and normal mini-tap (230 Hz) of "Click B" are played to simulate a second up-click following a second down-click. In some cases, the gain of the normal mini-tap (270 Hz) of "Click B2 Audio" and / or "Click B" is reduced (for example by 50%) on the second up-click relative to the preceding second down-click.
[0101] If the rate of change of contact intensity at the control activation threshold falls below a rate-of-change threshold (e.g., if the contact is "weak" and / or slow), a bottom tactile audio pattern "Click B2 Audio" is also played along with a "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 portion 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%) for 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 Audio" 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 Audio" and / or "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.
[0102] In FIG. 4J , when the rate of change of contact intensity at the control activation threshold exceeds the rate of change threshold (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 normal mini-tap (300 Hz) of “Click C” to simulate the first down-click of a “normal” first click, as shown in FIG. 4K (first click column, fifth row) and the top portion of FIG. 4P . In this example, the “Click C1 Audio” is offset by 1.9 ms from the onset of the normal mini-tap (300 Hz) of “Click C” tactile output. In some cases, the same “Click C1 Audio” and normal mini-tap (300 Hz) of “Click C” 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 normal mini-tap (300 Hz) of “Click C” is reduced (e.g., by 50%) in the up-click relative to the preceding down-click.
[0103] When the rate of change of contact intensity at the control activation threshold falls below the rate of change threshold (e.g., when the contact is "weak" and / or slow), the top tactile audio pattern "Click C1 Audio" is also played along with a weak mini-tap (300 Hz) of "Click C" 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 lower portion of FIG. 4P. To simulate a "weak" down-click, the gain of the "Click C1 Audio" and the weak mini-tap (300 Hz) of "Click C" are reduced (e.g., by 50%) in the "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 weak mini-tap (270 Hz) of "Click C" are played to simulate a first up-click following a first down-click. In some cases, the gain of the weak mini-tap (300 Hz) of the "Click C1 Audio" and / or "Click C" is reduced (for example by 50%) on the up-click relative to the preceding down-click.
[0104] In FIG. 4J , when the rate of change of contact intensity at the control activation threshold exceeds the rate of change threshold (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 the normal mini-tap (300 Hz) of “Click C” 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 upper portion 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 normal mini-tap (300 Hz) of “Click C” are played to simulate a second up-click following a second down-click. In some cases, the gain of the normal mini-tap (300 Hz) of the "Click C2 Audio" and / or "Click C" is reduced (for example by 50%) on the second up-click relative to the preceding second down-click.
[0105] If the rate of change of contact intensity at the control activation threshold falls below a rate-of-change threshold (e.g., if the contact is "weak" and / or slow), a bottom tactile audio pattern "Click C2 Audio" is also played along with a weak mini-tap (300 Hz) of "Click C" 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 portion of FIG. 4Q. To simulate a "weak" down-click, the gain of "Click C2 Audio" and the weak mini-tap (300 Hz) of "Click C" is reduced (e.g., by 50%) for the "weak" down-click relative to a "normal" down-click. In this example, "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 Audio" and a soft mini-tap (300 Hz) of "Click C" 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 the soft mini-tap (300 Hz) of "Click C" is reduced (e.g., by 50%) in the second up-click relative to the preceding second down-click.
[0106] 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 Figure 1A are implemented in hardware, software, firmware, or a combination thereof, including one or more signal processing circuits and / or application specific integrated circuits.
[0107] Memory 102 optionally includes high-speed random-access memory, and optionally also 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.
[0108] The peripherals interface 118 may be used to couple the device's input and output peripherals with the CPU(s) 120 and memory 102. The one or more processors 120 operate or execute various software programs and / or instruction sets stored in the memory 102 to perform various functions and process data for the device 100.
[0109] In some embodiments, peripherals interface 118, CPU(s) 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0110] Radio frequency (RF) circuitry 108 transmits and receives RF signals, also called electromagnetic signals. RF circuitry 108 converts electrical signals to electromagnetic signals or vice versa and communicates with communication networks and other communication devices via electromagnetic signals. RF circuitry 108 optionally includes well-known circuits to perform 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. RF circuitry 108 optionally communicates via wireless communication 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), and other devices. 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 (WDMA), and the like.access (W-CDMA), 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 (SIP)), and the like. Examples of suitable communication protocols include, but are not limited to, SIMPLE (Simple Message Extensions), Instant Messaging and Presence Service (IMPS), and / or Short Message Service (SMS), or any other suitable communication protocol, including communication protocols not yet developed as of the filing date of this document.
[0111] 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. The audio data is optionally transmitted to and from 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. 2A ). The headset jack provides an interface between audio circuitry 110 and a detachable audio input / output peripheral, such as an output-only headphone or a headset with both an output (e.g., mono or binaural headphones) and an input (e.g., a microphone).
[0112] 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 display controller 156, light sensor controller 158, intensity sensor controller 159, tactile feedback controller 161, and one or more input controllers 160 for other input or control devices. One or more input controllers 160 send and receive 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. The one or more buttons (e.g., 208 in FIG. 2A) optionally include up / down buttons for controlling the volume of the speaker 111 and / or microphone 113. The one or more buttons optionally include a push button (e.g., 206 in FIG. 2A).
[0113] Touch-sensitive display system 112 provides an input and output interface between the device and a user. Display controller 156 sends and receives electrical signals to and from 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 a user interface object. 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 at 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.
[0114] Touch-sensitive display system 112 has a touch-sensitive surface, sensor, or set of sensors that receive input from a user based on tactile 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 some embodiments, the point of contact between touch-sensitive display system 112 and the user corresponds to the user's finger or stylus.
[0115] 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 some embodiments, projected mutual capacitance sensing technology is used, such as that found in the iPhone®, iPod Touch®, and iPad® from Apple Inc. of Cupertino, California.
[0116] 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 uses any suitable object or accessory, such as a stylus, finger, or the like, to contact touch-sensitive display system 112. In some embodiments, the user interface is designed to work with finger contacts and gestures, which may be less precise than stylus-based input due to the larger finger contact area on the touchscreen. In some embodiments, the device translates coarse finger input into precise pointer / cursor position or commands to perform the user's desired action.
[0117] In some embodiments, device 100 optionally includes a touchpad (not shown) in addition to the touchscreen 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.
[0118] 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 the generation, management, and distribution of power within a portable device.
[0119] 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 charge-coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) phototransistors. Light sensor(s) 164 receive light from the environment projected through one or more lenses and convert it into data representing an image. Light sensor(s) 164 optionally capture still images and / or video in conjunction with imaging module 143 (also referred to as a camera module). In some embodiments, a 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 placed on the front of the device so that an image of the user can be captured (e.g., so that the user can take a selfie while viewing other video conference participants on the touchscreen for video conferencing purposes).
[0120] 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 to 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.
[0121] Device 100 also optionally includes one or more proximity sensors 166. Figure 1A shows proximity sensor 166 coupled with peripherals interface 118. Alternatively, proximity sensor 166 is coupled with 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 the user's ear (e.g., when the user is making a phone call).
[0122] Device 100 also optionally includes one or more tactile output generators 167. FIG. 1A shows tactile output generator(s) 167 coupled with tactile 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 components that generate tactile output (e.g., components that convert electrical signals into tactile output on the device). Tactile output generator(s) 167 receive tactile feedback generation instructions from tactile 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 a tactile output, optionally by moving the touch-sensitive surface vertically (e.g., in / out of the face of device 100) or horizontally (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.
[0123] 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 a touchscreen display in portrait or landscape orientation 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) that obtains information regarding the location and orientation (e.g., portrait or landscape) of device 100.
[0124] 1A and 3, memory 102 stores device / global internal state 157. Device / global internal state 157 includes any one or more of: active application state indicating which applications, if any, are currently active; display state indicating which applications, views, or other information occupy various regions of touch-sensitive display system 112; sensor state including information obtained from the device's various sensors and other input or control devices 116; and location and / or position information regarding the device's position and / or orientation.
[0125] 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.
[0126] Communications module 128 also includes various software components for facilitating communication with other devices over one or more external ports 124 and 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.
[0127] Contact / motion module 130 (in cooperation with display controller 156) optionally detects contact with touch-sensitive display system 112 and contact with other touch-sensitive devices (e.g., a touchpad or physical click wheel). Contact / motion module 130 includes software components for performing various operations related to detecting contact (e.g., by a finger or stylus), such as determining whether contact has occurred (e.g., detecting a finger-down event), determining the intensity of the contact (e.g., the force or pressure of the contact, or a surrogate for the force or pressure of the contact), determining whether there is contact movement and tracking the movement across the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger-up event or an interruption of contact). Contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point 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 the touchpad.
[0128] 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 for a stylus by detecting particular contact patterns for the stylus.
[0129] 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 a finger-down event and a finger-up event is less than a predetermined value (e.g., 0.1 seconds, 0.2 seconds, 0.3 seconds, 0.4 seconds, 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 light or deep pressure intensity threshold. Thus, the particular input criteria that a finger tap gesture may satisfy do not require that the characteristic intensity of the contact meet a given intensity threshold for the particular input criteria to be met. For clarity, the finger contact in a tap gesture generally must meet a nominal contact-detection intensity threshold for a finger-down event to be detected, below which the contact will not be detected. A similar analysis applies to detecting tap gestures or other contacts with a stylus. In cases where a device is capable of detecting contact of a finger or stylus hovering over the touch-sensitive surface, the nominal contact-detection intensity threshold optionally does not correspond to physical contact between the finger or stylus and the touch-sensitive surface.
[0130] The same concepts apply to other types of gestures as well. 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, swipe gestures are detected based on the amount of movement of one or more contacts, pinch gestures are detected based on the movement of two or more contacts toward each other, de-pinch gestures are detected based on the movement of two or more contacts away from each other, and long press gestures are detected based on the duration during which the amount of movement of the contacts on the touch-sensitive surface is less than a threshold amount of movement. Thus, a statement that a particular gesture recognition criterion does not require the intensity of the contact(s) to meet a respective intensity threshold for the particular gesture recognition criterion to be met means that the particular gesture recognition criterion may be met when the contact(s) in the gesture do not reach their respective intensity threshold, and may also be met in situations where any 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 determining that a finger-down event and a finger-up event are detected within a predetermined time period, regardless of whether the contacts are above or below their respective intensity thresholds during the predetermined time period, and a swipe gesture is detected based on determining that a movement of the contact is greater than a predetermined 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 a long press sooner than when the intensity of the contact exceeds an intensity threshold, or detects a tap input later when the intensity of the contact is higher), detection of those gestures does not require the contact to reach a particular intensity threshold (e.g., even if the time required to recognize the gesture varies), 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.
[0131] The contact intensity threshold, duration threshold, and movement threshold may, in some circumstances, be combined in various different combinations to create heuristics that distinguish between two or more different gestures assigned to the same input element or region, thereby enabling multiple different interactions with the same input element and providing a richer set of user interactions and responses. A statement that a particular set of gesture recognition criteria does not require the intensity of the contact(s) to meet the respective intensity threshold for the particular gesture recognition criterion to be satisfied does not preclude the simultaneous evaluation of other intensity-dependent gesture recognition criteria to identify other gestures that have criteria that are satisfied when the gesture includes contacts with intensities above the respective intensity thresholds. For example, in some circumstances, a first gesture recognition criterion for a first gesture that does not require the intensity of the contact(s) to meet the respective intensity threshold for the first gesture recognition criterion to be satisfied conflicts with a second gesture recognition criterion for a second gesture that is dependent on the contact(s) reaching the respective intensity threshold. In such a conflict, 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 a predetermined amount, a deep press gesture is detected rather than a swipe gesture. Conversely, if the contact moves a predetermined amount 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) satisfy the respective intensity thresholds, because if the contact remains below the respective intensity thresholds until the end of the gesture (e.g., a swipe gesture with a contact intensity that does not increase to above the respective intensity threshold), the gesture would have been recognized as a swipe gesture by the first gesture recognition criteria.As such, certain gesture recognition criteria that do not require the intensity of the contact(s) to meet a respective intensity threshold for the particular gesture recognition criterion to be satisfied are those that (A) in some circumstances ignore the intensity of the contact with respect to the intensity threshold (e.g., for a tap gesture) and / or (B) in some circumstances still depend on the intensity of the contact with respect to the intensity threshold in the sense that the particular gesture recognition criterion (e.g., for a long press gesture) will fail in some circumstances 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 to be recognized).
[0132] 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.
[0133] 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 a graphic to be displayed, along with coordinate data and other graphic characteristic data as needed, and then generates screen image data for output to display controller 156.
[0134] 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.
[0135] 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).
[0136] 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).
[0137] The application 136 optionally includes the following modules (or instruction sets), 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 any one or more of a weather widget 149-1, a stock price widget 149-2, a calculator widget 149-3, an alarm clock widget 149-4, a dictionary widget 149-5, and other widgets obtained by the user, as well as user-created widgets 149-6; a widget creation module 150 for creating user-created widgets 149-6; ● Search module 151, • a video and music player module 152, optionally consisting of a video player module and a music player module; ● Memo module 153, Map module 154, and / or ●Online video module 155.
[0138] Examples of other applications 136 optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice duplication.
[0139] Contacts module 137, in conjunction with touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, includes executable instructions (e.g., stored in memory 102 or in application internal state 192 of contacts 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 phone 138, video conference 139, email 140, or IM 141, etc.
[0140] Telephone module 138, in conjunction 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, contains executable instructions to enter a series of characters corresponding to a telephone number, access one or more telephone numbers in address book 137, modify an entered telephone number, dial each telephone number, conduct a conversation, and disconnect or hang up when the conversation is completed. As previously mentioned, wireless communication optionally uses any of a number of communication standards, protocols, and technologies.
[0141] Video conferencing module 139, 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, includes executable instructions for initiating, conducting, and terminating video conferences between a user and one or more other participants according to the user's commands.
[0142] Email client module 140, in conjunction with RF circuitry 108, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, contains executable instructions for composing, sending, receiving, and managing emails in response to user commands. Email client module 140, in conjunction with image management module 144, greatly facilitates the creation and sending of emails with still or video images captured by camera module 143.
[0143] Instant message module 141, in conjunction with RF circuitry 108, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, 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 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).
[0144] The training support module 142, 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, 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 the workouts, selecting and playing music for the workouts, and displaying, storing, and transmitting the workout data.
[0145] 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 and storing still images or video (including video streams) in memory 102, modifying characteristics of the still images or video, and / or deleting still images or video from memory 102.
[0146] Image management module 144, 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, includes executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing still and / or video images.
[0147] 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 according to user commands, including retrieving, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0148] 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.
[0149] Widget modules 149 are mini-applications (e.g., weather widget 149-1, stock price widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5) optionally downloaded by a user and used 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, or mini-applications created by a user (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).
[0150] The widget creation module 150, in conjunction with the RF circuitry 108, the touch-sensitive display system 112, the display system controller 156, the contact module 130, the graphics module 132, the text input module 134, and the browser module 147, includes executable instructions for creating a widget (e.g., turning a user-specified portion of a web page into a widget).
[0151] Search module 151, in conjunction with touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, and text input module 134, includes executable instructions for searching memory 102 for text, music, sound, images, video, and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with a user's instructions.
[0152] Video and music player module 152, 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, includes 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, and executable instructions for displaying, presenting, or otherwise playing videos (e.g., on touch-sensitive display system 112, or wirelessly or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (trademark of Apple Inc.).
[0153] The notes module 153, in conjunction with the touch-sensitive display system 112, the display controller 156, the contact module 130, the graphics module 132, and the text input module 134, includes executable instructions for creating and managing notes, to-do lists, and the like according to user commands.
[0154] Map module 154, 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, includes executable instructions for receiving, displaying, modifying, and storing 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 commands.
[0155] Online video module 155, in conjunction with touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, email client module 140, and browser module 147, contains executable instructions that enable a user to access, view, receive (e.g., by streaming and / or downloading), play (e.g., on touchscreen 112, or wirelessly or on an external display connected via external port 124), send emails with links to particular online videos, and otherwise manage online videos in one or more file formats, such as H.264. In some embodiments, instant messaging module 141, rather than email client module 140, is used to send links to particular online videos.
[0156] Each of the above-identified modules and applications corresponds to an executable instruction set that performs one or more of the functions described above and methods described in the present application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (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 102 optionally stores a subset of the above-identified modules and data structures. Additionally, memory 102 optionally stores additional modules and data structures not described above.
[0157] In some embodiments, device 100 is a device on which operation of a predetermined 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 (pushbuttons, dials, etc.) on device 100 is optionally reduced.
[0158] The set of predetermined 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.
[0159] 1B is a block diagram illustrating exemplary components of event handling, according to some embodiments. In some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3) includes event sorter 170 (e.g., within operating system 126) and a respective application 136-1 (e.g., any of applications 136, 137-155, 380-390 described above).
[0160] Event sorter 170 receives the event information and determines application 136-1 to which to transmit the event information and application view 191 for application 136-1. 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 to transmit the event information.
[0161] In some embodiments, application internal state 192 includes additional information such as any 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.
[0162] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about a sub-event (e.g., a user's touch on touch-sensitive display system 112 as part of a multi-touch gesture). Peripherals interface 118 transmits information received from I / O subsystem 106 or sensors such as proximity sensor 166, accelerometer(s) 168, and / or microphone 113 (via audio circuitry 110). The information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display system 112 or a touch-sensitive surface.
[0163] In some embodiments, event monitor 171 sends requests at predetermined intervals to peripherals interface 118. 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).
[0164] In some embodiments, event sorter 170 also includes a hit view determination module 172 and / or an active event recognizer determination module 173 .
[0165] Hit view determination module 172 provides software procedures for determining where a sub-event occurred within one or more views 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.
[0166] Another aspect of the 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 view (of each application) in which the touch is detected optionally corresponds to a programmatic level within the application's programmatic or view hierarchy. For example, the lowest-level view in which the touch is detected is optionally referred to as a hit view, and the set of events that are recognized as appropriate inputs is optionally determined based at least in part on the hit view of the initial touch that initiates the touch-based gesture.
[0167] 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.
[0168] 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 restricted to the area associated with one particular view, views higher in the hierarchy remain actively participating views.
[0169] Event dispatcher module 174 dispatches the event information to an event recognizer (e.g., event recognizer 180). In embodiments that include active event recognizer determination module 173, event dispatcher module 174 transmits the event information to the event recognizer determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores the event information obtained by each event receiver module 182 in an event queue.
[0170] In some embodiments, operating system 126 includes event sorter 170. Alternatively, application 136-1 includes event sorter 170. In yet other embodiments, event sorter 170 is a stand-alone module or is part of another module stored in memory 102, such as contact / motion module 130.
[0171] 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, any one or more of 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 any one or more of data updater 176, object updater 177, 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, any one or more of the application views 191 include one or more respective event handlers 190. Also, in some embodiments, any one or more of a data updater 176, an object updater 177, and a GUI updater 178 are included in each application view 191.
[0172] 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 event receiver 182 and event comparator 184. In some embodiments, event recognizer 180 also includes at least a subset of metadata 183 and event transmission instructions 188 (optionally including sub-event transmission instructions).
[0173] Event receiver 182 receives event information from event sorter 170. The event information includes information about a sub-event, such as a touch or a touch movement. Depending on the sub-event, the event information may also include 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 orientation).
[0174] The event comparator 184 compares the event information to predetermined event or sub-event definitions and determines an event or sub-event based on the comparison, or determines or updates the state of the event or sub-event. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 includes a definition of an event (e.g., a predetermined series of sub-events), such as Event 1 (187-1), Event 2 (187-2), etc. In some embodiments, the sub-events of 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 of 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 phase on the displayed object, a first lift-off (touch end) for the predetermined phase, a second touch (touch start) for the predetermined phase on the displayed object, and a second lift-off (touch end) for the predetermined phase. 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) of a predetermined phase on a displayed object, movement of the touch across the touch-sensitive display system 112, and lift-off of the touch (end of the touch). In some embodiments, the event also includes information about one or more associated event handlers 190.
[0175] 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 the object that triggers the hit test.
[0176] In some embodiments, the definition for each event 187 also includes a delay action that delays transmission of the event information until it is determined whether a set of sub-events corresponds to the event recognizer's event type.
[0177] When each event recognizer 180 determines that a series of sub-events does not match any of the events in event definition 186, it enters an event-disabled, event-failed, or event-ended state, and thereafter ignores subsequent sub-events of the touch-based gesture. In this situation, any other event recognizers that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.
[0178] In some embodiments, each event recognizer 180 includes metadata 183 with configurable properties, flags, and / or lists that indicate how the event distribution system should perform sub-event distribution to actively participating event recognizers. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact or can interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are distributed to various levels in the view or programmatic hierarchy.
[0179] 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 transmits event information associated with the event to the event handler 190. Activating the event handler 190 is distinct from sending (and postponing) 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 captures the flag and performs predetermined processing.
[0180] In some embodiments, event transmission instructions 188 include sub-event transmission instructions that transmit event information about a sub-event without activating an event handler. Instead, the sub-event transmission instructions transmit the event information to an event handler associated with the set of sub-events or an actively participating view. The event handler associated with the set of sub-events or the event handler associated with the actively participating view receives the event information and performs predetermined processing.
[0181] In some embodiments, data updater 176 creates and updates data used by application 136-1. For example, data updater 176 updates phone numbers used in 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 and sends display information to graphics module 132 for display on the touch-sensitive display.
[0182] 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 included in a single module of the respective application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0183] It should be understood that the foregoing discussion regarding event processing of user touches on a touch-sensitive display also applies to other forms of user input for operating multifunction device 100 with input devices, although not all of them are initiated on the touchscreen. For example, mouse movements and mouse button presses, contact movements such as tapping, dragging, scrolling on a touchpad, optionally in conjunction with one or more keyboard presses or holds, pen stylus input, device movement, verbal commands, detected eye movement, biometric input, and / or any combination thereof, are optionally utilized as inputs corresponding to sub-events that define the event to be recognized.
[0184] 1C is a block diagram illustrating a tactile output module according to some embodiments. In some embodiments, I / O subsystem 106 (e.g., tactile feedback controller 161 (FIG. 1A) and / or other input controller(s) 160 (FIG. 1A)) includes at least some of the components illustrated in FIG. 1C. In some embodiments, peripherals interface 118 includes at least some of the components illustrated in FIG. 1C.
[0185] In some embodiments, the tactile output module includes a tactile feedback module 133. In some embodiments, the tactile 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 and other notifications indicating the performance of an action or the occurrence of an event in the user interface of the electronic device). The tactile feedback module 133 includes any one or more of the waveform module 123 (which provides the waveforms used to generate the tactile output), the mixer 125 (which mixes waveforms, such as those of different channels), the compressor 127 (which reduces or compresses the dynamic range of the waveforms), the low-pass filter 129 (which removes high-frequency signal components in the waveforms), and the thermal controller 131 (which adjusts the waveforms according to thermal conditions). In some embodiments, the tactile feedback controller 161 ( FIG. 1A ) includes the tactile feedback module 133. In some embodiments, the audio controller (e.g., audio circuit 110 of FIG. 1A) also includes a separate unit of tactile feedback module 133 (or a separate implementation of tactile feedback module 133) that is used to generate the audio signals. In some embodiments, a single tactile feedback module 133 is used to generate the audio signals and generate waveforms for the tactile output.
[0186] In some embodiments, tactile 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 the corresponding tactile output). In some embodiments, trigger module 121 generates a trigger signal that initiates the 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 tactile feedback module 133 (e.g., in some embodiments, tactile feedback module 133 receives a trigger signal from hardware input processing module 146 that is located external to tactile feedback module 133) and relays the trigger signal to a software application that triggers an action (e.g., using trigger module 121) based on activation of another component within tactile feedback module 133 (e.g., waveform module 123) or a hardware input device (e.g., a home button). In some embodiments, trigger module 121 also receives tactile feedback generation instructions (e.g., from tactile feedback module 133 of FIGS. 1A and 3). In some embodiments, trigger module 121 generates a trigger signal in response to tactile feedback module 133 (or trigger module 121 within tactile feedback module 133) receiving tactile feedback instructions (e.g., from tactile feedback module 133 of FIGS. 1A and 3).
[0187] The waveform module 123 receives a trigger signal (e.g., from the trigger module 121) as an input and, in response to receiving the trigger signal, provides a waveform (e.g., a waveform selected from a predetermined set of waveforms designed for use by the waveform module 123, such as the waveforms described in more detail below with reference to Figures 4F-4G) that generates one or more tactile outputs.
[0188] Mixer 125 receives waveforms (e.g., from waveform module 123) as inputs and combines 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), it outputs a combined waveform that corresponds 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 particular waveform(s) and / or decreasing the scale of the remaining waveforms) to emphasize the particular waveform(s) relative to the remaining 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).
[0189] Compressor 127 receives and modifies a waveform (e.g., a composite waveform from mixer 125) as input. 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 predetermined maximum amplitude on the waveform. For example, compressor 127 reduces the amplitude of portions of the waveform that exceed a predetermined amplitude threshold while maintaining the amplitude of portions of the waveform 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 moving mass displacement limits) of tactile output generator 167.
[0190] Low pass filter 129 receives as input a waveform (e.g., a compressed waveform from compressor 127) and filters (e.g., smooths) it (e.g., removes or reduces high frequency signal components of the waveform). For example, in some cases, the compressed waveform of compressor 127 includes extraneous signals (e.g., high frequency signal components) that, when a tactile output is generated according to the compressed waveform, interfere with the generation of the tactile output and / or exceed the performance specifications of tactile output generator 167. Low pass filter 129 reduces or removes such extraneous signals from the waveform.
[0191] Thermal controller 131 receives a waveform (e.g., the 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 tactile 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 tactile feedback controller 161 varies with temperature (e.g., tactile feedback controller 161 receives the same waveform but generates a first tactile output when tactile feedback controller 161 is at a first temperature and a second tactile output when tactile feedback controller 161 is at a second temperature different from the first temperature). For example, the magnitude (or amplitude) of the tactile output may vary with temperature. The waveform is modified (e.g., the amplitude of the waveform is increased or decreased based on the temperature) to reduce the effect of temperature changes.
[0192] In some embodiments, tactile 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. 1A, such as a home button). In some embodiments, hardware input device 145 is one of touch-sensitive display system 112 (FIG. 1A), keyboard / mouse 350 (FIG. 3), touchpad 355 (FIG. 3), other input or control device 116 (FIG. 1A), or any input device described herein, such as an intensity-sensitive home button (e.g., as shown in FIG. 2B) (or a home button with a mechanical actuator as shown in FIG. 2C). In some embodiments, hardware input device 145 consists of an intensity-sensitive home button (e.g., as shown in FIG. 2B ) (or a home button with a mechanical actuator as shown in FIG. 2C ), touch-sensitive display system 112 ( FIG. 1A ), keyboard / mouse 350 ( FIG. 3 ), or touchpad 355 ( FIG. 3 ). In some embodiments, hardware input processing module 146, in response to input from hardware input processing module 145, 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.
[0193] In some embodiments, the tactile output module includes a tactile feedback controller 161 (tactile feedback controller 161 in FIG. 1A ) that controls the generation of the tactile output. In some embodiments, tactile feedback controller 161 is coupled to a plurality of tactile output generators, selects one or more tactile output generators from 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, tactile feedback controller 161 coordinates the tactile output request corresponding to the activation of hardware input device 145 with the tactile output request corresponding to the software event (e.g., the tactile output request from tactile feedback module 133) (e.g., by increasing the scale of particular waveform(s) and / or decreasing the scale of remaining waveforms, e.g., to prioritize tactile output corresponding to the activation of hardware input device 145 over tactile output corresponding to the software event), and modifies one or more of the two or more waveforms to emphasize particular waveform(s) relative to the rest of the two or more waveforms.
[0194] In some embodiments, as shown in FIG. 1C , an output of tactile feedback controller 161 is coupled to an audio circuit of device 100 (e.g., audio circuit 110 of FIG. 1A ) to provide an audio signal to the audio circuit of device 100. In some embodiments, tactile feedback controller 161 provides both the waveform used to generate the tactile output and the audio signal used to provide the audio output in conjunction with generating the tactile output. In some embodiments, tactile feedback controller 161 modifies the audio signal and / or waveform (used to generate the tactile output) so that the audio output and the tactile output are synchronized (e.g., by delaying the audio signal and / or waveform). In some embodiments, tactile feedback controller 161 includes a digital-to-analog converter used to convert the digital waveform to an analog signal, which is received by amplifier 163 and / or tactile output generator 167.
[0195] In some embodiments, tactile output module includes amplifier 163. In some embodiments, amplifier 163 receives a waveform (e.g., from tactile feedback controller 161), amplifies the waveform, and then transmits 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 that meets 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 corresponding to the waveform received from tactile feedback controller 161). 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).
[0196] In some embodiments, tactile output module includes sensor 169 coupled to tactile output generator 167. 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 of tactile output generator 167) to tactile feedback controller 161, which adjusts the waveform output from tactile feedback controller 161 (e.g., waveform transmitted 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.
[0197] FIG. 2 illustrates portable multifunction device 100 having a touchscreen (e.g., touch-sensitive display system 112 of 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 any one or more of the graphics by making a gesture on the graphics, for example, with one or more fingers 202 (illustrated not to scale) or one or more styluses 203 (illustrated not 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 (right to left, left to right, upward, and / or downward) of a finger in contact with device 100. 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.
[0198] 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 of a set of applications optionally running on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on a touchscreen display.
[0199] 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. Pushbuttons 206 are optionally used to power the device on / off by pressing and holding the button down for a predetermined time interval, lock the device by pressing and releasing the button before the predetermined time interval has elapsed, and / or unlock the device or initiate an unlocking process. In some embodiments, device 100 also receives verbal input for activating or deactivating certain functions 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.
[0200] 2B-2C are exploded views of a first input device (e.g., home button 204) suitable for use in the electronic device shown in FIGS. 1A, 2A, 3, and / or 4A. 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.
[0201] Both the cover element 222 and the trim 224 can be formed of any suitable opaque, transparent, and / or translucent material. 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 beneath the cover element 222. For example, if the cover element 222 is made of a transparent material, an opaque ink layer can be disposed beneath 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.
[0202] A first circuit layer 226 may be disposed beneath 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.
[0203] The first circuit layer 226 may be attached to the bottom surface of the cover element 222 using an adhesive layer 230. Any suitable adhesive may be used as the adhesive layer. For example, a pressure-sensitive adhesive layer may be used as the adhesive layer 230.
[0204] A compliant layer 232 is disposed beneath the first circuit layer 226. In one embodiment, the compliant layer 232 has an opening 234 formed therein. The opening 234 exposes the top surface of the first circuit layer 226 and / or the biosensor 228 when the device stack 220 is assembled. In the illustrated embodiment, the compliant layer 232 is disposed on the inner periphery of the trim 224 and / or the peripheral edge 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 depicted 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, the compliant layer 232 does not include an opening 234 and extends across at least a portion of the input device stack 220. For example, the compliant layer 232 may extend across the bottom surface of the cover element 222, the bottom surface of the first circuit layer 226, or a portion of the bottom surface of the cover element 222 (e.g., around the peripheral edge of the cover element) and the bottom surface of the first circuit layer 226.
[0205] Located below the first circuit layer 226 is a second circuit layer 238. Flexible circuits and circuit boards are examples of circuit layers that may be used in the second circuit layer 238. In some embodiments, the second circuit layer 238 may include a first circuit portion 240 and a second circuit portion 242. The first circuit portion 240 and the second circuit portion 242 may be electrically connected to each other.
[0206] 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.
[0207] 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.
[0208] 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.
[0209] 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 and provides 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.
[0210] A first set of one or more intensity sensor components in the first circuit portion 240 and a 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.
[0211] 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 each electrode in the first set 250 and second set 252 of one or more electrodes is shown as a square in Figures 2B and 2C, it can have any given shape (e.g., rectangular, circular). Additionally, the one or more electrodes in the first set 250 and second set 252 can be arranged in any given pattern (e.g., one or more rows and one or more columns).
[0212] 2B and 2C show two electrodes in a first set 250 and a second set 252 of one or more electrodes. However, other embodiments are not limited to this configuration. The first set 250 and the second set 252 of one or more electrodes can 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 can be a single electrode, and the first set includes multiple individual electrodes. Alternatively, both the first set 250 and the second set 252 of one or more electrodes can each include multiple individual electrodes.
[0213] Each electrode of the first set of one or more electrodes 250 is aligned in at least one direction (e.g., perpendicularly) with each electrode of 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 of the first set 250 approaches each electrode of 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, a force sensor can replace the switch element, and a different intensity threshold may be used to determine an activation event.
[0214] In some embodiments, such as the embodiment shown in FIG. 2C , a 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. The collapse of the dome switch completes 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 to the bottom surface of the support plate 248. In another embodiment, the base of the collapsible dome can be proximate to the bottom surface of the support plate 248.
[0215] 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 the system components. Device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touchscreen display. I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 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 these modules.
[0216] 3 is optionally stored in any one or more of the memory devices previously mentioned. Each of the above-identified modules corresponds to an instruction set that performs the described function. The above-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 above-identified modules and data structures. Additionally, memory 370 optionally stores additional modules and data structures not described above.
[0217] Attention is now directed to embodiments of a user interface (“UI”) that is optionally implemented in portable multifunction device 100.
[0218] 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 405, ● Battery status indicator 406, A tray 408 containing icons for frequently used applications, such as: an icon 416 for the phone module 138, labeled "Phone," 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 labeled "iPod" for the video and music player module 152, also referred to as the iPod (trademark of Apple Inc.) module 152; and Icons for other applications, such as: ○ Icon 424 for 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"; ○ 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" ○ Icon 442 for the training support module 142, labeled "Workout Support" ○ 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.
[0219] 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 that corresponds to the respective application icon. In some embodiments, the label of a particular application icon is separate from the name of the application that corresponds to the particular application icon.
[0220] 4B shows an exemplary user interface on a device (e.g., device 300 of FIG. 3) that has touch-sensitive surface 451 (e.g., tablet or touchpad 355 of FIG. 3) that is separate from display 450. Device 300 also optionally includes one or more contact intensity sensors (e.g., any 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.
[0221] While many of the following examples are given with reference to input on touchscreen display 112 (when the touch-sensitive surface and display are combined), in some embodiments, the device detects input on a touch-sensitive surface that is separate from the display, 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 locations that correspond to respective locations 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.
[0222] Additionally, while the following examples are given primarily with reference to finger input (e.g., finger contacts, finger tap gestures, finger swipe gestures, etc.), it should be understood that in some embodiments, any 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 contact), 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 at the location of the tap gesture (e.g., instead of detecting a contact and then stopping 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.
[0223] As used herein, the term “focus selector” is an input element that indicates the current portion of a user interface with which a user is interacting. In some implementations including a cursor or other position 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 of FIG. 3 or touch-sensitive surface 451 of 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 including a touchscreen display that allows direct interaction with user interface elements on the touchscreen display (e.g., touch-sensitive display system 112 of FIG. 1A or the touchscreen of FIG. 4A ), 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 at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touchscreen display, 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 corresponding cursor movement or contact movement on the touchscreen display, and in those 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 contact on a touchscreen display) that is controlled by the user (e.g., by indicating to the device the element of the user interface with which the user intends to interact) to communicate the user's intended interaction with the user interface.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).
[0224] 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 range of values 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 beneath 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 averaged or summed) to determine an estimated force of the contact. Similarly, a 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 area of contact 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 resistance and / or change in the capacitance of the touch-sensitive surface proximate the contact are optionally used as a proxy for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the proxy 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 proxy measure). In some implementations, the proxy 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 the contact as an attribute of user input enables a user to access additional device functionality that would otherwise be inaccessible to the user in small-sized devices with limited space 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).
[0225] In some embodiments, contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an action has been performed by a user (e.g., to determine whether a user has “clicked” 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, but 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 a software setting to adjust any 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).
[0226] 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 predetermined number of intensity samples or a set of intensity samples collected during a predetermined time interval (e.g., 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds) relative to a predetermined event (e.g., after detecting the contact, before detecting liftoff 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 any one or more of the maximum intensity of the contact, the median intensity of the contact, the average 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 produced by low-pass filtering the intensity of the contact over a predetermined period of time, or starting at a predetermined time, etc. In some embodiments, the duration of the contact is used to determine 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 is 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 operation being performed, a contact having a characteristic intensity that is above the first intensity threshold but not above a second intensity threshold results in a second operation being performed, and a contact having a characteristic intensity that is above the second intensity threshold results in a third operation 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 the first operation or the second operation, but rather to determine whether to perform one or more operations (e.g., to perform a respective option or refrain from performing a respective operation).
[0227] 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 position to an end position where the intensity of the contact increases at the end position. In this example, the characteristic intensity of the contact at the end position may be based on only a portion of the continuous swipe contact (e.g., only the portion of the swipe contact at the end position) 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 any 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.
[0228] The user interface diagrams described herein may 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., at least initially I L greater than ), and / or one or more other intensity thresholds (e.g., I L An intensity threshold I smaller than H)). This intensity chart is typically not part of the displayed user interface, but is provided to aid in interpretation of the chart. 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 an 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., above a nominal contact-detection intensity threshold IT0 below which contact is no longer detected), the device moves a focus selector in accordance with the movement of the contact on the touch-sensitive surface without performing an 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 charts.
[0229] 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 that exceeds 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 that include 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 that exceeds a second intensity threshold that is greater than the first intensity threshold for light presses 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 deep pressure input detection does not depend on a time-based criterion.
[0230] In some embodiments, any one or more of the input intensity thresholds and / or corresponding outputs 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., environmental 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 by reference herein in their entireties.
[0231] 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 predetermined 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 unintentional triggering of a “deep press” response due to gentle intensity fluctuations 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 ).
[0232] FIG. 4D illustrates another dynamic intensity threshold 486 (e.g., intensity threshold I D ) and FIG. 4D shows the first intensity threshold I H and a second intensity threshold I L In FIG. 4D, the touch input 484 reaches the first intensity threshold I before time p2. H and a second intensity threshold I 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 predetermined delay time p1 has elapsed from time 482 (a second intensity threshold I L This type of dynamic intensity threshold decays over time, with a decay beginning at time 488 (when a response related to the first intensity threshold I is elicited). H or the second intensity threshold I L Immediately after or simultaneously eliciting a response associated with a smaller intensity threshold, such as a dynamic intensity threshold I D This reduces the chance of accidentally triggering a response related to
[0233] FIG. 4E illustrates yet another dynamic intensity threshold 492 (e.g., intensity threshold I D ) is shown. In FIG. 4E, the intensity threshold IT LThe response associated with the intensity threshold I is elicited 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 predetermined delay time p1 from when the touch input 490 is first detected. L Even if the intensity of the touch input 490 decreases (and then increases) after eliciting a response associated with L without releasing the touch input 490 (e.g., at time 494), even when the touch input falls below another intensity threshold, such as D It can elicit responses related to
[0234] The characteristic strength of the contact is a shallow pressure intensity threshold IT L From an intensity below the shallow pressure intensity threshold IT L and deep pressure intensity threshold IT D Increasing the intensity of the contact to between 0 and 100 is sometimes referred to as a "shallow press" input. D From an intensity below the threshold IT D The increase in the characteristic intensity of the contact from an intensity below the contact-detection intensity threshold IT0 to an intensity above the shallow pressure intensity threshold IT0 is sometimes referred to as a "deep pressure" input. L An increase 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 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 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.
[0235] In some embodiments described herein, one or more operations are performed in response to detecting a gesture including the respective pressure input or a respective pressure input performed with the respective contact (or contacts), where the respective pressure input is 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 a “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, where 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 an “upstroke” of the respective pressure input).
[0236] In some embodiments, the device employs intensity hysteresis to avoid accidental input, sometimes referred to as “jitter,” and defines or selects a hysteresis intensity threshold having a predetermined relationship to the pressure input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units less than the pressure input intensity threshold, or 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, with each operation being performed in response to detecting the subsequent decrease in intensity of each contact below the hysteresis intensity threshold (e.g., each operation being performed on the “upstroke” of each 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 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).
[0237] 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 described as operations 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 the pressure input intensity threshold that is less than the pressure input intensity threshold. As mentioned above, in some embodiments, triggering these responses also depends on time-based criteria being met (e.g., the delay time is the elapsed time between when a first intensity threshold is met and when a second intensity threshold is met). User Interface and Related Processes
[0238] Attention is now directed to embodiments of user interfaces ("UI") and associated processes that may be implemented in an electronic device such as portable multifunction device 100 or device 300 having a display, a touch-sensitive surface, one or more tactile output generators that generate tactile outputs, and (optionally) one or more sensors for detecting the intensity of contact with the touch-sensitive surface.
[0239] These user interfaces and related processes are implemented using tactile feedback. ●Indicates hidden thresholds, Perform scrubs such as index bar scrubs, variable rate scrubs, and slider scrubs; ● Rubber band effect has been enhanced. ● Drag and drop objects, ●Indicate the orientation of the device, - Providing new and improved ways to scroll through movable user interface components that represent selectable options.
[0240] 5A-5DK show example user interfaces that provide tactile feedback (optionally along with visual feedback) indicating crossing of thresholds (e.g., moving past a respective threshold position or moving beyond a respective threshold movement amount) that trigger or abort an action associated with a user interface item. The user interfaces of these figures are used to illustrate the processes described below, including the processes of FIGS. 20A-20F. For ease of explanation, some of the embodiments will be described 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 point, a representative point corresponding to a finger or stylus contact point (e.g., a centroid of each contact point or point associated with each contact point), or a centroid of two or more contact points detected on touch-sensitive display system 112. However, similar operations are optionally performed on a device having display 450 and a separate touch-sensitive surface 451 in response to detecting a contact point on touch-sensitive surface 451 while displaying the user interface shown in the figures along with the focus selector on display 450.
[0241] 5A-5W show that visual feedback is provided as well as a tactile output when a hidden threshold is met that triggers an action (e.g., changing the read / unread status of an email item) in a mail application.
[0242] 5A shows a user interface 5002 for a mail application, which includes a list of email summary items, including email summary item 5004, email summary item 5006, and email summary item 5008. An email summary item may include, for example: ● Sender information 5010, ●Subject 5012, ● Notification of email content (e.g., truncated email content) 5014, ●Time the email was sent 5016, a control 5018 for viewing the email corresponding to the email summary item; and • Includes an unread mail indicator 5020 (eg, a dot indicating that the email corresponding to that email summary item is in an unread state).
[0243] 5B-5I illustrate the process of changing the status of an email corresponding to email summary item 5006 from "unread" to "read."
[0244] 5B , the device detects input to email summary item 5006, such as the touchdown of contact point 5022 on touchscreen 112. In response to detecting the touchdown of contact point 5022 on email summary item 5006 on touchscreen 112, email summary item 5006 is visually identified (e.g., highlighted as shown) to indicate that email summary item 5006 has been selected and / or to distinguish selected email summary item 5006 from unselected first email summary item 5004 and email summary item 5008. Contact point 5022 moves along email summary item 5006, as indicated by arrow 5024.
[0245] 5C , contact 5022 is moving along the path indicated by arrow 5024. As contact 5022 moves along the path indicated by arrow 5024, email summary item 5006 moves in response to the movement of contact 5022, e.g., along the path indicated by arrow 5024, gradually revealing content marking indicator 5026 (e.g., from the left edge of user interface 5002). For example, because email summary item 5006 is selected, email summary item 5006 is "attached" to contact 5022, such that email summary item 5006 moves with contact 5022. Contact 5022 continues to move along email summary item 5006, as indicated by arrow 5028.
[0246] 5D , contact 5022 is moving along the path indicated by arrow 5028. As contact 5022 moves along the path indicated by arrow 5028, email summary item 5006 continues to move in response to the movement of contact 5022, gradually revealing content marking indicators 5026 and gradually revealing marking indicator tray 5030. Contact 5022 continues to move along email summary item 5006, as indicated by arrow 5032.
[0247] 5E, contact 5022 is moving along the path indicated by arrow 5032. As contact 5022 moves along the path indicated by arrow 5032, email summary item 5006 continues to move in response to the movement of contact 5022, gradually revealing content marking indicator 5026 and marking indicator tray 5030. Contact 5022 continues to move along email summary item 5006, as indicated by arrow 5034.
[0248] 5F , contact 5022 is moving along a path indicated by arrow 5034. As contact 5022 moves along the path indicated by arrow 5034, the movement of contact 5022 meets a movement threshold criterion (e.g., contact 5022 moves a distance that exceeds the movement threshold or reaches a threshold location in the user interface). When the movement of contact 5022 moves past a threshold location in the user interface (e.g., a threshold location that is not visually marked), the device produces tactile output 5036 (e.g., a mini-tap (270 Hz), gain: 1.0, as indicated by indicator 5036-a and waveform 5036-b). Additionally, when contact 5022 moves past the threshold location in the user interface, an animation begins, showing content marking indicators 5026 expanding in the direction of movement of contact 5022 to fill marking indicator tray 5030.
[0249] 5G-5I, when movement of contact 5022 moves past the threshold position as described above with respect to FIG. 5F, email summary item 5006 is released and returns to its original position in the user interface in response to lift-off of contact 5022 from touch screen 112, and content marking indicator 5026 is obscured by email summary item 5006. The status of the email corresponding to second email summary 5006 is changed to "read," and second email summary 5006 is no longer marked as unread. In FIG. 5I, unread mail indicator 5020 is no longer displayed in second email summary 5006.
[0250] 5J-5P show that a tactile output is provided along with visual feedback when a hidden threshold is met that triggers an action (e.g., changing the read / unread status of an email item) in a mail application.
[0251] 5J, the device detects input to email summary item 5006, such as the touchdown of contact point 5038 on touchscreen 112. Contact point 5038 moves along email summary item 5006, as indicated by arrow 5040.
[0252] 5K, contact 5038 is moving along the path indicated by arrow 5040. As contact 5038 moves along the path indicated by arrow 5040, email summary item 5006 responds to the movement of contact 5038 by, for example, moving along the path indicated by arrow 5040, gradually revealing content marking indicator 5026. Contact 5038 continues to move along email summary item 5006, as indicated by arrow 5042.
[0253] 5L, contact 5038 is moving along the path indicated by arrow 5042. As contact 5038 moves along the path indicated by arrow 5042, email summary item 5006 continues to move in response to the movement of contact 5038, continuing to gradually reveal content marking indicator 5026 and gradually reveal marking indicator tray 5030. Contact 5038 continues to move along email summary item 5006, as indicated by arrow 5044.
[0254] 5M, contact 5038 is moving along the path indicated by arrow 5044. As contact 5038 moves along the path indicated by arrow 5044, email summary item 5006 continues to move in response to the movement of contact 5038, gradually revealing content marking indicator 5026 and marking indicator tray 5030. Contact 5038 continues to move along email summary item 5006, as indicated by arrow 5046.
[0255] In FIG. 5N , contact 5038 is moving along the path indicated by arrow 5046. As contact 5038 moves along the path indicated by arrow 5046, the movement of contact 5038 meets a movement threshold criterion (e.g., contact 5038 moves a distance that exceeds a movement threshold or a threshold position in the user interface). When the movement of contact 5038 meets the movement threshold criterion, the device produces tactile output 5050 (e.g., a mini-tap (270 Hz), gain: 1.0, as shown by indicator 5050-a and waveform 5050-b). In addition, the device initiates an animation showing content marking indicators 5026 expanding rapidly in the direction of movement of contact 5038 to fill marking indicator tray 5030. Contact 5038 continues to move along email summary item 5006, as shown by arrow 5048.
[0256] In Figure 5O, when the movement of contact 5038 meets the movement threshold criteria described above with respect to Figure 5N, email summary item 5006 is released and again hides content marking indicator 5026 in response to lifting of contact 5038 from touch screen 112. The status of the email corresponding to second email summary 5006 is changed to "unread," and second email summary 5006 is marked as unread. In Figure 5P, unread mail indicator 5020 is again displayed in second email summary 5006.
[0257] 5Q-5W show that in a mail application, a tactile output is provided along with visual feedback when a hidden threshold that triggers an action (eg, archiving an email item) is met.
[0258] 5Q, the device detects input to email summary item 5006, such as the touchdown of contact point 5052 on touchscreen 112. Contact point 5052 moves along email summary item 5006, as indicated by arrow 5054.
[0259] 5R, tangent 5052 is moving along the path indicated by arrow 5054. As tangent 5052 moves along the path indicated by arrow 5054, email summary item 5006 responds to the movement of tangent 5054 by gradually revealing (e.g., from the right edge of user interface 5002) content menu affordance 5056, flag content affordance 5058, and archive content affordance 5060, e.g., along the path indicated by arrow 5054. Tangent 5052 continues to move along the path indicated by arrow 5062.
[0260] 5S, contact 5052 is moving along the path indicated by arrow 5062. As contact 5052 moves along the path indicated by arrow 5062, email summary item 5006 continues to move in response to the movement of contact 5052, gradually revealing successive content menu affordances 5056, flag content affordances 5058, and archive content affordances 5060. Contact 5052 continues to move along email summary item 5006, as indicated by arrow 5064.
[0261] 5T, contact 5052 is moving along the path indicated by arrow 5064. As contact 5052 moves along the path indicated by arrow 5064, email summary item 5006 continues to move in response to the movement of contact 5052, gradually revealing successive content menu affordances 5056, flag content affordances 5058, and archive content affordances 5060. Contact 5052 continues to move along email summary item 5006, as indicated by arrow 5066.
[0262] 5U , contact 5052 is moving along the path indicated by arrow 5066. As contact 5052 moves along the path indicated by arrow 5066, the movement of contact 5052 meets the movement threshold criterion (e.g., contact 5052 moves a distance that exceeds the movement threshold or a distance that exceeds a threshold position). When the movement of contact 5052 meets the movement threshold criterion, the device produces tactile output 5068 (e.g., a mini-tap (270 Hz), gain: 1.0, as indicated by indicator 5068-a and waveform 5068-b), and archived content affordance 5060 suddenly expands in the direction of contact 5052 movement (e.g., moving faster than the previous movement of the contact and / or archived content affordance 5060) to cover content menu affordance 5056 and flag content affordance 5058.
[0263] In Figure 5V, email digest 5006 is released in response to lifting of contact 5052 from touch screen 112. In Figures 5V-5W, when the movement of contact 5052 meets the movement threshold criteria described above with respect to Figure 5U, second email digest 5006 is archived in response to lifting of contact 5052 (e.g., as shown by the animation in Figures 5U-5W in which third email digest 5008 and the email digest below third email digest 5008 gradually rise from the bottom of user interface 5002 and the vertical size of second email digest 5006 gradually decreases until second email digest 5006 is no longer displayed). In Figure 5W, second email digest 5006 is not displayed in user interface 5002, indicating that the email corresponding to second email digest 5006 has been archived.
[0264] 5X-5AF illustrate a process for providing visual feedback and a tactile output when an action trigger threshold is met for an action (e.g., changing the read / unread status of an email item) and then an action abort threshold is met to prevent the action from being performed. During the process, the contact moves in a first direction past a threshold location that changes the read status of the email, and then moves in a second direction past a threshold location that aborts the action of changing the read status of the email before liftoff.
[0265] 5X, the device detects input to email summary item 5008, such as touchdown of contact point 5070 on touchscreen 112. In response to detecting touchdown of contact point 5070 on email summary item 5008 on touchscreen 112, email summary item 5008 is visually identified (e.g., highlighted as shown) to indicate that email summary item 5008 is selected and / or to distinguish the selected email summary item 5008 from the unselected first email 5004. Contact point 5070 moves along email summary item 5008, as indicated by arrow 5072.
[0266] 5Y, contact 5070 is moving along the path indicated by arrow 5072. As contact 5070 moves along the path indicated by arrow 5072, email summary item 5008 moves in response to the movement of contact 5070, e.g., along the path indicated by arrow 5072, gradually revealing content marking indicator 5026 (e.g., from the left edge of user interface 502). Contact 5070 continues to move along email summary item 5008, as indicated by arrow 5074.
[0267] In Figure 5Z, contact 5070 is moving along the path indicated by arrow 5074. As contact 5070 moves along the path indicated by arrow 5074, email summary item 5008 continues to move in response to the movement of contact 5070, continuing to gradually reveal content marking indicator 5026 and gradually reveal marking indicator tray 5030. Contact 5070 continues to move along email summary item 5008, as indicated by arrow 5076.
[0268] 5AA, contact 5070 is moving along the path indicated by arrow 5076. As contact 5070 moves along the path indicated by arrow 5076, email summary item 5008 continues to move in response to the movement of contact 5070, gradually revealing content marking indicator 5026 and marking indicator tray 5030. Contact 5070 continues to move along email summary item 5008, as indicated by arrow 5078.
[0269] 5AB, contact 5070 is moving along the path indicated by arrow 5078. As contact 5070 moves along the path indicated by arrow 5078, the movement of contact 5070 meets a movement threshold criterion (e.g., moves a distance that exceeds a movement threshold or moves past a threshold position in the user interface). When contact 5070 meets the movement threshold criterion, the device produces tactile output 5080 (e.g., a mini-tap (270 Hz), gain: 1.0, as indicated by indicator 5080-a and waveform 5080-b). In addition, the device displays an animation showing content marking indicator 5026 suddenly expanding in the direction of movement of contact 5070 (e.g., moving faster than the movement of the contact and / or the previous movement of content marking indicator 5026) to fill marking indicator tray 5030. After the movement of contact 5070 moves past a threshold position that changes the read / unread status of the email represented by email summary item 5008, contact 5070 reverses direction and moves along email summary item 5008, as indicated by arrow 5082.
[0270] 5AC, contact 5070 is moving along the path indicated by arrow 5082. As contact 5070 moves along the path indicated by arrow 5082, email summary item 5008 moves in response to the movement of contact 5070. In response to the movement of contact 5070 along the path indicated by arrow 5082, content marking indicator 5026 and marking indicator tray 5030 gradually "receive" toward the left edge of user interface 5002 (e.g., content marking indicator 5026 and marking indicator tray 5030 are shown gradually decreasing in size). Contact 5070 continues to move along email summary item 5008, as indicated by arrow 5084.
[0271] 5AD, contact 5070 is moving along the path indicated by arrow 5084. As contact 5070 moves along the path indicated by arrow 5086, the movement of contact 5070 meets a reversal criterion (e.g., the reverse movement of contact 5070 exceeds a reverse movement threshold, or moves past a motion abort threshold position to the left of the motion trigger threshold position). When contact 5070 moves past the motion abort threshold position of the user interface, the device provides tactile output 5086 (e.g., a microtap (270 Hz), gain: 0.55, as shown by indicator 5086-a and waveform 5086-b) to indicate that the motion abort threshold has been met. Additionally, the device displays an animation showing content marking indicator 5026 suddenly shrinking in the direction of movement of contact 5070 (e.g., moving faster than the previous movement of the contact and / or content marking indicator 5026) and the re-display of marking indicator tray 5030. In some embodiments, the contact 5070 continues to move along the email summary item 5008 as indicated by arrow 5088 .
[0272] In Figure 5AE, content marking indicator 5026 is released in response to lift-off of contact 5070 from touch screen 112 when the movement of contact 5070 meets the reversal criteria described above with respect to Figure 5AD. The status of the email corresponding to third email summary 5008 remains "unread," as indicated by unread mail indicator 5020. In Figures 5AE-5AF, email summary 5008 and content marking indicator 5026 continue to move toward the left edge of user interface 5002 (e.g., content marking indicator 5026 continues to decrease in size). In Figure 5AF, the display of unread mail indicator 5020 remains in third email summary 5008. In other words, because contact 5070 advanced past the motion trigger threshold position and then retracted past the motion abort threshold position before lift-off, no action was performed to change the read / unread status of the email corresponding to email summary 5008 upon lift-off of contact 5070.
[0273] 5AG-5AP illustrate a process for providing visual feedback and a tactile output when an action trigger threshold for an action (e.g., archiving an email) is met and then an action abort threshold is met to prevent the action from being performed. During the process, the contact moves in a first direction past a first threshold position that archives the email, and then moves in a second direction past a second threshold position that aborts the action of archiving the email before liftoff.
[0274] 5AG, the device detects input to email summary item 5008, such as the touchdown of contact point 5090 on touchscreen 112. Contact point 5090 moves along email summary item 5008, as indicated by arrow 5092.
[0275] 5AH, contact 5090 is moving along the path indicated by arrow 5092. As contact 5090 moves along the path indicated by arrow 5092, email summary item 5008 moves in response to the movement of contact 5090, e.g., along the path indicated by arrow 5092, gradually revealing (e.g., from the right edge of user interface 5002) content menu affordance 5056, flag content affordance 5058, and archive content affordance 5060. Contact 5090 continues to move along email summary item 5008, as indicated by arrow 5094.
[0276] 5AI, contact 5090 is moving along the path indicated by arrow 5094. As contact 5090 moves along the path indicated by arrow 5094, email summary item 5008 continues to move in response to the movement of contact 5090, gradually revealing successive content menu affordances 5056, flag content affordances 5058, and archive content affordances 5060. Contact 5090 continues to move along email summary item 5008, as indicated by arrow 5096.
[0277] 5AJ , contact 5090 is moving along a path indicated by arrow 5096. As contact 5090 moves along the path indicated by arrow 5096, the movement of contact 5090 meets a movement threshold criterion (e.g., moves a distance greater than a movement threshold or moves past a threshold position in a user interface). When the movement of contact 5090 meets the movement threshold criterion, the device produces tactile output 5089 (e.g., a mini-tap (270 Hz), gain: 1.0, as indicated by indicator 5098-a and waveform 5098-b) to indicate that the contact has moved past the motion trigger threshold position. Additionally, the device displays an animation showing archival content affordance 5060 suddenly expanding in the direction of the movement of contact 5090 (e.g., moving faster than the movement of the contact and / or the previous movement of archival content affordance 5060) to cover marking content menu affordance 5056 and flag content affordance 5058. The contact 5090 continues to move along the email summary item 5008 as indicated by arrow 5100 .
[0278] 5AK, tangent 5090 is moving along the path indicated by arrow 5100. As tangent 5090 moves along the path indicated by arrow 5100, archive content affordance 5060 continues to move in response to the movement of tangent 5090. Tangent 5090 reverses direction, as indicated by arrow 5102, and moves along email summary item 5008.
[0279] 5AL, contact point 5090 is moving along the path indicated by arrow 5102. As contact point 5090 moves along the path indicated by arrow 5102, archived content affordance 5060 moves in response to the movement of contact point 5090. In response to the movement of contact point 5090 along the path indicated by arrow 5102, archived content affordance 5060 gradually “retreats” toward the right edge of user interface 5002 (e.g., archived content affordance 5060 is shown gradually decreasing in size). Contact point 5090 continues to move along email summary item 5008, as indicated by arrow 5104.
[0280] 5AM, contact 5090 is moving along the path indicated by arrow 5104. As contact 5090 moves along the path indicated by arrow 5104, the movement of contact 5090 meets a reversal criterion (e.g., the reverse movement of contact 5090 exceeds a reverse movement threshold or moves past a threshold position that ceases operation). When contact 5090 meets the reversal criterion, the device produces tactile output 5106 (e.g., a microtap (270 Hz), gain: 0.55, as shown by indicator 5016-a and waveform 5036-b) to indicate that the contact has moved past the cease operation threshold position. In addition, the device displays an animation showing archived content affordance 5060 suddenly shrinking in the direction of contact 5090 movement (e.g., moving faster than the previous movement of the contact and / or archived content affordance 5060) and flag content affordance 5058 and archived content affordance 5060 reappearing. In some embodiments, the contact 5090 continues to move along the email summary item 5008 as indicated by arrow 5108 .
[0281] In FIG. 5AN, as described above with respect to FIG. 5AM, after moving in the reverse direction a distance that exceeds the reverse movement threshold (e.g., after contact 5090 moves in the reverse direction past the threshold position that ceases motion), email summary 5008, affordances 5056, 5058, and 5060 are released in response to lifting contact 5090 off touch screen 112. The state of the email corresponding to third email summary 5008 remains as not archived. In FIGS. 5AO-5AP, content menu affordance 5056, flag content affordance 5058, and archive content affordance 5060 continue to “receive” toward the right edge of user interface 5002 (e.g., content menu affordance 5056, flag content affordance 5058, and archive content affordance 5060 decrease in size). In FIG. 5AP, the third email digest 5008 is displayed (eg, unarchived) in the list of email digests in the user interface 5002.
[0282] 5AQ-5AX illustrate a process that reveals the display of content menu affordance 5056, flag content affordance 5058, and archive content affordance 5060, and maintains their display to allow selection input to be received at one of these affordances without generating a tactile output (e.g., because the movement threshold criteria have not been met).
[0283] 5AQ, the device detects input to email summary item 5008, such as the touchdown of contact point 5110 on touchscreen 112. Contact point 5110 moves along email summary item 5008, as indicated by arrow 5112.
[0284] 5AR, contact 5110 is moving along the path indicated by arrow 5112. As contact 5110 moves along the path indicated by arrow 5112, email summary item 5008 responds to the movement of contact 5110 by moving, for example, along the path indicated by arrow 5112, gradually revealing (e.g., from the right edge of user interface 5002) content menu affordance 5056, flag content affordance 5058, and archive content affordance 5060. Contact 5110 continues to move along email summary item 5008, as indicated by arrow 5114.
[0285] 5AS, contact 5110 is moving along the path indicated by arrow 5114. As contact 5110 moves along the path indicated by arrow 5114, email summary item 5008 continues to move in response to the movement of contact 5110, gradually revealing successive content menu affordances 5056, flag content affordances 5058, and archive content affordances 5060. Contact 5110 continues to move along email summary item 5008, as indicated by arrow 5116.
[0286] 5AT, contact 5110 has moved along the path indicated by arrow 5116 and is being lifted off of touchscreen 112. The movement of contact 5110 did not satisfy the movement threshold criterion (e.g., contact 5110 did not move a distance that exceeded the movement threshold that would archive the email corresponding to email summary item 5008) but did satisfy the stop threshold criterion (e.g., contact 5110 moved a distance that exceeded the stop threshold distance or a position that would stop content menu affordance 5056, flag content affordance 5058, and archive content affordance 5060) prior to liftoff. In response to contact 5110 lifting off of touchscreen 112, content menu affordance 5056, flag content affordance 5058, and archive content affordance 5060 are “stopped” (e.g., content menu affordance 5056, flag content affordance 5058, and archive content affordance 5060 remain visible). While the content menu affordance 5056, the flag content affordance 5058, and the archive content affordance 5060 remain displayed, subsequent input (e.g., a tap input) received at the content menu affordance 5056, the flag content affordance 5058, or the archive content affordance 5060 performs the action associated with each affordance. For example, in response to subsequent input received at the content menu affordance 5056, a menu of operation items is displayed, in response to subsequent input received at the flag content affordance 5058, the state of the email corresponding to the email summary item 5008 is switched to a flagged state (or an unflagged state), and in response to subsequent input received at the archive content affordance 5060, the email corresponding to the email summary item 5008 is deleted.
[0287] In Figure 5AU, the device detects input, such as a tap input by contact point 5118, on flag content affordance 5058. In response to the input by contact point 5118, the state of the email corresponding to email summary item 5008 is switched to a flagged state. As shown in Figures 5AV-5AX, in response to lift-off of contact point 5118, content menu affordance 5056, flag content affordance 5058, and archive content affordance 5060 "receive" toward the right edge of user interface 5002 (e.g., content menu affordance 5056, flag content affordance 5058, and archive content affordance 5060 decrease in size). As shown in 5AX, flag marker 5120 is displayed in email summary item 5008 to indicate that the email corresponding to email summary item 5008 is in a flagged state.
[0288] 5AY-5BI illustrate a process for displaying a preview of an email corresponding to email summary item 5008 in response to a first portion of an input (e.g., a press input) and changing the read / unread status of the email in response to a second portion of the input. During the process, the device generates a tactile output as well as displaying visual feedback when a threshold is met for displaying the preview and when a threshold is met for triggering a change in the read / unread status of the email.
[0289] 5AY displays a list of email summary items, including email summary item 5004, email summary item 5008, and fourth email summary item 5009. In FIG.
[0290] In Figure 5AZ, the device detects input to email summary item 5008, such as a touchdown of contact point 5122 on touchscreen 112. Third email summary item 5008 is visually identified (e.g., highlighted as shown) to indicate that email summary item 5008 is selected and / or to distinguish selected email summary item 5008 from unselected first email summary item 5004.
[0291] The characteristic intensity of contact 5122 is measured at a minute intensity threshold IT as shown by intensity level meter 5124 in FIG. H As shown in the intensity level meter 5124 of FIG. 5BA, H Above the weak pressure intensity threshold IT L As shown in FIG. 5BA, the characteristic strength of the contact 5122 increases to a value below IT H , the selected email summary item 5008 is shown unblurred and the remainder of the user interface 5002 is at least partially blurred.
[0292] The characteristic intensity of contact 5122 is measured by the IT H surpassing IT L As shown in the intensity level meter 5124 of FIG. 5BB, L The characteristic strength of the contact 5122 increases to above IT as shown in FIG. L When the input rises above 5126, the device produces a tactile output 5126 (e.g., a microtap (200 Hz), gain: 1.0, as shown by indicator 5126-a and waveform 5126-b) to indicate that the threshold intensity for displaying a preview associated with email summary 5008 has been met by this input. In addition, the device displays a preview 5128 of the email corresponding to email summary item 5008.
[0293] In FIG. 5BC, junction point 5122 moves along the path indicated by arrow 5130 while preview 5128 is displayed (eg, while preview 5128 is displayed below junction point 5122).
[0294] 5BD, contact point 5122 is moving along the path indicated by arrow 5130. As contact point 5122 moves along the path indicated by arrow 5130, preview 5128 continues to move in response to the movement of contact point 5122, gradually revealing (e.g., from below preview 5128) content marking indicator 5132. Contact point 5122 continues to move along the path on preview 5128, as indicated by arrow 5134.
[0295] 5BE, contact point 5122 is moving along the path indicated by arrow 5134. As contact point 5122 moves along the path indicated by arrow 5134, preview 5128 continues to move in response to the movement of contact point 5122 and continues to reveal content marking indicator 5132. Contact point 5122 continues to move along the path on preview 5128, as indicated by arrow 5136.
[0296] In FIG. 5BF , contact 5122 is moving along the path indicated by arrow 5136. As contact 5122 moves along the path indicated by arrow 5136, the movement of contact 5122 meets a movement threshold criterion (e.g., contact 5122 moves a distance that exceeds the movement threshold or moves past a threshold position), triggering an action that changes the read / unread status of the email item. When the movement of contact 5122 meets the movement threshold criterion, the device produces tactile output 5138 (e.g., a mini-tap (270 Hz), gain: 1.0, as shown by indicator 5138-a and waveform 5138-b) to indicate that the movement threshold criterion has been met. Additionally, the device changes the appearance of content marking indicator 5132 (e.g., the color scheme of content marking indicator 5132 is inverted) to indicate that, upon contact lift-off, the status of the email corresponding to email summary item 5008 will change from “unread” to “read.”
[0297] In Figure 5BG, preview 5128 is released in response to lifting contact 5122 off touch screen 112 when the movement of contact 5122 meets the movement threshold criteria as described above with respect to Figure 5BF. In Figures 5BG-5BI, the display of preview 5128 is replaced with a list of email summary items (e.g., preview 5128 continues to slide to the right until preview 5128 is no longer visible in user interface 5002, and the list of email summary items is re-displayed).
[0298] In FIG. 5BI, the unread mail indicator 5020 is no longer displayed in the third email digest 5008.
[0299] 5BJ-5BR illustrate a process for displaying a preview of an email corresponding to email summary item 5008 in response to a first portion of an input (e.g., a press input) and changing the read / unread status of the email in response to a second portion of the input. During the process, the device generates a tactile output as well as displaying visual feedback when a threshold for displaying the preview and a threshold for triggering a change in the read / unread status of the email are met.
[0300] In Figure 5BJ, the device detects input to email summary item 5008, such as the touchdown of contact point 5140 on touchscreen 112. The characteristic intensity of contact point 5140 is measured across a fine intensity threshold IT as indicated by intensity level meter 5124 in Figure 5BJ. H As shown in the intensity level meter 5124 in FIG. 5BK, H Above the weak pressure intensity threshold IT L As shown in FIG. 5BK, the characteristic strength of the contact 5140 increases to a value below IT H , the selected email summary item 5008 is shown unblurred and the remainder of the user interface 5002 is at least partially blurred.
[0301] The characteristic intensity of the contact 5140 is measured by the IT H surpassing IT L As shown in the intensity level meter 5124 in FIG. 5BL, L The characteristic strength of the contact 5140 increases to above IT as shown in FIG. L When contact 5140 rises above this level, the device produces a tactile output 5142 (e.g., a microtap (200 Hz), gain: 1.0, as shown by indicator 5142-a and waveform 5142-b), and the device displays a preview 5128 of the email corresponding to email summary item 5008. Contact 5140 moves along a path on preview panel 5128, as shown by arrow 5144.
[0302] In FIG. 5BM, while preview 5128 is displayed, contact point 5140 moves along a path on preview 5128, as indicated by arrow 5144.
[0303] 5BN, contact point 5140 is moving along the path indicated by arrow 5144. As contact point 5140 moves along the path indicated by arrow 5144, preview 5128 moves in response to the movement of contact point 5140, gradually revealing (e.g., from below preview 5128) content marking indicator 5132. Contact point 5140 continues to move along the path on preview 5128, as indicated by arrow 5146.
[0304] 5BO, contact 5140 is moving along the path indicated by arrow 5146. As contact 5140 moves along the path indicated by arrow 5146, the movement of contact 5140 meets a movement threshold criterion (e.g., contact 5140 moves a distance that exceeds the movement threshold or moves past a threshold position in the user interface) and triggers an action to change the read / unread status of the email. When the movement of contact 5140 meets the movement threshold criterion, the device produces tactile output 5148 (e.g., a mini-tap (270 Hz), gain: 1.0, as shown by indicator 5148-a and waveform 5148-b) to indicate that the threshold has been met to display a preview corresponding to email summary 5008. In addition, the device changes the appearance of the content marking indicator 5132 (e.g., the color scheme of the content marking indicator 5132 is inverted) to indicate that upon liftoff, the status of the email corresponding to the email summary item 5008 will change from "read" to "unread."
[0305] In Figure 5BP, preview 5128 is released in response to lifting contact 5140 off touch screen 112 when the movement of contact 5140 meets the movement threshold criteria as described above with respect to Figure 5BO. In Figures 5BP-5BS, the display of preview 5128 is replaced with a list of email summary items (e.g., preview 5128 continues to slide to the right until preview 5128 is no longer visible in user interface 5002, as shown in ...
Claims
1. 1. An electronic device having a touch-sensitive surface, a display, and one or more tactile output generators that generate tactile outputs, comprising: Displaying a user interface on the display, the user interface including a content display area including a first content element within a first content area; detecting a contact at a location on the touch-sensitive surface corresponding to a location of the first content element within the first content region; Detecting input from the contact, including detecting movement of the contact across the touch-sensitive surface; In response to detecting the input by the contact, Varying a position of an outer edge of the first content element relative to a first threshold position within the user interface in accordance with the movement of the contact on the touch-sensitive surface; detecting that the change in position of the outer edge of the first content element relative to the first threshold position in the user interface has moved the outer edge of the first content element across the first threshold position in the user interface; after detecting that the outer edge of the first content element has moved across the first threshold position within the user interface; detecting lift-off of the contact; and in response to detecting the lift-off of the contact, generating a tactile output; and moving the position of the outer edge of the first content element to the first threshold position after lift-off of the contact is detected; A method comprising:
2. varying the position of the outer edge of the first content element relative to the first threshold position within the user interface includes scrolling the first content element in a first direction relative to the first threshold position within the user interface. The method of claim 1.
3. In response to detecting the input by the contact, scrolling the first content element such that the outer edge of the first content element moves across the first threshold position within the user interface; displaying a first region extending from the outer edge of the first content element in a second direction opposite the first direction after the outer edge of the first content element has moved beyond the first threshold position; The method of claim 2 , comprising:
4. moving the position of the outer edge of the first content element to the first threshold position; scrolling the first content element in the second direction until the outer edge of the first content element returns to the first threshold position; ceasing to display the first region extending from the outer edge of the first content element; The method of claim 3 , comprising:
5. The method of claim 1 , wherein varying the position of the outer edge of the first content element relative to the first threshold position within the user interface comprises enlarging the first content element within the user interface.
6. In response to detecting the input by the contact, expanding the first content element until a first predetermined maximum size of the first content element is reached, the outer edge of the first content element moving beyond the content display area displayed within the user interface, the first threshold position being determined based on the first predetermined maximum size and located outside the content display area; further expanding the first content element beyond the first predetermined maximum size; The method of claim 5 , comprising:
7. 7. The method of claim 6, wherein moving the position of the outer edge of the first content element to the first threshold position comprises shrinking the first content element such that the first content element returns to the first predetermined maximum size of the first content element.
8. The method of claim 1 , wherein varying the position of the outer edge of the first content element relative to the first threshold position in the user interface comprises shrinking the first content element within the user interface.
9. In response to detecting the input by the contact, shrinking the first content element such that the first content element reaches a first predetermined minimum size of the first content element, the first threshold position being determined based on the first predetermined minimum size and located within a displayed portion of the first content element; further reducing the first content element beyond the first predetermined minimum size; The method of claim 8 , comprising:
10. moving the position of the outer edge of the first content element to the first threshold position; Expanding the first content element such that the first content element returns to the first predetermined minimum size of the first content element.
10. The method of claim 9, comprising:
11. 11. The method of claim 1, wherein the individual characteristics of the tactile output are configured based on a speed at which the outer edge of the first content element moves across the first threshold position in the user interface.
12. 12. The method of claim 1, wherein the individual characteristic of the tactile output is configured based on a characteristic velocity of the input when the outer edge of the first content element moves across the first threshold position in the user interface.
13. 13. The method of claim 1, wherein the individual characteristics of the tactile output are configured based on the extent to which the outer edge of the first content element has moved beyond the first threshold position within the user interface.
14. generating a second tactile output upon detecting that the outer edge of the first content element has moved across the first threshold position within the user interface.
14. The method of any one of claims 1 to 13, comprising:
15. The method of claim 14, wherein the first threshold position is outside the first content region.
15. The method according to any one of claims 1 to 5 and 8 to 14.
16. A computer program comprising instructions that, when executed by an electronic device having a display, a touch-sensitive surface, and one or more tactile output generators that generate a tactile output, cause the electronic device to perform operations, the operations including: Displaying a user interface on the display, the user interface including a content display area including a first content element within a first content area; detecting a contact at a location on the touch-sensitive surface corresponding to a location of the first content element within the first content region; Detecting input from the contact, including detecting movement of the contact across the touch-sensitive surface; In response to detecting the input by the contact, Varying a position of an outer edge of the first content element relative to a first threshold position within the user interface in accordance with the movement of the contact on the touch-sensitive surface; detecting that the change in position of the outer edge of the first content element relative to the first threshold position in the user interface has moved the outer edge of the first content element across the first threshold position in the user interface; after detecting that the outer edge of the first content element has moved across the first threshold position within the user interface; detecting lift-off of the contact; and in response to detecting the lift-off of the contact, generating a tactile output; and moving the position of the outer edge of the first content element to the first threshold position after lift-off of the contact is detected; A computer program comprising:
17. 17. A computer program according to claim 16, wherein the program comprises instructions which, when executed by the electronic device, cause the electronic device to carry out the method according to any one of claims 2 to 15.
18. 1. An electronic device comprising: A display and a touch-sensitive surface and one or more tactile output generators for generating a tactile output; a memory storing one or more programs; wherein the one or more programs include Displaying a user interface on the display, the user interface including a content display area including a first content element within a first content area; detecting a contact at a location on the touch-sensitive surface corresponding to a location of the first content element within the first content region; Detecting input from the contact, including detecting movement of the contact across the touch-sensitive surface; In response to detecting the input by the contact, Varying a position of an outer edge of the first content element relative to a first threshold position within the user interface in accordance with the movement of the contact on the touch-sensitive surface; detecting that the change in position of the outer edge of the first content element relative to the first threshold position in the user interface has moved the outer edge of the first content element across the first threshold position in the user interface; after detecting that the outer edge of the first content element has moved across the first threshold position within the user interface; detecting lift-off of the contact; and in response to detecting the lift-off of the contact, generating a tactile output; and moving the position of the outer edge of the first content element to the first threshold position after lift-off of the contact is detected; An electronic device that contains instructions for executing the
19. 19. The electronic device of claim 18, wherein the one or more programs comprise instructions for carrying out the method of any one of claims 2 to 15.
Citation Information
Patent Citations
List scrolling in response to moving touch on list of index symbols
JP2009518758A
List display apparatus
JP2013003651A
Display controller and control method therefor
JP2014229150A
Display device, scroll display method, and scroll display program
JP2015102924A
Tactile sense control device, tactile sense control method, and program
JP2015197822A