Content-based tactile output
Patent Information
- Application Number
- JP2024206502
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2018-09-28
- Filing Date
- 2024-11-27
- Publication Date
- 2025-03-26
- Estimated Expiration
- 2039-08-30
Smart Images

Figure 2025041630000001_ABST
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to U.S. Provisional Patent Application No. 62 / 729,978, filed September 11, 2018, entitled "CONTENT-BASED TACTILE OUTPUTS", U.S. Provisional Patent Application No. 16 / 144,950, filed September 27, 2018, entitled "CONTENT-BASED TACTILE OUTPUTS", U.S. Provisional Patent Application No. 16 / 147,413, filed September 28, 2018, entitled "CONTENT-BASED TACTILE OUTPUTS", Danish Patent Application No. PA201870631, filed September 27, 2018, entitled "CONTENT-BASED TACTILE OUTPUTS", and Danish Patent Application No. This application claims priority to Danish Patent Application No. PA201870632 entitled "METHOD FOR IMPROVING HYBRID OUTPUTS," the contents of each of which are incorporated herein by reference in their entirety. [Technical field]
[0002] The present disclosure relates generally to computer user interfaces, and more specifically to techniques for managing content-based tactile output. [Background technology]
[0003] Currently, there is a need for electronic devices that provide sensory feedback (e.g., tactile and / or audio output) based on the type of content being displayed and navigated on the display to enhance the user experience, increase user efficiency, and increase convenience in utilizing the device. Summary of the Invention
[0004] However, some techniques for managing content-based tactile output using electronic devices are generally cumbersome and inefficient. For example, some existing techniques use complex and time-consuming user interfaces that may involve multiple key presses or keystrokes. Existing techniques take longer than necessary, wasting the user's time and the device's energy. The latter problem is particularly acute in battery-operated devices.
[0005] Thus, the present technology provides electronic devices with faster, more efficient methods and interfaces for managing content-based tactile output. Such methods and interfaces, optionally, complement or replace other methods for managing content-based tactile output. Such methods and interfaces reduce the cognitive burden on the user and generate a more efficient human-machine interface. For example, such methods and interfaces improve the user experience and convenience in navigating content displayed on the device, thus allowing the user to navigate content displayed on the device more easily and efficiently. In the case of battery-operated computing devices, such methods and interfaces conserve power and increase the time between battery charges.
[0006] According to some embodiments, a method is described that is performed in an electronic device having a display, an input element, and one or more tactile output generators. The method includes displaying a user interface on the display, detecting a first input via the input element while displaying the user interface, navigating within the user interface in response to detecting the first input, and generating, via the one or more tactile output generators, a tactile output corresponding to navigating within the user interface, where in accordance with a determination that a currently displayed portion of the user interface includes content of a first type, the tactile output sequence corresponding to navigating includes a first type of tactile output sequence that includes one or more tactile outputs determined based on an input metric of the first input; generating a tactile output including, in accordance with a determination that the currently displayed portion of the user interface includes a second type of content different from the first type of content, the tactile output corresponding to navigating includes a second type of tactile output sequence including one or more tactile outputs determined based on movement of a predetermined unit of the content within the user interface.
[0007] According to some embodiments, a non-transitory computer readable storage medium is described that stores one or more programs configured to be executed by one or more processors of an electronic device having a display, an input element, and one or more tactile output generators, the one or more programs displaying a user interface on the display, detecting a first input via the input element while displaying the user interface, navigating within the user interface in response to detecting the first input, and generating, via the one or more tactile output generators, a tactile output corresponding to navigating within the user interface, wherein in accordance with a determination that a currently displayed portion of the user interface includes content of a first type, the tactile output sequence corresponding to navigating includes a first type of tactile output sequence that includes one or more tactile outputs determined based on an input metric of the first input; generating a tactile output including, in accordance with a determination that the currently displayed portion of the user interface includes a second type of content different from the first type of content, the tactile output corresponding to navigating includes a second type of tactile output sequence including one or more tactile outputs determined based on movement of a predetermined unit of the content within the user interface.
[0008] According to some embodiments, a temporary computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of an electronic device having a display, an input element, and one or more tactile output generators, the one or more programs displaying a user interface on the display, detecting a first input via the input element while displaying the user interface, navigating within the user interface in response to detecting the first input, and generating, via the one or more tactile output generators, a tactile output corresponding to navigating within the user interface, wherein, in accordance with a determination that a currently displayed portion of the user interface includes content of a first type, the tactile output sequence corresponding to navigating includes one or more tactile outputs determined based on an input metric of the first input; generating a tactile output including, in accordance with a determination that the currently displayed portion of the user interface includes a second type of content different from the first type of content, the tactile output corresponding to navigating includes a second type of tactile output sequence including one or more tactile outputs determined based on movement of a predetermined unit of the content within the user interface.
[0009] According to some embodiments, an electronic device is described that includes a display, an input element, one or more tactile output generators, one or more processors, and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs displaying a user interface on the display, detecting a first input via the input element while displaying the user interface, navigating within the user interface in response to detecting the first input, and generating a tactile output via the one or more tactile output generators corresponding to navigating within the user interface, wherein in accordance with a determination that a currently displayed portion of the user interface includes content of a first type, the tactile output sequence corresponding to navigating includes one or more tactile outputs determined based on an input metric of the first input; generating a tactile output including, in accordance with a determination that the currently displayed portion of the user interface includes a second type of content different from the first type of content, the tactile output corresponding to navigating includes a second type of tactile output sequence including one or more tactile outputs determined based on movement of a predetermined unit of the content within the user interface.
[0010] According to some embodiments, an electronic device is described that includes a display, an input element, one or more tactile output generators, means for displaying a user interface on the display, means for detecting a first input via the input element while displaying the user interface, and means for navigating within the user interface and generating a tactile output corresponding to navigating within the user interface in response to detecting the first input via the one or more tactile output generators, where in accordance with a determination that a currently displayed portion of the user interface includes content of a first type, the tactile output corresponding to navigating includes a first type of tactile output sequence including one or more tactile outputs determined based on an input metric of the first input, and in accordance with a determination that the currently displayed portion of the user interface includes content of a second type different from the first type, the tactile output corresponding to navigating includes a second type of tactile output sequence including one or more tactile outputs determined based on a movement of a predefined unit of content within the user interface.
[0011] According to some embodiments, a method is described that is performed in an electronic device having a display, an input element, and one or more tactile output generators, the method including: displaying a first portion of content on the display, detecting a first input via the input element while displaying the first portion of the content, navigating within the content to display a second portion of the content in response to detecting the first input, generating a first type of tactile output sequence including one or more tactile outputs via the one or more tactile output generators, detecting a second input via the input element while displaying the second portion of the content, and in response to detecting the second input and in accordance with a determination that the second portion of the content is an end of the content, displaying a visual indication that the content is an end of the content, and ceasing to generate the first type of tactile output sequence via the one or more tactile output generators.
[0012] According to some embodiments, a non-transitory computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of an electronic device having a display, an input element, and one or more tactile output generators, the one or more programs including: displaying a first portion of content on the display, detecting a first input via the input element while displaying the first portion of the content, navigating within the content to display a second portion of the content in response to detecting the first input, generating a first type of tactile output sequence including one or more tactile outputs via the one or more tactile output generators, detecting a second input via the input element while displaying the second portion of the content, and in response to detecting the second input and in accordance with a determination that the second portion of the content is an end of the content, displaying a visual indication that the content is an end of the content, and ceasing to generate the first type of tactile output sequence via the one or more tactile output generators.
[0013] According to some embodiments, a temporary computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of an electronic device having a display, an input element, and one or more tactile output generators, the one or more programs including: displaying a first portion of content on the display, detecting a first input via the input element while displaying the first portion of the content, navigating within the content to display a second portion of the content in response to detecting the first input, generating a first type of tactile output sequence including one or more tactile outputs via the one or more tactile output generators, detecting a second input via the input element while displaying the second portion of the content, and in response to detecting the second input and in accordance with a determination that the second portion of the content is an end of the content, displaying a visual indication that the content is an end of the content, and ceasing to generate the first type of tactile output sequence via the one or more tactile output generators.
[0014] According to some embodiments, an electronic device is described that includes a display, an input element, one or more tactile output generators, one or more processors, and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including: displaying a first portion of content on the display, detecting a first input via the input element while displaying the first portion of the content, navigating within the content to display a second portion of the content in response to detecting the first input, generating a first type of tactile output sequence including one or more tactile outputs via the one or more tactile output generators, detecting a second input via the input element while displaying the second portion of the content, and in response to detecting the second input and in accordance with a determination that the second portion of the content is an end of the content, displaying a visual indication that the content is an end of the content, and ceasing to generate the first type of tactile output sequence via the one or more tactile output generators.
[0015] According to some embodiments, an electronic device is described that includes a display, an input element, one or more tactile output generators, means for displaying a first portion of content on the display, means for detecting a first input via the input element while displaying the first portion of the content, means for navigating within the content to display a second portion of the content and generating a first type of tactile output sequence including one or more tactile outputs via the one or more tactile output generators in response to detecting the first input, means for detecting a second input via the input element while displaying the second portion of the content, and means for displaying a visual indication that the content is an end of the content and ceasing to generate the first type of tactile output sequence via the one or more tactile output generators in response to detecting the second input and in accordance with a determination that the second portion of the content is an end of the content.
[0016] According to some embodiments, a method is described that is performed in an electronic device having a touch-sensitive display and a rotatable input element. The method includes displaying a user interface on the display, detecting a first portion of an input at the device while displaying the user interface, and in response to detecting the first portion of the input, moving a user interface object across the display of the device in accordance with the movement of the input, detecting a second portion of the input at the device after detecting the first portion of the input, and in response to detecting the second portion of the input, moving the user interface object to a respective position on the display in accordance with a determination that the input comprises a movement of a contact on the touch-sensitive display and the movement causes the user interface object to move across the display beyond a first threshold, and ceasing to move the user interface object to the respective position on the display in accordance with a determination that the input does not cause the user interface object to move across the display by more than a first threshold; moving the user interface object to the respective position on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and the rotational input moves the user interface object across the display by more than a second threshold that is less than the first threshold; and ceasing to move the user interface object to the respective position on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and the rotational input does not move the user interface object across the display by more than the second threshold.
[0017] According to some embodiments, a non-transitory computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of an electronic device having a touch-sensitive display and a rotatable input element, the one or more programs displaying a user interface on the display, detecting a first portion of an input at the device while displaying the user interface, and in response to detecting the first portion of the input, moving a user interface object across the display of the device in accordance with the movement of the input, detecting a second portion of the input at the device after detecting the first portion of the input, and in response to detecting the second portion of the input, moving the user interface object across the display in accordance with a determination that the input includes a movement of a contact on the touch-sensitive display and that the movement moves the user interface object across the display beyond a first threshold. moving the user interface object to the respective location on the display in accordance with a determination that the input includes moving a contact on the touch-sensitive display and the movement does not move the user interface object across the display by more than a first threshold; moving the user interface object to the respective location on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and the rotational input moves the user interface object across the display by more than a second threshold, the second threshold being less than the first threshold; and canceling moving the user interface object to the respective location on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and the rotational input does not move the user interface object across the display by more than the second threshold.
[0018] According to some embodiments, a temporary computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of an electronic device having a touch-sensitive display and a rotatable input element, the one or more programs including: displaying a user interface on the display; detecting a first portion of an input at the device while displaying the user interface; in response to detecting the first portion of the input, moving a user interface object across the display of the device in accordance with the movement of the input; detecting a second portion of the input at the device after detecting the first portion of the input; and in response to detecting the second portion of the input, moving the user interface object across the display in accordance with a determination that the input includes a movement of a contact on the touch-sensitive display and that the movement moves the user interface object across the display beyond a first threshold. moving the user interface object to the respective location on the display in accordance with a determination that the input includes moving a contact on the touch-sensitive display and the movement does not cause the user interface object to move across the display by more than a first threshold; moving the user interface object to the respective location on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and the rotational input causes the user interface object to move across the display by more than a second threshold, the second threshold being less than the first threshold; and canceling moving the user interface object to the respective location on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and the rotational input does not cause the user interface object to move across the display by more than the second threshold.
[0019] According to some embodiments, an electronic device is described that includes a touch-sensitive display, a rotatable input element, one or more processors, and a memory that stores one or more programs configured to be executed by the one or more processors to display a user interface on the display, and while displaying the user interface, detect a first portion of an input at the device, and in response to detecting the first portion of the input, move a user interface object across the display of the device in accordance with the movement of the input, detect a second portion of the input at the device after detecting the first portion of the input, and in response to detecting the second portion of the input, move the user interface object across the display in accordance with a determination that the input includes a movement of a contact on the touch-sensitive display and that the movement moves the user interface object across the display beyond a first threshold. moving the user interface object to the respective location on the display in accordance with a determination that the input includes moving a contact on the touch-sensitive display and the movement does not move the user interface object across the display by more than a first threshold; moving the user interface object to the respective location on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and the rotational input moves the user interface object across the display by more than a second threshold, the second threshold being less than the first threshold; and canceling moving the user interface object to the respective location on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and the rotational input does not move the user interface object across the display by more than the second threshold.
[0020] According to some embodiments, an electronic device is described that includes a display, a rotatable input element, and means for displaying a user interface on the display, means for detecting a first portion of an input at the device while displaying the user interface, and means for, in response to detecting the first portion of the input, moving a user interface object across the display of the device in accordance with movement of the input, and means for detecting a second portion of the input at the device after detecting the first portion of the input, and means for, in response to detecting the second portion of the input, moving the user interface object to a respective position on the display in accordance with a determination that the input includes movement of a contact on the touch-sensitive display and that the movement moves the user interface object across the display beyond a first threshold, and means for detecting a first portion of the input at the device after detecting the first portion of the input, moving the user interface object to a respective position on the display in accordance with a determination that the input includes movement of a contact on the touch-sensitive display and that the movement moves the user interface object across the display beyond a first threshold. and ceasing to move the user interface object to its respective position on the display in accordance with a determination that the movement does not move the user interface object across the display by more than a first threshold; moving the user interface object to its respective position on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and the rotational input moves the user interface object across the display by more than a second threshold that is less than the first threshold; and ceasing to move the user interface object to its respective position on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and the rotational input does not move the user interface object across the display by more than the second threshold.
[0021] According to some embodiments, a method is described that is performed in an electronic device having a display, an input element, and one or more tactile output generators, the method including: displaying a user interface on the display including a first adjustable item and a second adjustable item, detecting a rotational input via the input element while displaying the user interface, and in response to detecting the rotational input, adjusting the first adjustable item based on the rotational input in accordance with a determination that the first adjustable item is currently selected, generating, via the one or more tactile output generators, a first sequence of tactile outputs including one or more tactile outputs having a first amplitude while adjusting the first adjustable item, adjusting the second adjustable item based on the rotational input in accordance with a determination that the second adjustable item is currently selected, and generating, via the one or more tactile output generators, a second sequence of tactile outputs including one or more tactile outputs having a second amplitude different from the first amplitude while adjusting the second adjustable item.
[0022] According to some embodiments, a non-transitory computer-readable storage medium is described. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display, an input element, and one or more tactile output generators, the one or more programs including: displaying a user interface on the display including a first adjustable item and a second adjustable item; detecting a rotational input via the input element while displaying the user interface; in response to detecting the rotational input, adjusting the first adjustable item based on the rotational input in accordance with a determination that the first adjustable item is currently selected; generating, via the one or more tactile output generators, a first sequence of tactile outputs including one or more tactile outputs having a first amplitude while adjusting the first adjustable item; adjusting the second adjustable item based on the rotational input in accordance with a determination that the second adjustable item is currently selected; and generating, via the one or more tactile output generators, a second sequence of tactile outputs including one or more tactile outputs having a second amplitude different from the first amplitude while adjusting the second adjustable item.
[0023] According to some embodiments, a transitory computer-readable storage medium is described. A temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, an input element, and one or more tactile output generators, the one or more programs including: displaying a user interface on the display including a first adjustable item and a second adjustable item; detecting a rotational input via the input element while displaying the user interface; in response to detecting the rotational input, adjusting the first adjustable item based on the rotational input in accordance with a determination that the first adjustable item is currently selected; generating, via the one or more tactile output generators, a first sequence of tactile outputs including one or more tactile outputs having a first amplitude while adjusting the first adjustable item; adjusting the second adjustable item based on the rotational input in accordance with a determination that the second adjustable item is currently selected; and generating, via the one or more tactile output generators, a second sequence of tactile outputs including one or more tactile outputs having a second amplitude different from the first amplitude while adjusting the second adjustable item.
[0024] According to some embodiments, an electronic device is described that includes a display, an input element, one or more tactile output generators, one or more processors, and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including: displaying a user interface on the display including a first adjustable item and a second adjustable item; detecting a rotational input via the input element while displaying the user interface; in response to detecting the rotational input, adjusting the first adjustable item based on the rotational input in accordance with a determination that the first adjustable item is currently selected; generating, via the one or more tactile output generators, a first sequence of tactile outputs including one or more tactile outputs having a first amplitude while adjusting the first adjustable item; adjusting the second adjustable item based on the rotational input in accordance with a determination that the second adjustable item is currently selected; and generating, via the one or more tactile output generators, a second sequence of tactile outputs including one or more tactile outputs having a second amplitude different from the first amplitude while adjusting the second adjustable item.
[0025] According to some embodiments, an electronic device is described that includes a display, an input element, one or more tactile output generators, means for displaying a user interface on the display, the user interface including a first adjustable item and a second adjustable item, means for detecting a rotational input via the input element while displaying the user interface, and means for adjusting the first adjustable item based on the rotational input in accordance with a determination that the first adjustable item is currently selected, generating a first sequence of tactile outputs, the one or more tactile output generators including one or more tactile outputs having a first amplitude while adjusting the first adjustable item, in response to detecting the rotational input, and means for adjusting the second adjustable item based on the rotational input in accordance with a determination that the second adjustable item is currently selected, the second sequence of tactile outputs, the one or more tactile output generators including one or more tactile outputs having a second amplitude different from the first amplitude while adjusting the second adjustable item.
[0026] According to some embodiments, a method is described that is executed in an electronic device having a display, a rotatable input element, and one or more tactile output generators, the method including: detecting a rotational input via the rotatable input element while displaying a user interface on the display; and generating a plurality of tactile outputs via the one or more tactile output generators while detecting the rotational input, a type of the tactile output being associated with a modification of the user interface, the generating a first number of tactile outputs for respective amounts of rotation of the rotatable input element in accordance with a determination that a speed of the rotational input is a first speed, and generating a second number of tactile outputs for respective amounts of rotation of the rotatable input element in accordance with a determination that the speed of the rotational input is a second speed different from the first speed.
[0027] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, a rotatable input element, and one or more tactile output generators, the one or more programs including instructions for detecting a rotational input via the rotatable input element while displaying a user interface on the display, and generating a plurality of tactile outputs via the one or more tactile output generators while detecting the rotational input. A type of tactile output is associated with a modification of the user interface, generating a first number of tactile outputs for respective amounts of rotation of the rotatable input element in accordance with a determination that a speed of the rotational input is a first speed, and generating a second number of tactile outputs for respective amounts of rotation of the rotatable input element in accordance with a determination that the speed of the rotational input is a second speed different from the first speed.
[0028] According to some embodiments, a temporary computer-readable storage medium is described. The temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, a rotatable input element, and one or more tactile output generators, the one or more programs including instructions for detecting a rotational input via the rotatable input element while displaying a user interface on the display, and generating a plurality of tactile outputs via the one or more tactile output generators while detecting the rotational input. A type of tactile output is associated with a modification of the user interface, generating a first number of tactile outputs for respective amounts of rotation of the rotatable input element in accordance with a determination that a speed of the rotational input is a first speed, and generating a second number of tactile outputs for respective amounts of rotation of the rotatable input element in accordance with a determination that the speed of the rotational input is a second speed different from the first speed.
[0029] According to some embodiments, an electronic device is described. The electronic device includes a display, a rotatable input element, one or more tactile output generators, one or more processors, and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for detecting a rotational input via the rotatable input element while displaying a user interface on the display, and generating a plurality of tactile outputs via the one or more tactile output generators while detecting the rotational input. A type of tactile output is associated with a modification of the user interface, generating a first number of tactile outputs for respective amounts of rotation of the rotatable input element in accordance with a determination that a speed of the rotational input is a first speed, and generating a second number of tactile outputs for respective amounts of rotation of the rotatable input element in accordance with a determination that the speed of the rotational input is a second speed different from the first speed.
[0030] According to some embodiments, an electronic device is described that includes a display, a rotatable input element, one or more tactile output generators, means for detecting a rotational input via the rotatable input element while displaying a user interface on the display, and means for generating, via the one or more tactile output generators while detecting the rotational input, a plurality of tactile outputs, a type of the tactile output being associated with a modification of the user interface, generating a first number of tactile outputs for respective amounts of rotation of the rotatable input element in accordance with a determination that a speed of the rotational input is a first speed, and generating a second number of tactile outputs for respective amounts of rotation of the rotatable input element in accordance with a determination that the speed of the rotational input is a second speed different from the first speed.
[0031] Executable instructions to perform these functions are optionally contained in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Executable instructions to perform these functions are optionally contained in a transitory computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0032] Thus, devices are provided with faster, more efficient methods and interfaces for managing content-based tactile output, thereby increasing the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces may complement or replace other methods for managing content-based tactile output. [Brief description of the drawings]
[0033] For a better understanding of the various described embodiments, 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:
[0034] [Figure 1A] 1 is a block diagram illustrating a portable multifunction device having a touch-sensitive display in accordance with some embodiments.
[0035] [Figure 1B] FIG. 2 is a block diagram illustrating example components for event processing according to some embodiments.
[0036] [Diagram 2] 1 illustrates a portable multifunction device with a touch screen in accordance with some embodiments.
[0037] [Diagram 3] 1 is a block diagram of an exemplary multifunction device having a display and a touch-sensitive surface in accordance with some embodiments.
[0038] [Figure 4A] 1 illustrates an exemplary user interface for a menu of applications on a portable multifunction device in accordance with some embodiments.
[0039] [Figure 4B] 1 illustrates an exemplary user interface of a multifunction device having a touch-sensitive surface that is separate from a display in accordance with some embodiments.
[0040] [Figure 5A] 1 illustrates a personal electronic device according to some embodiments.
[0041] [Figure 5B] FIG. 1 is a block diagram illustrating a personal electronic device in accordance with some embodiments.
[0042] [Figure 5C] 1 illustrates an example tactile output pattern having a particular waveform according to some embodiments. [Figure 5D] 1 illustrates an example tactile output pattern having a particular waveform according to some embodiments. [Figure 5E] 1 illustrates an example tactile output pattern having a particular waveform according to some embodiments. [Figure 5F] 1 illustrates an example tactile output pattern having a particular waveform according to some embodiments. [Figure 5G] 1 illustrates an example tactile output pattern having a particular waveform according to some embodiments. [Figure 5H] 1 illustrates an example tactile output pattern having a particular waveform according to some embodiments.
[0043] [Figure 6A] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6B]1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6C] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6D] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6E] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6F] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6G] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6H] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6I] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6J] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6K] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6L] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6M] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6N] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6O] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6P] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6Q] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6R] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6S] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6T] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6U] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6V] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6W] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6X] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6Y] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6Z] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6AA] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6AB] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6AC] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6A-D] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6AE] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments. [Figure 6AF] 1 illustrates an example user interface associated with a content-based tactile output according to some embodiments.
[0044] [Figure 7A] FIG. 1 is a flow diagram illustrating a method for managing a user interface associated with a content-based tactile output according to some embodiments. [Figure 7B] FIG. 1 is a flow diagram illustrating a method for managing a user interface associated with a content-based tactile output according to some embodiments. [Figure 7C] FIG. 1 is a flow diagram illustrating a method for managing a user interface associated with a content-based tactile output according to some embodiments. [Figure 7D] FIG. 1 is a flow diagram illustrating a method for managing a user interface associated with a content-based tactile output according to some embodiments.
[0045] [Figure 8A] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8B] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8C]1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8D] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8E] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8F] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8G] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8H] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8I] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8J] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8K] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8L] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8M] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8N] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8O] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8P] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8Q] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8R] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8S] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments. [Figure 8T] 1 illustrates an example user interface associated with an end-of-content tactile output according to some embodiments.
[0046] [Figure 9A] FIG. 11 is a flow diagram illustrating a method for managing a user interface associated with an end-of-content tactile output according to some embodiments. [Figure 9B] FIG. 11 is a flow diagram illustrating a method for managing a user interface associated with an end-of-content tactile output according to some embodiments.
[0047] [Figure 10A] 1 illustrates an example user interface associated with moving a user interface in response to different types of inputs according to some embodiments. [Figure 10B] 1 illustrates an example user interface associated with moving a user interface in response to different types of inputs according to some embodiments. [Figure 10C] 1 illustrates an example user interface associated with moving a user interface in response to different types of inputs according to some embodiments. [Figure 10D]1 illustrates an example user interface associated with moving a user interface in response to different types of inputs according to some embodiments. [Figure 10E] 1 illustrates an example user interface associated with moving a user interface in response to different types of inputs according to some embodiments. [Figure 10F] 1 illustrates an example user interface associated with moving a user interface in response to different types of inputs according to some embodiments. [Figure 10G] 1 illustrates an example user interface associated with moving a user interface in response to different types of inputs according to some embodiments. [Figure 10H] 1 illustrates an example user interface associated with moving a user interface in response to different types of inputs according to some embodiments. [Figure 10I] 1 illustrates an example user interface associated with moving a user interface in response to different types of inputs according to some embodiments. [Figure 10J] 1 illustrates an example user interface associated with moving a user interface in response to different types of inputs according to some embodiments. [Figure 10K] 1 illustrates an example user interface associated with moving a user interface in response to different types of inputs according to some embodiments.
[0048] [Figure 11A] FIG. 2 is a flow diagram illustrating a method for moving a user interface in response to different types of input according to some embodiments. [Figure 11B] FIG. 2 is a flow diagram illustrating a method for moving a user interface in response to different types of input according to some embodiments. [Figure 11C]FIG. 2 is a flow diagram illustrating a method for moving a user interface in response to different types of input according to some embodiments.
[0049] [Figure 12A] 1 illustrates an example user interface associated with an adjustable item-based tactile output according to some embodiments. [Figure 12B] 1 illustrates an example user interface associated with an adjustable item-based tactile output according to some embodiments. [Figure 12C] 1 illustrates an example user interface associated with an adjustable item-based tactile output according to some embodiments. [Figure 12D] 1 illustrates an example user interface associated with an adjustable item-based tactile output according to some embodiments. [Figure 12E] 1 illustrates an example user interface associated with an adjustable item-based tactile output according to some embodiments. [Figure 12F] 1 illustrates an example user interface associated with an adjustable item-based tactile output according to some embodiments. [Figure 12G] 1 illustrates an example user interface associated with an adjustable item-based tactile output according to some embodiments. [Figure 12H] 1 illustrates an example user interface associated with an adjustable item-based tactile output according to some embodiments. [Figure 12I] 1 illustrates an example user interface associated with an adjustable item-based tactile output according to some embodiments. [Figure 12J] 1 illustrates an example user interface associated with an adjustable item-based tactile output according to some embodiments. [Figure 12K] 1 illustrates an example user interface associated with an adjustable item-based tactile output according to some embodiments. [Figure 12L] 1 illustrates an example user interface associated with an adjustable item-based tactile output according to some embodiments.
[0050] [Figure 13A] FIG. 11 is a flow diagram illustrating a method for managing a user interface associated with an adjustable item-based tactile output according to some embodiments. [Figure 13B] FIG. 11 is a flow diagram illustrating a method for managing a user interface associated with an adjustable item-based tactile output according to some embodiments.
[0051] [Figure 14A] 1 illustrates an example user interface associated with an input rate-based tactile output according to some embodiments. [Figure 14B] 1 illustrates an example user interface associated with an input rate-based tactile output according to some embodiments. [Figure 14C] 1 illustrates an example user interface associated with an input rate-based tactile output according to some embodiments. [Figure 14D] 1 illustrates an example user interface associated with an input rate-based tactile output according to some embodiments. [Figure 14E] 1 illustrates an example user interface associated with an input rate-based tactile output according to some embodiments. [Figure 14F] 1 illustrates an example user interface associated with an input rate-based tactile output according to some embodiments. [Figure 14G] 1 illustrates an example user interface associated with an input rate-based tactile output according to some embodiments. [Figure 14H] 1 illustrates an example user interface associated with an input rate-based tactile output according to some embodiments.
[0052] [Figure 15A] FIG. 11 is a flow diagram illustrating a method for managing a user interface associated with an input rate-based tactile output according to some embodiments. [Figure 15B] FIG. 11 is a flow diagram illustrating a method for managing a user interface associated with an input rate-based tactile output according to some embodiments. [Figure 15C] FIG. 11 is a flow diagram illustrating a method for managing a user interface associated with an input rate-based tactile output according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0053] The following description sets forth example methods, parameters, etc., however, it should be recognized that such description is not intended as a limitation on the scope of the present disclosure, but rather is provided as a description of example embodiments.
[0054] There is a need for electronic devices that provide efficient methods and interfaces for managing content-based tactile outputs. For example, there is a need for electronic devices that provide sensory feedback (e.g., tactile and / or audio output) based on the type of content being displayed and navigated on a display to improve the user experience and the convenience and user efficiency in utilizing the device. Such techniques can reduce the cognitive burden on a user accessing displayed content associated with a content-based tactile output, thereby improving productivity. Furthermore, such techniques can reduce processor and battery power that would otherwise be wasted on redundant user input.
[0055] 1A-1B, 2, 3, 4A-4B, and 5A-5H provide a description of an exemplary device for performing techniques for managing event notifications. FIGS. 6A-6AF show exemplary user interfaces associated with content-based tactile output, according to some embodiments. FIGS. 7A-7D are flow diagrams illustrating a method for managing a user interface associated with content-based tactile output, according to some embodiments. The user interfaces of FIGS. 6A-6AF are used to illustrate processes described below, including the processes of FIGS. 7A-7D. FIGS. 8A-8T show exemplary user interfaces associated with end-of-content tactile output, according to some embodiments. FIGS. 9A-9B are flow diagrams illustrating a method for managing a user interface associated with end-of-content tactile output, according to some embodiments. The user interfaces of FIGS. 8A-8T are used to illustrate processes described below, including the processes of FIGS. 9A-9B. FIGS. 10A-10K show exemplary user interfaces associated with moving a user interface in response to different types of input, according to some embodiments. 11A-11C are flow diagrams illustrating a method of moving a user interface in response to different types of input, according to some embodiments. The user interfaces of FIGS. 10A-10K are used to illustrate processes described below, including the processes of FIGS. 11A-11C. FIGS. 12A-12L illustrate an exemplary user interface associated with an adjustable item-based tactile output, according to some embodiments. FIGS. 13A-13B are flow diagrams illustrating a method of managing a user interface associated with an adjustable item-based tactile output, according to some embodiments. The user interfaces of FIGS. 12A-12L are used to illustrate processes described below, including the processes of FIGS. 13A-13B. FIGS. 14A-14H illustrate an exemplary user interface associated with an input velocity-based tactile output, according to some embodiments.15A-15C are flow diagrams illustrating a method for managing a user interface associated with an input rate-based tactile output according to some embodiments. The user interfaces of FIGS. 14A-14H are used to illustrate the processes described below, including the processes of FIGS. 15A-15C.
[0056] In the following description, terms such as "first" and "second" are used to describe various elements, but these elements should not be limited by these terms. These terms are only used to distinguish one element from another element. For example, a first touch can be called a second touch, and a second touch can be called a first touch, without departing from the scope of various embodiments described. Although a first touch and a second touch are both touches, they are not the same touch.
[0057] The terminology used in the description of the various embodiments described herein is for the purpose of describing particular embodiments only and is not intended to be limiting. In the description of the various embodiments described and in the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It should also be understood that as used herein, the term "and / or" refers to and includes any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "includes," "including," "comprises," and / or "comprising," as used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0058] The term "if" is interpreted, optionally, depending on the context, to mean "when" or "upon," or "in response to determining" or "in response to detecting." Similarly, the phrase "if it is determined" or "if [a stated condition or event] is detected" is interpreted, optionally, depending on the context, 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]."
[0059] 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 phone, that also includes other functions, such as PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, but are not limited to, iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, Calif. Optionally, other portable electronic devices, such as laptops or tablet computers having a touch-sensitive surface (e.g., a touchscreen display and / or a touchpad), are also 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 a touchpad).
[0060] 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.
[0061] The device typically supports a variety of applications, such as one or more of 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.
[0062] The 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 for each application and / or within each application. In this manner, the common physical architecture of the device (such as the touch-sensitive surface) optionally supports a variety of applications with user interfaces that are intuitive and transparent to the user.
[0063] Attention is now directed to embodiments of portable devices with touch-sensitive displays. FIG. 1A is a block diagram illustrating a portable multifunction device 100 having a touch-sensitive display system 112, according to some embodiments. Touch-sensitive display 112 may be conveniently referred to as a "touch screen" and may also be known or referred to as a "touch-sensitive display system." 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 control devices 116, and external port 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact 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 optionally 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.
[0064] 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) 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 including at least four distinct values, and more typically including hundreds (e.g., at least 256) distinct values. The intensity of a contact is optionally determined (or measured) using various techniques and various sensors or combinations of sensors. For example, one or more force sensors under or adjacent to the touch-sensitive surface are optionally used to measure the force at various points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., weighted averaged) 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. Alternatively, the size and / or change in the contact area detected on the touch-sensitive surface, the capacitance and / or change in the capacitance of the touch-sensitive surface proximate the contact, and / or the resistance and / or change in the capacitance of the touch-sensitive surface proximate the contact, are optionally used as a surrogate for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the surrogate measure of the force or pressure of the contact is used directly to determine whether an intensity threshold is exceeded (e.g., the intensity threshold is described in units that correspond to the surrogate measure). In some implementations, the surrogate measure of the contact force or pressure is converted to an estimate of the force or pressure, and the estimate of the force or pressure is used to determine whether an intensity threshold is exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of contact as an attribute of user input may enable a user to access additional device functionality (e.g., on a touch-sensitive display) and / or receive user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls such as knobs or buttons) that may not otherwise be accessible on devices of reduced size that have limited footprint for displaying affordances.
[0065] As used herein and in the claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device, that is to be detected by a user with the user's sense of touch. For example, in a situation where a device or a component of a 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 generated by the physical displacement will be 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 "down-click" or "up-click" of a physical actuator button. In some cases, the user feels a tactile sensation such as a "down-click" or "up-click" 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 action. 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. Such user interpretation of touch will depend on the user's personal sensory perception, but there are many sensory perceptions of touch that are common to a majority of users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., an "up click," a "down click," "roughness"), unless otherwise noted, the generated tactile output corresponds to a physical displacement of the device, or a component of the device, that would produce the described sensory perception for a typical (or average) user.
[0066] It is 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 its components. The various components shown in FIG. 1A are implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing circuits and / or application specific integrated circuits.
[0067] Memory 102 optionally includes high-speed random access memory, and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. A memory controller 122 optionally controls access to memory 102 by other components of device 100.
[0068] The peripherals interface 118 may be used to couple input and output peripherals of the device to the CPU 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. In some embodiments, the peripherals interface 118, the CPU 120, and the memory controller 122 are optionally implemented on a single chip, such as the chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0069] The radio frequency (RF) circuitry 108 transmits and receives RF signals, also called electromagnetic signals. The RF circuitry 108 converts electrical signals to electromagnetic signals or electromagnetic signals to electrical signals and communicates with communication networks and other communication devices via electromagnetic signals. The RF circuitry 108 optionally includes well-known circuits for performing these functions, including, but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and the like. The RF circuitry 108 optionally communicates by wireless communication with the Internet, also called the World Wide Web (WWW), intranets and / or wireless networks, such as cellular telephone networks, wireless local area networks (LANs) and / or metropolitan area networks (MANs), and with other devices. RF circuitry 108 optionally includes well-known circuitry for detecting near field Communication (NFC) fields, such as by short-range radio devices. Wireless communication optionally includes, but is not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPA), Long Term Evolution (LDO), and other standards.Wireless technology includes, but is not limited to, wireless technology such as wireless LAN, wireless technology such as wireless technology with a cellular network (WAN), wireless technology such as wireless technology with a cellular network (WAN-CDMA), wireless technology such as wireless technology with a cellular network (WAN-SWAN ... The present invention may use any of a number of communications standards, protocols, and technologies, including Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS), and / or Short Message Service (SMS), or any other suitable communications protocol, including communications protocols not yet developed as of the filing date of this application.
[0070] The audio circuit 110, the speaker 111, and the microphone 113 provide an audio interface between a user and the device 100. The audio circuit 110 receives audio data from the peripherals interface 118, converts the audio data into an electrical signal, and transmits the electrical signal to the speaker 111. The speaker 111 converts the electrical signal into human audible sound waves. The audio circuit 110 also receives the electrical signal converted from the sound waves by the microphone 113. The audio circuit 110 converts the electrical signal into audio data, and transmits the audio data to the peripherals interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripherals interface 118. In some embodiments, the audio circuit 110 also includes a headset jack (e.g., 212 in FIG. 2). The headset jack provides an interface between audio circuitry 110 and a removable audio input / output peripheral, such as headphones that are output only, or a headset that has both an output (e.g., one-ear or binaural headphones) and an input (e.g., a microphone).
[0071] The I / O subsystem 106 couples input / output peripherals on the device 100, such as the touch screen 112 and other input control devices 116, to a peripheral interface 118. The I / O subsystem 106 optionally includes a display controller 156, a light sensor controller 158, a depth camera controller 169, an intensity sensor controller 159, a haptic feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive / send electrical signals from / to the other input control devices 116. The other input 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, the input controller(s) 160 are optionally coupled to any (or none) of a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. The one or more buttons (e.g., 208 in FIG. 2) optionally include up / down buttons for volume control of speaker 111 and / or microphone 113. The one or more buttons optionally include a push button (e.g., 206 in FIG. 2).
[0072] A quick press of the push button optionally unlocks the touch screen 112 or optionally initiates a process of unlocking the device using gestures on the touch screen, as described in U.S. Patent Application Serial No. 11 / 322,549, filed December 23, 2005, "Unlocking a Device by Performing Gestures on an Unlock Image," U.S. Patent No. 7,657,849, which is incorporated herein by reference in its entirety. A longer press of the push button (e.g., 206) optionally turns power on or off to the device 100. The functionality of one or more of the buttons is optionally customizable by the user. The touch screen 112 is used to implement virtual or soft buttons and one or more soft keyboards.
[0073] The touch-sensitive display 112 provides an input and output interface between the device and a user. The display controller 156 receives and / or transmits electrical signals from and to the touchscreen 112. The touchscreen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.
[0074] Touchscreen 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from a user based on haptic and / or tactile contact. Touchscreen 112 and display controller 156 (along with any associated modules and / or sets of instructions in memory 102) detects contacts (and any movement or breaking of contacts) on touchscreen 112 and translates the detected contacts into interactions with user interface objects (e.g., one or more soft keys, icons, web pages, or images) displayed on touchscreen 112. In an exemplary embodiment, the point of contact between touchscreen 112 and the user corresponds to the user's finger.
[0075] Touch screen 112 optionally uses LCD (Liquid Crystal Display), LPD (Light Emitting Polymer Display), or LED (Light Emitting Diode) technology, although other display technologies are used in other embodiments. Touch screen 112 and display controller 156 optionally detect contact and any movement or interruption thereof using any of a number of touch sensing technologies now known or later developed, including, but not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements that determine one or more points of contact with touch screen 112. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as that found in the iPhone® and iPod Touch® from Apple Inc. of Cupertino, Calif.
[0076] The touch-sensitive display in some embodiments of touchscreen 112 is optionally similar to the multi-touch-sensing touchpad described in U.S. Patent Nos. 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman), and / or U.S. Patent Publication No. 2002 / 0015024 (A1), each of which is incorporated by reference in its entirety. However, whereas a touch-sensitive touchpad does not provide visual output, touchscreen 112 displays visual output from device 100.
[0077] Some embodiments of touch screen 112 include touch-sensitive displays as described in the following applications: (1) U.S. Patent Application No. 11 / 381,313, filed May 2, 2006, entitled "Multipoint Touch Surface Controller"; (2) U.S. Patent Application No. 10 / 840,862, filed May 6, 2004, entitled "Multipoint Touchscreen"; (3) U.S. Patent Application No. 10 / 903,964, filed July 30, 2004, entitled "Gestures For Touch Sensitive Input Devices"; (4) U.S. Patent Application No. 11 / 048,264, filed January 31, 2005, entitled "Gestures For Touch Sensitive Input Devices"; (5) U.S. Patent Application No. 11 / 038,590, filed January 18, 2005, entitled "Mode-Based Graphical User Interfaces For Touch Sensitive Input No. 11 / 228,758, filed Sep. 16, 2005, entitled "Virtual Input Device Placement On A Touch Screen User Interface," (7) U.S. application Ser. No. 11 / 228,700, filed Sep. 16, 2005, entitled "Operation Of A Computer With A Touch Screen Interface," (8) U.S. application Ser. No. 11 / 228,737, filed Sep. 16, 2005, entitled "Activating Virtual Keys Of A Touch-Screen Virtual Keyboard," and (9) U.S. application Ser. No. 11 / 367,749, filed Mar. 3, 2006, entitled "Multi-Functional Hand-Held Device," all of which are incorporated herein by reference in their entirety.
[0078] Touch screen 112 optionally has a video resolution of greater than 100 dpi. In some embodiments, the touch screen has a video resolution of approximately 160 dpi. A user optionally contacts touch screen 112 using any suitable object or appendage, such as a stylus, finger, etc. In some embodiments, the user interface is designed to operate primarily using finger-based contacts and gestures, which may not be as precise as stylus-based input due to the larger contact area of a finger on the touch screen. In some embodiments, the device converts the rough finger input into precise pointer / cursor positions or commands to perform the action desired by the user.
[0079] In some embodiments, in addition to a touchscreen, device 100 optionally includes a touchpad 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 touchscreen 112 or an extension of the touch-sensitive surface formed by the touchscreen.
[0080] Device 100 also includes a power system 162 that provides power to the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, power 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.
[0081] 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 164 optionally includes a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. Light sensor 164 receives light from the environment projected through one or more lenses and converts the light into data representing an image. Light sensor 164 cooperates with imaging module 143 (also called a camera module) to optionally capture still or video images. In some embodiments, the light sensor is located on the back side of device 100 opposite touchscreen display 112 on the front side of the device, so that the touchscreen display can be used as a viewfinder for still and / or video capture. In some embodiments, the light sensor is located on the front side of the device such that an image of the user is optionally acquired for a video conference while the user views other video conference participants on the touchscreen display. In some embodiments, the position of the light sensor 164 can be changed by the user (e.g., by rotating the lens and sensor within the device housing), such that a single light sensor 164 is used for both video conferencing and still and / or video capture, along with a touchscreen display.
[0082] Device 100 also optionally includes one or more depth camera sensors 175. FIG. 1A shows a depth camera sensor coupled to depth camera controller 169 in I / O subsystem 106. Depth camera sensor 175 receives data from the environment to create a three-dimensional model of an object (e.g., a face) in a scene from a viewpoint (e.g., the depth camera sensor). In some embodiments, in cooperation with imaging module 143 (also called camera module), depth camera sensor 175 is optionally used to determine a depth map of different parts of an image captured by imaging module 143. In some embodiments, a depth camera sensor is disposed on the front of device 100 to obtain an image of a user with depth information for a video conference and to capture a selfie image with depth map data while the user views other video conference participants on a touch screen display. In some embodiments, depth camera sensor 175 is disposed on the back of the device, or on the back and front of device 100. In some embodiments, the position of the depth camera sensor 175 can be changed by the user (e.g., by rotating the lens and sensor within the device housing) such that the depth camera sensor 175 is used for both video conferencing and still and / or video capture in conjunction with a touchscreen display.
[0083] 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 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other intensity sensors (e.g., sensors used to measure the force (or pressure) of a contact on a touch-sensitive surface). Contact intensity sensor 165 receives contact intensity information (e.g., pressure information, or a proxy for pressure information) from the environment. In some embodiments, at least one contact intensity sensor is juxtaposed with or proximate to a 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 112 located on the front of device 100.
[0084] Device 100 also optionally includes one or more proximity sensors 166. Figure 1A shows proximity sensor 166 coupled to peripherals interface 118. Alternatively, proximity sensor 166 is optionally coupled to an input controller 160 within I / O subsystem 106. The proximity sensor 166 optionally functions as described in U.S. Patent Application Nos. 11 / 241,839, "Proximity Detector In Handheld Device," 11 / 240,788, "Proximity Detector In Handheld Device," 11 / 620,702, "Using Ambient Light Sensor To Augment Proximity Sensor Output," 11 / 586,862, "Automated Response To And Sensing Of User Activity In Portable Devices," and 11 / 638,251, "Methods And Systems For Automatic Configuration Of Peripherals," all of which are incorporated herein by reference in their entireties. In some embodiments, the proximity sensor turns off and disables the touchscreen 112 when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call).
[0085] Device 100 also optionally includes one or more tactile output generators 167. FIG. 1A shows a tactile output generator coupled to haptic feedback controller 161 in I / O subsystem 106. Tactile output generator 167 optionally includes one or more electroacoustic devices, such as speakers or other audio components, and / or electromechanical devices that convert energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other tactile output generating components (e.g., components that convert electrical signals into tactile output on the device). Contact intensity sensor 165 receives tactile feedback generation commands from haptic feedback module 133 and generates a tactile output on device 100 that can be sensed by a user of device 100. In some embodiments, at least one tactile output generator is juxtaposed with 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 surface of device 100) or horizontally (e.g., back and forth in the same plane as the surface of device 100). In some embodiments, the at least one tactile output generator sensor is located on the back of device 100, opposite touchscreen display 112, which is located on the front of device 100.
[0086] 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. Accelerometer 168 optionally functions as described in U.S. Patent Publication No. 20050190059, “Acceleration-based Theft Detection System for Portable Electronic Devices,” and U.S. Patent Publication No. 20060017692, “Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer,” both of which are incorporated herein by reference in their entireties. In some embodiments, information is displayed on the touchscreen display in portrait or landscape view based on an analysis of data received from the one or more accelerometers. In addition to accelerometer(s) 168, device 100 optionally includes a magnetometer and a GPS (or GLONASS or other global navigation system) receiver for obtaining information regarding the location and orientation (e.g., vertical or horizontal) of device 100.
[0087] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a touch / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a Global Positioning System (GPS) module (or instruction set) 135, and applications (or instruction sets) 136. Additionally, in some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3) stores device / global internal state 157, as shown in FIGS. 1A and 3. Device / global internal state 157 includes one or more of an active application state indicating which applications, if any, are currently active, a display state indicating which applications, views, or other information are occupying various regions of touchscreen display 112, a sensor state including information obtained from the device's various sensors and input control devices 116, and location information regarding the location and / or orientation of the device.
[0088] Operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers that control and manage general system tasks (e.g., memory management, storage control, power management, etc.) and facilitate communication between various hardware and software components.
[0089] The communications module 128 also includes various software components for facilitating communication with other devices via one or more external ports 124 and for processing data received by the RF circuitry 108 and / or the external ports 124. The external ports 124 (e.g., Universal Serial Bus (USB), FIREWIRE®, etc.) are adapted to couple to other devices directly or indirectly via a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external ports are multi-pin (e.g., 30-pin) connectors that are the same as or similar to and / or compatible with the 30-pin connector used on iPod® (a trademark of Apple Inc.) devices.
[0090] Contact / motion module 130, optionally in conjunction with display controller 156, detects contact with touch screen 112 and other touch-sensing devices (e.g., a touchpad or physical click wheel). Contact / motion module 130 includes various software components for performing various operations related to detecting contact, such as determining whether contact has occurred (e.g., detecting a finger-down event), determining the strength of the contact (e.g., the force or pressure of the contact, or a surrogate for the force or pressure of the contact), determining whether there is movement of the contact and tracking the movement across the touch-sensitive surface (e.g., detecting one or more events of dragging a finger), and determining whether the contact has stopped (e.g., detecting a finger-up event or an interruption of the contact). Contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact, as 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. These actions are, optionally, applied to a single contact (e.g., one finger contact) or multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts). In some embodiments, contact / motion module 130 and display controller 156 detect contacts on a touchpad.
[0091] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an action has been performed by a user (e.g., to determine whether a user has “clicked” 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 thresholds of a particular physical actuator, but can be adjusted without modifying the physical hardware of the device 100). For example, the mouse “click” threshold of a trackpad or touchscreen display can be set to any of a wide range of predefined thresholds without modifying the trackpad or touchscreen display hardware. Additionally, in some implementations, a user of the device is provided with a software setting to adjust one or more of the sets 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).
[0092] Contact / motion module 130 optionally detects gesture input by a user. Different gestures on a touch-sensitive surface have different contact patterns (e.g., different movements, timing, and / or strength of detected contacts). Thus, gestures are optionally detected by detecting a particular contact pattern. For example, detecting a finger tap gesture includes detecting a finger down event, followed by detecting a finger up (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 detecting a finger up (lift off) event.
[0093] Graphics module 132 includes various known software components that render and display graphics on touchscreen 112 or other display, including components that vary 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, characters, web pages, icons (such as user interface objects including soft keys), digital images, video, animations, and the like.
[0094] In some embodiments, graphics module 132 stores data representing the graphics to be used. Each graphic is, optionally, assigned a corresponding code. Graphics module 132 receives one or more codes specifying the graphics to be displayed, including, as appropriate, coordinate data and other graphic characteristic data, from an application or the like, and then generates screen image data for output to display controller 156.
[0095] 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 a user's interaction with the device 100.
[0096] 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).
[0097] 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 a weather widget, a local yellow page widget, and a map / navigation widget).
[0098] Application 136 optionally includes the following modules (or sets of instructions), or a subset or superset thereof: ● a contacts module 137 (sometimes called an address book or contact list); ● Telephone module 138, ● Videoconferencing module 139; ● an email client module 140; ● Instant messaging (IM) module 141, ● Training support module 142, A camera module 143 for still images and / or video; ● Image management module 144, ●Video player module, ●Music player module, ● Browser module 147, ● Calendar module 148, ● A widget module 149, optionally including one or more of a weather widget 149-1, a stock price widget 149-2, a calculator widget 149-3, an alarm clock widget 149-4, a dictionary widget 149-5, and other widgets obtained by the user, as well as user-created widgets 149-6; A widget creator module 150 for creating user-created widgets 149-6; ● Search module 151, A video and music player module 152 that integrates a video player module and a music player module; ● Memo module 153, Map module 154, and / or ●Online video module 155.
[0099] 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.
[0100] The contacts module 137, in conjunction with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, is optionally used to manage an address book or contact list (e.g., stored in the memory 102 or in the application internal state 192 of the contacts module 137 in memory 370). These include adding a name(s) to an address book, removing a name(s) from an address book, associating a phone number(s), email address(es), physical address(es), or other information with a name, associating an image with a name, categorizing and sorting names, providing phone numbers or email addresses to initiate and / or facilitate communication by phone 138, videoconferencing module 139, email 140, or IM 141, and the like.
[0101] Telephone module 138, in conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, is optionally used to enter character sequences corresponding to telephone numbers, access one or more telephone numbers in contacts module 137, modify entered telephone numbers, dial respective telephone numbers, place calls, and disconnect and hang up when a call is completed. As previously mentioned, wireless communication optionally uses any of a number of communication standards, protocols, and technologies.
[0102] Video conferencing module 139 includes executable instructions to cooperate with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, light sensor 164, light sensor controller 158, contact / motion module 130, graphics module 132, text input module 134, contact module 137, and telephone module 138 to initiate, conduct, and end a video conference between a user and one or more other participants in accordance with instructions from the user.
[0103] The email client module 140, in conjunction with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, contains executable instructions for composing, sending, receiving, and managing emails in response to user instructions. In conjunction with the image management module 144, the email client module 140 greatly facilitates the creation and sending of emails with still or video images captured by the camera module 143.
[0104] Instant messaging module 141 includes executable instructions in cooperation with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134 for entering character sequences corresponding to instant messages, modifying previously entered characters, sending respective instant messages (e.g., using Short Message Service (SMS) or Multimedia Message Service (MMS) protocols for telephony-based instant messaging, or XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, sent and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments as supported by MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant messaging" refers to both telephony-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).
[0105] The training support module 142 includes executable instructions to cooperate with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the GPS module 135, the map module 154, and the music player module to create workouts (e.g., having time, distance, and / or calorie burn goals), communicate with training sensors (sports devices), receive training sensor data, calibrate sensors used to monitor the workouts, select and play music for the workouts, and display, store, and transmit the workout data.
[0106] Camera module 143, in conjunction with touch screen 112, display controller 156, light sensor(s) 164, light sensor controller 158, contact / motion module 130, graphics module 132, and image management module 144, contains executable instructions for capturing and storing still images or video (including video streams) in memory 102, modifying characteristics of the still images or video, or deleting still images or video from memory 102.
[0107] Image management module 144, in conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and camera module 143, contains executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slide show or album), and storing still and / or video images.
[0108] Browser module 147, in conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, contains executable instructions for browsing the Internet in accordance with a user's instructions, including retrieving, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0109] The calendar module 148 includes executable instructions to cooperate with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the email client module 140, and the browser module 147 to create, display, modify, and store calendars and data associated with the calendars (e.g., calendar items, to-do lists, etc.) according to user instructions.
[0110] Widget module 149, in conjunction with RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and browser module 147, optionally provides 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) downloaded and used by a user, or mini-applications (e.g., user-created widget 149-6) created by a user. In some embodiments, a widget includes a Hypertext Markup Language (HTML) file, a Cascading Style Sheets (CSS) file, and a JavaScript file. In some embodiments, a widget includes an Extensible Markup Language (XML) file and a JavaScript file (e.g., Yahoo! Widget).
[0111] The widget creator module 150, in conjunction with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, and the browser module 147, is optionally used by a user to create a widget (e.g., turn a user-specified portion of a web page into a widget).
[0112] The search module 151 includes executable instructions for operating in conjunction with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134 to search for text, music, sound, images, video, and / or other files in the memory 102 that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with a user's instructions.
[0113] Video and music player module 152 includes executable instructions that cooperate with touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147 to enable a user to download and play pre-recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files, as well as executable instructions for displaying, presenting, or otherwise playing videos (e.g., on touchscreen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (a trademark of Apple Inc.).
[0114] The notes module 153 includes executable instructions for cooperating with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134 to create and manage notes, to-do lists, and the like as directed by a user.
[0115] Map module 154, in conjunction with RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, is used to receive, display, modify, and store maps and data associated with the maps (e.g., driving directions, data regarding businesses and other points of interest at or near a particular location, and other location-based data), optionally in accordance with a user's instructions.
[0116] Online video module 155, in conjunction with touchscreen 112, display controller 156, contact / motion 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, includes instructions that enable a user to access, browse for, receive (e.g., by streaming and / or downloading), play (e.g., on the touchscreen or on an external display connected via external port 124), send emails with links to the particular online videos, and otherwise manage the online videos in one or more file formats, such as H.264. In some embodiments, instant messaging module 141 is used to send links to the particular online videos, rather than email client module 140. For additional description of online video applications, see U.S. Provisional Patent Application No. 60 / 936,562, entitled "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," filed June 20, 2007, and U.S. Patent Application No. 11 / 968,067, entitled "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," filed December 31, 2007, the contents of which are incorporated by reference in their entireties.
[0117] Each of the above-identified modules and applications corresponds to a set of executable instructions that perform one or more of the functions previously described and methods described in this application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus, in various embodiments, various subsets of these modules are optionally combined or otherwise reconfigured. For example, a video player module is optionally combined with a music player module into a single module (e.g., video and music player module 152 of FIG. 1A). 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.
[0118] In some embodiments, device 100 is a device in which operation of a predefined set of functions on the device is performed exclusively via a touchscreen and / or touchpad. Using the touchscreen and / or touchpad as the primary input control device for operation of device 100 optionally reduces the number of physical input control devices (push buttons, dials, etc.) on device 100.
[0119] The set of predefined functions performed only through the touchscreen and / or touchpad optionally includes navigating between user interfaces. In some embodiments, the touchpad, when touched by a user, navigates device 100 to a main menu, a home menu, or a 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 rather than a touchpad.
[0120] 1B is a block diagram illustrating example components for event processing, 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 137-151, 155, 380-390 discussed above).
[0121] Event sorter 170 receives the event information and determines which application 136-1 to deliver the event information to and application view 191 of application 136-1. Event sorter 170 includes an event monitor 171 and an 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 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) is currently active, and application internal state 192 is used by event sorter 170 to determine which application view 191 the event information is delivered to.
[0122] In some embodiments, application internal state 192 includes additional information such as one or more of resume information to be used when application 136-1 resumes execution, user interface state information indicating or ready to display information being displayed by application 136-1, state cues that allow a user to return to a previous state or view of application 136-1, and redo / undo cues of previous actions taken by the user.
[0123] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about a sub-event (e.g., a user touch as part of a multi-touch gesture on touch-sensitive display 112). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, accelerometer(s) 168, and / or microphone 113 (via audio circuitry 110). Information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.
[0124] In some embodiments, event monitor 171 sends requests to peripherals interface 118 at predetermined intervals. In response, peripherals interface 118 transmits event information. In other embodiments, peripherals interface 118 transmits event information only when there is a significant event (e.g., receipt of an input that exceeds a predetermined noise threshold and / or exceeds a predetermined duration).
[0125] In some embodiments, event sorter 170 also includes a hit view determination module 172 and / or an active event recognizer determination module 173.
[0126] Hit view determination module 172 provides software procedures that determine where a sub-event occurred within one or more views when touch-sensitive display 112 is displaying more than one view. A view consists of the controls and other elements that a user can see on the display.
[0127] Another aspect of a user interface associated with an application is the set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and in which touch-based gestures occur. The application view (of the respective application) in which the touch is detected optionally corresponds to a programmatic level within the programmatic or view hierarchy of the application. For example, the lowest level view in which the touch is detected is optionally referred to as a hit view, and the set of events that are recognized as suitable inputs is optionally determined based at least in part on the hit view of the initial touch that initiates the touch-based gesture.
[0128] Hit view determination module 172 receives information related to sub-events of a touch-based gesture. When an application has multiple views organized in a hierarchical manner, 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 an initiating sub-event occurs (e.g., the first sub-event in a sub-event sequence that forms an event or potential event). Once a hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source as the touch or input source identified as the hit view.
[0129] Active event recognizer determination module 173 determines which view(s) in the view hierarchy should receive the particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive the particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that contain the physical location of the sub-event are actively participating views, and therefore all actively participating views should receive the particular sequence of sub-events. In other embodiments, even if the touch sub-event is completely confined to the area associated with one particular view, views higher in the hierarchy still remain actively participating views.
[0130] Event dispatcher module 174 dispatches the event information to event recognizers (e.g., event recognizer 180). In embodiments that include active event recognizer determination module 173, event dispatcher module 174 delivers the event information to the event recognizers determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores event information obtained by each event receiver 182 in an event queue.
[0131] 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.
[0132] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each including instructions for handling touch events that occur within a respective view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, each application view 191 includes multiple event recognizers 180. In other embodiments, one or more of event recognizers 180 are part of a separate module, such as a user interface kit or a higher-level object from which application 136-1 inherits methods and other properties. In some embodiments, each event handler 190 includes one or more of data updaters 176, object updaters 177, GUI updaters 178, and / or event data 179 received from event sorter 170. Event handlers 190 optionally utilize or call data updaters 176, object updaters 177, or GUI updaters 178 to update application internal state 192. Alternatively, one or more of the application views 191 include one or more respective event handlers 190. Also, in some embodiments, one or more of the data updater 176, the object updater 177, and the GUI updater 178 are included in each application view 191.
[0133] Each event recognizer 180 receives event information (e.g., event data 179) from event sorter 170 and identifies an event from the event information. Event recognizer 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event recognizer 180 also includes at least a subset of metadata 183 and event delivery instructions 188 (optionally including sub-event delivery instructions).
[0134] Event receiver 182 receives event information from event sorter 170. The event information includes information about a sub-event, e.g., a touch or a movement of a touch. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves a movement of a touch, the event information also optionally includes the speed and direction of the sub-event. In some embodiments, the event includes a rotation of the device from one orientation to another (e.g., from portrait to landscape or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device's attitude).
[0135] The event comparator 184 compares the event information to predefined event or sub-event definitions and determines the event or sub-event or determines or updates the state of the event or sub-event based on the comparison. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 includes definitions of events (e.g., a sequence of predefined sub-events), such as event 1 (187-1) and event 2 (187-2). In some embodiments, sub-events in an event (187) include, for example, touch start, touch end, touch move, touch cancel, and multiple touches. In one example, the definition for event 1 (187-1) is a double tap on a displayed object. The double tap includes, for example, a first touch on a displayed object for a given phase (touch start), a first lift off (touch end) for a given phase, a second touch on a displayed object for a given phase (touch start), and a second lift off (touch end) for a given phase. In another example, a definition of event 2 (187-2) is a drag on a displayed object. A drag includes, for example, a touch (or contact) on a displayed object to a predetermined stage, a movement of the touch across the touch-sensitive display 112, and a lift-off of the touch (end of the touch). In some embodiments, the event also includes information regarding one or more associated event handlers 190.
[0136] 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, when a touch is detected on touch-sensitive display 112 in an application view in which three user interface objects are displayed on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a respective event handler 190, event comparator 184 uses the results of the hit test to determine which event handler 190 to activate. For example, event comparator 184 selects an event handler associated with the sub-event and an object that triggers the hit test.
[0137] In some embodiments, each event 187 definition also includes a delay action that delays transmission of the event information until it is determined whether the sequence of sub-events corresponds to the event type of the event recognizer.
[0138] If the respective event recognizer 180 determines that the sequence of sub-events does not match any of the events in the event definition 186, the respective event recognizer 180 enters an event disabled, event failed, or event finished state and thereafter ignores the next sub-event 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.
[0139] In some embodiments, each event recognizer 180 includes metadata 183 with configurable properties, flags, and / or lists that indicate to actively participating event recognizers how the event delivery system should perform sub-event delivery. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact with each other or are enabled to interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how sub-events are delivered to various levels in a view or programmatic hierarchy.
[0140] In some embodiments, each event recognizer 180 activates an event handler 190 associated with an event when one or more particular sub-events of the event are recognized. In some embodiments, each event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is separate from sending (and postponing sending) the sub-events to the respective hit view. In some embodiments, the event recognizer 180 throws a flag associated with the recognized event, and the event handler 190 associated with the flag catches the flag and performs a predefined process.
[0141] In some embodiments, the event delivery instructions 188 include sub-event delivery instructions that deliver event information about a sub-event without activating an event handler. Instead, the sub-event delivery instructions deliver the event information to an event handler associated with a set of sub-events or to an actively participating view. The event handler associated with the set of sub-events or the actively participating view receives the event information and performs a predetermined process.
[0142] In some embodiments, data updater 176 creates and updates data used by application 136-1. For example, data updater 176 updates phone numbers used by contacts module 137 or stores video files used by a video player module. In some embodiments, object updater 177 creates and updates objects used by application 136-1. For example, object updater 177 creates new user interface objects or updates the positions of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on the touch-sensitive display.
[0143] In some embodiments, event handler(s) 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of a respective application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0144] It should be understood that the foregoing description of event processing of a user's touch on a touch-sensitive display also applies to other forms of user input for operating multifunction device 100 with an input device, not all of which are initiated on a touch screen. For example, mouse movements and mouse button presses, contact movements such as tapping, dragging, scrolling on a touchpad, optionally coordinated with single or multiple presses or holds of a keyboard, pen stylus input, device movements, verbal commands, detected eye movements, biometric input, and / or any combination thereof, are optionally utilized as inputs corresponding to sub-events that define the event to be recognized.
[0145] FIG. 2 illustrates portable multifunction device 100 having touch screen 112, according to some embodiments. The touch screen optionally displays one or more graphics in user interface (UI) 200. In this embodiment, as well as other embodiments described below, a user may select one or more of the graphics by performing a gesture on the graphics, for example, using one or more fingers 202 (not drawn to scale) or one or more styluses 203 (not drawn to scale). In some embodiments, selection of one or more graphics is performed 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, upwards and / or downwards), and / or rolling (right to left, left to right, upwards and / or downwards) of a finger in contact with device 100. In some implementations or situations, accidental contact with a graphic does not select that graphic: for example, a swipe gesture over an application icon optionally does not select the corresponding application if the gesture corresponding to selection is a tap.
[0146] Device 100 optionally also includes one or more physical buttons, such as a “home” button or menu button 204. As previously mentioned, menu button 204 is optionally used to navigate to any application 136 within a set of applications executing on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key within a GUI displayed on touch screen 112.
[0147] In some embodiments, device 100 includes touch screen 112, menu button 204, push button 206 for powering the device on / off and locking the device, volume control button(s) 208, subscriber identity module (SIM) card slot 210, headset jack 212, and external port 124 for docking / charging. Push button 206 is optionally used to power the device on / off by pressing and holding the button down for a predefined period of time, to lock the device by pressing and releasing the button before the predefined time has elapsed, and / or to unlock the device or initiate an unlocking process. In an alternative embodiment, device 100 also accepts verbal input via microphone 113 to activate or deactivate some functions. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of a contact on touch screen 112 and / or one or more tactile output generators 167 for generating a tactile output to a user of device 100.
[0148] 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 player 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 that interconnect these components. Communication bus 320 optionally includes circuitry (sometimes referred to as a chipset) that interconnects and controls communication between system components. Device 300 includes input / output (I / O) interface 330, including 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 (e.g., similar to tactile output generator(s) 167 described above with reference to FIG. 1A ) for generating tactile output on device 300, and sensors 359 (e.g., similar to light, acceleration, proximity, touch-sensing, and / or 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, disk authoring module 388, and / or spreadsheet module 390, whereas memory 102 of portable multifunction device 100 (FIG. 1A) optionally does not store these modules.
[0149] Each of the above-identified elements of FIG. 3 is optionally stored in one or more of the memory devices mentioned above. Each of the above-identified modules corresponds to an instruction set that performs the functions described above. The above-identified modules or programs (e.g., instruction sets) need not be implemented as separate software programs, procedures, or modules, and thus in various embodiments, various subsets of these modules are optionally combined or otherwise reconfigured. 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.
[0150] Attention is now optionally directed to embodiments of user interfaces implemented, for example, on portable multifunction device 100.
[0151] 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 indicator 405, ● Battery status indicator 406, Tray 408 with icons of frequently used applications, such as: ○ An icon 416 for the phone module 138, labeled “Phone”, optionally including an indicator 414 of the number of missed calls or voicemail messages; ○ An icon 418 of the email client module 140, labeled “Mail”, optionally including an indicator 410 of the number of unread emails; ○ An icon 420 for the Browser module 147, labeled "Browser"; and ○ An icon 422 for the video and music player module 152, also called the iPod (trademark of Apple Inc.) module 152, labeled "iPod"; and ● Icons of other applications, such as: ○ Icon 424 of IM module 141, labeled "Messages"; ○ Icon 426 of the Calendar module 148, labeled "Calendar", ○ Icon 428 of the image management module 144, labeled "Photos"; ○ An icon 430 of the camera module 143, labeled “camera”; ○ Icon 432 of the online video module 155, labeled "Online Video"; Icon 434 of Stock Price Widget 149-2, labeled "Stock Price" ○ Icon 436 of the map module 154, labeled "Map"; ○ Icon 438 of weather widget 149-1, labeled "Weather"; ○ Icon 440 of alarm clock widget 149-4, labeled "Clock"; ○ Icon 442 of Training Support Module 142, labeled "Training Support"; ○ An icon 444 of the Notes module 153, labeled "Notes"; and ○ A settings application or module icon 446 labeled “Settings,” which provides access to settings for the device 100 and its various applications 136 .
[0152] 4A are merely exemplary. For example, icon 422 of video and music player module 152 is labeled "Music" or "Music Player," although other labels are optionally used for the 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 distinct from others based on the name of the application that corresponds to that particular application icon.
[0153] 4B shows an example user interface on a device (e.g., device 300 of FIG. 3) that has a touch-sensitive surface 451 (e.g., tablet or touchpad 355 of FIG. 3) that is separate from display 450 (e.g., touchscreen display 112). Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) that detect the intensity of a contact on touch-sensitive surface 451 and / or one or more tactile output generators 357 that generate a tactile output to a user of device 300.
[0154] Although some of the following examples are given with reference to input on touch screen display 112 (wherein 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 primary axis (e.g., 452 in FIG. 4B) that corresponds to a primary axis (e.g., 453 in FIG. 4B) on the display (e.g., 450). According to these embodiments, the device detects contact with touch-sensitive surface 451 (e.g., 460 and 462 in FIG. 4B) at locations that correspond to respective locations on the display (e.g., in FIG. 4B, 460 corresponds to 468 and 462 corresponds to 470). In this manner, user input (e.g., contacts 460 and 462 and their movements) 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 when the touch-sensitive surface is separate from the display. It is to be understood that similar methods are optionally used for the other user interfaces described herein.
[0155] In addition, while the following examples are given primarily with reference to finger input (e.g., finger contact, finger tap gesture, finger swipe gesture), it should be understood that in some embodiments, one or more of the 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 by a mouse click (e.g., instead of a contact) followed by movement of a cursor along the path of the swipe (e.g., instead of moving the contact). As another example, a tap gesture is optionally replaced by a mouse click (e.g., instead of detecting a contact and then stopping detection of the contact) while the cursor is located over the location of the tap gesture. Similarly, it should be understood that when multiple user inputs are detected simultaneously, multiple computer mice are optionally used simultaneously, or mice and finger contacts are optionally used simultaneously.
[0156] FIG. 5A illustrates an exemplary personal electronic device 500. Device 500 includes a body 502. In some embodiments, device 500 can include some or all of the features described with respect to devices 100 and 300 (e.g., FIGS. 1A-4B). In some embodiments, device 500 has a touch-sensitive display screen 504, hereafter touch screen 504. Alternatively, or in addition to touch screen 504, device 500 has a display and a touch-sensitive surface. Similar to devices 100 and 300, in some embodiments, touch screen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors that detect the intensity of a contact (e.g., a touch) being applied. The one or more intensity sensors of touch screen 504 (or touch-sensitive surface) can provide output data representative of the intensity of the touch. A user interface of device 500 can respond to touch(s) based on their intensity, meaning that touches of different intensities can invoke different user interface actions on device 500.
[0157] For exemplary techniques for detecting and processing touch intensity, see, for example, related applications International Patent Application No. PCT / US2013 / 040061, filed May 8, 2013, entitled "Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application," published as International Patent Application No. WO / 2013 / 169849, and International Patent Application No. PCT / US2013 / 069483, filed November 11, 2013, published as International Patent Application No. WO / 2014 / 105276, entitled "Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships," each of which is incorporated herein by reference in its entirety.
[0158] In some embodiments, device 500 has one or more input mechanisms 506 and 508. Input mechanisms 506 and 508, if included, can be physical. Examples of physical input mechanisms include push buttons and rotatable mechanisms. In some embodiments, device 500 has one or more attachment mechanisms. Such attachment mechanisms, if included, can allow device 500 to be attached to, for example, hats, eyewear, earrings, necklaces, shirts, jackets, bracelets, watch bands, chains, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow a user to wear device 500.
[0159] FIG. 5B illustrates an exemplary personal electronic device 500. In some embodiments, the device 500 can include some or all of the components described with respect to FIGS. 1A, 1B, and 3. The device 500 has a bus 512 that operably couples an I / O section 514 to one or more computer processors 516 and a memory 518. The I / O section 514 can be connected to a display 504, which can have a touch-sensing component 522 and, optionally, an intensity sensor 524 (e.g., a contact intensity sensor). In addition, the I / O section 514 can be connected to a communication unit 530 that receives application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular, and / or other wireless communication techniques. The device 500 can include input mechanisms 506 and / or 508. The input mechanism 506 is optionally, for example, a rotatable input device or a depressible and rotatable input device. In some examples, the input mechanism 508 is optionally a button.
[0160] In some examples, the input mechanism 508 is optionally a microphone. The personal electronic device 500 optionally includes various sensors, such as a GPS sensor 532, an accelerometer 534, an orientation sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or combinations thereof, all of which may be operatively connected to the I / O section 514.
[0161] The memory 518 of the personal electronic device 500 can include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by one or more computer processors 516, can, for example, cause the computer processors to perform the techniques described below, including process 700 (FIGS. 7A-7D), process 900 (FIGS. 9A and 9B), process 1100 (FIGS. 11A-11C), process 1300 (FIGS. 13A and 13B), and process 1500 (FIGS. 15A-15C). A computer-readable storage medium can be any medium that can tangibly contain or store computer-executable instructions for use by or in connection with an instruction execution system, apparatus, or device. In some embodiments, the storage medium is a transitory computer-readable storage medium. In some embodiments, the storage medium is a non-transitory computer-readable storage medium. The non-transitory computer readable storage medium may include, but is not limited to, magnetic, optical, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks and optical disks based on CD, DVD, or Blu-ray technology, as well as resident solid-state memory such as flash, solid-state drives, and the like. The personal electronic device 500 is not limited to the components and configuration of FIG. 5B and may include other or additional components in multiple configurations.
[0162] As used herein, the term "affordance" refers to a user-interactive graphical user interface object that is optionally displayed on a display screen of device 100, 300, and / or 500 (FIGS. 1A, 3, and 5A-5B). For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) each, optionally, constitute an affordance.
[0163] The term "focus selector" as used herein refers to an input element that indicates the current portion of the user interface with which the user is interacting. In some implementations involving a cursor or other position marker, the cursor acts as the "focus selector," such that when an input (e.g., a press input) is detected on a touch-sensitive surface (e.g., touchpad 355 of FIG. 3 or touch-sensitive surface 451 of FIG. 4B) while the cursor is positioned over a particular user interface element (e.g., a button, window, slider, or other user interface element), the particular user interface element is adjusted according to the detected input. In some implementations involving a touchscreen display (e.g., touch-sensitive display system 112 of FIG. 1A or touchscreen 112 of FIG. 4A) that allows direct interaction with user interface elements on the touchscreen display, a detected contact on the touchscreen acts as the "focus selector," such that when an input (e.g., a press input by 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 without a corresponding cursor movement or contact movement on the touchscreen display (e.g., by using a tab key or arrow keys to move focus from one button to another), and in these implementations the focus selector moves to follow the movement of focus between different regions of the user interface. Regardless of the specific form the focus selector takes, the focus selector is generally a user interface element (or contact on a touchscreen display) that is controlled by the user to communicate the user's intended interaction to the user interface (e.g., by indicating to the device which element of the user interface the user intends to interact with through).For example, the position of a focus selector (e.g., a cursor, contact, or selection box) on a respective button while a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen) indicates that the user intends to activate the respective button (and not other user interface elements shown on the device's display).
[0164] As used herein and in the claims, the term "characteristic intensity" of a contact refers to a characteristic of that contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on a plurality of intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples, or based on a set of intensity samples collected during a predefined time (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10 seconds) relative to a predefined event, such as after detecting a contact, before detecting a lift-off of the contact, before or after detecting the start of movement of the contact, before detecting the end of the contact, before or after detecting an increase in contact intensity, and / or before or after detecting a decrease in contact intensity. The characteristic intensity of a contact is optionally based on one or more of a maximum contact intensity, a mean value of the contact intensity, an average value of the contact intensity, a top 10 percentile value of the contact intensity, a half maximum contact intensity value, a 90 percent maximum contact intensity value, and the like. In some embodiments, the duration of the contact is used in determining the characteristic intensity (e.g., when the characteristic intensity is an average of the intensity of the contact over time). In some embodiments, the characteristic intensity is compared to a set of one or more intensity thresholds to determine whether an action is performed by the user. For example, the set of one or more intensity thresholds optionally includes a first intensity threshold and a second intensity threshold. In this example, a contact having a characteristic intensity that does not exceed the first threshold results in a first action, a contact having a characteristic intensity that exceeds the first intensity threshold but not the second intensity threshold results in a second action, and a contact having a characteristic intensity that exceeds the second threshold results in a third action. In some embodiments, the comparison between the characteristic intensity and the one or more thresholds is not used to determine whether the first action or the second action should be performed, but rather is used to determine whether one or more actions should be performed (e.g., whether to perform the respective action or to forgo performing the respective action).
[0165] In some embodiments, a portion of the gesture is identified for purposes of determining the characteristic intensity. For example, the touch-sensitive surface optionally receives a swipe contact that transitions from a start position to an end position where the intensity of the contact increases. In this example, the characteristic intensity of the contact at the end position is optionally based on only a portion of the continuous swipe contact (e.g., only the portion of the swipe contact at the end position) and not the entire swipe contact. In some embodiments, prior to determining the characteristic intensity of the contact, a smoothing algorithm is optionally applied to the intensity of the swipe contact. For example, the smoothing algorithm optionally includes one or more of an unweighted moving average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some circumstances, these smoothing algorithms remove narrow spikes or drops in the swipe contact intensity for purposes of determining the characteristic intensity.
[0166] The intensity of the contact on the touch-sensitive surface is optionally characterized against one or more intensity thresholds, such as a contact-detection intensity threshold, a light press intensity threshold, a deep press intensity threshold, and / or one or more other intensity thresholds. In some embodiments, the light press intensity threshold corresponds to an intensity at which the device performs an action normally associated with clicking a physical mouse button or trackpad. In some embodiments, the deep press intensity threshold corresponds to an intensity at which the device performs an action different from an action normally associated with clicking a physical mouse button or trackpad. In some embodiments, when a contact is detected having a characteristic intensity below the light press intensity threshold (e.g., and above a nominal contact-detection intensity threshold below which the contact is not detected), the device moves the focus selector in accordance with the movement of the contact on the touch-sensitive surface without performing an action associated with the light press intensity threshold or the deep press intensity threshold. In general, unless otherwise specified, these intensity thresholds are consistent among the various sets of user interface illustrations.
[0167] An increase in the characteristic intensity of a contact from an intensity below the light press intensity threshold to an intensity between the light press intensity threshold and the deep press intensity threshold may be referred to as inputting a "light press." An increase in the characteristic intensity of a contact from an intensity below the deep press intensity threshold to an intensity above the deep press intensity threshold may be referred to as inputting a "deep press." An increase in the characteristic intensity of a contact from an intensity below the contact detection intensity threshold to an intensity between the contact detection intensity threshold and the light press intensity threshold may be referred to as detecting a contact on the touch surface. A decrease in the characteristic intensity of a contact from an intensity above the contact detection intensity threshold to an intensity below the contact detection intensity threshold may be referred to as detecting a lift-off of the contact from the touch surface. In some embodiments, the contact detection intensity threshold is zero. In some embodiments, the contact detection intensity threshold is greater than zero.
[0168] In some embodiments described herein, one or more actions are performed in response to detecting a gesture including a respective press input or in response to detecting that a respective press input has been performed by a respective contact (or contacts), where the respective press input is detected based at least in part on detecting an increase in contact (or contacts) intensity above a press input intensity threshold. In some embodiments, the respective actions are performed in response to detecting an increase in the intensity of the respective contact above a press input intensity threshold (e.g., a "downstroke" of the respective press input). In some embodiments, the press input includes an increase in the intensity of the respective contact above a press input intensity threshold followed by a decrease in the intensity of the contact below the press input intensity threshold, where the respective actions are performed in response to detecting a subsequent decrease in the intensity of the respective contact below the press input intensity threshold (e.g., an "upstroke" of the respective press input).
[0169] In some embodiments, the device employs intensity hysteresis to avoid accidental inputs, sometimes referred to as "jitter," and the device defines or selects a hysteresis intensity threshold that has a predefined relationship to the press input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units below the press input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable percentage of the press input intensity threshold). Thus, in some embodiments, the press input includes an increase in the intensity of the respective contact above the press input intensity threshold, followed by a decrease in the intensity of the contact below a hysteresis intensity threshold that corresponds to the press input intensity threshold, and a respective action is performed in response to detecting a subsequent decrease in the intensity of the respective contact below the hysteresis intensity threshold (e.g., an "upstroke" of the respective press input). Similarly, in some embodiments, a press 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 press input intensity threshold, and optionally a subsequent decrease in the intensity of the contact to an intensity below the hysteresis intensity, and a respective action is performed in response to detecting the press input (e.g., an increase in the intensity of the contact or a decrease in the intensity of the contact, as the case may be).
[0170] For ease of explanation, an action performed in response to a press input associated with a press input intensity threshold or in response to a gesture including a press input is optionally triggered in response to detecting any of: an increase in the intensity of a contact above the press input intensity threshold, an increase in the intensity of a contact from an intensity below a hysteresis intensity threshold to an intensity above the press input intensity threshold, a decrease in the intensity of a contact below the press input intensity threshold, and / or a decrease in the intensity of a contact below a hysteresis intensity threshold corresponding to the press input intensity threshold. Further, in examples where an action is described as being performed in response to detecting a decrease in the intensity of a contact below a press input intensity threshold, the action is optionally performed in response to detecting a decrease in the intensity of a contact below a hysteresis intensity threshold corresponding to and lower than the press input intensity threshold.
[0171] Attention is now directed to embodiments of user interfaces (“UI”) and associated processes implemented on an electronic device, such as portable multifunction device 100, device 300, or device 500.
[0172] 6A-6AF show example user interfaces associated with content-based tactile output according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in FIGS. 7A-7D.
[0173] FIG. 6A illustrates an electronic device 600 (e.g., a smartwatch) having a display 602, an input element 604 (e.g., a rotatable input device rotatable relative to a housing of the device; a rotatable input device / mechanism including a fixed socket and a rotatable component (e.g., a crown) attached or fixed to a shaft, where the rotatable component and shaft rotate together within the fixed socket; a rotatable input device / mechanism including a rotatable component (e.g., a crown) that rotates relative to a fixed component (e.g., a fixed shaft); a rotatable input device / mechanism that rotates in response to a rotational input on an axis such that the direction of rotation is parallel to a display of the electronic device; a rotatable input device / mechanism that can detect a rotational input without the device itself being physically rotated (e.g., via a touch detection mechanism); a rotatable and depressible input device; a rotatable crown), and one or more tactile output generators (e.g., integrated within the rotatable input element 604 and / or within the housing of the device). In some embodiments, the electronic device 600 also includes input buttons 606 (eg, mechanical input buttons, depressible input buttons).
[0174] The electronic device 600 includes one or more tactile output generators enclosed within and / or integrated with, or otherwise mechanically coupled directly or indirectly to, the input element 604 and / or the device's housing, such that a tactile output generated by the tactile output generator generates a tactile output at the input element 604. The one or more tactile output generators generate different types of tactile output sequences as described in Table 1 below based on the type of content being displayed and navigated / scrolled / adjusted on the device's display 602 (e.g., continuous content such as continuous text, or discrete content such as platters, affordances, buttons, etc.). In some embodiments, the one or more tactile output generators also generate different types of audio output sequences associated with the different types of tactile output sequences. The tactile output sequences 610, 620, 630, and 1220 described herein are generated by one or more tactile output generators described above. In some embodiments, the audio output sequences described herein associated with tactile output sequences 610, 620, 630, and 1220 are also generated by one or more of the tactile output generators described above.
[0175] In some embodiments, a particular type of tactile output sequence generated by one or more tactile output generators of the immediately preceding device corresponds to a particular tactile output pattern. For example, a 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. 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 moving mass to generate the tactile output), the tactile output may cause different tactile sensations when a user holds or touches the device. Although the user's sensation is based on the user's perception of the tactile output, most users are able to distinguish changes in the waveform, frequency, and amplitude of the tactile output generated by the device.
[0176] More specifically, Figures 5C-5E provide a set of sample tactile output patterns that may be used individually or in combination, either directly or through one or more transformations (e.g., modulation, amplification, truncation, etc.), to generate suitable tactile feedback for a variety of scenarios and purposes, such as those described above and with respect to the user interfaces and methods discussed herein. This example palette of tactile outputs shows how a set of three waveforms and eight frequencies can be used to create an array of tactile output patterns. In addition to the tactile output patterns shown in these figures, each of these tactile output patterns is optionally adjusted in amplitude by varying the gain values for the tactile output pattern, as shown, for example, in Figures 5F-5H for FullTap 80Hz, FullTap 200Hz, MiniTap 80Hz, MiniTap 200Hz, MicroTap 80Hz, and MicroTap 200Hz, shown in variants with gains of 1.0, 0.75, 0.5, and 0.25, respectively. As shown in Figures 5F-5H, varying 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, varying the frequency of the tactile output pattern also results in a lower amplitude. This is because some tactile output generators have limitations on the force that can be applied to the moving mass. Thus, the movement of the mass at higher frequencies is constrained to lower amplitudes (e.g., the peak amplitudes of full taps at 230Hz, 270Hz, and 300Hz are lower than the amplitudes of full taps at 80Hz, 100Hz, 125Hz, and 200Hz).
[0177] 5C-5H show tactile output patterns having particular waveforms. The waveforms of the tactile output patterns represent a pattern of physical displacement relative to a neutral position (e.g., Xzero) versus the time that elapses before the moving mass generates a tactile output in that tactile output pattern. For example, a first set of tactile output patterns (e.g., "full tap" tactile output patterns) shown in FIG. 5C each have a waveform that includes vibrations having two complete cycles (e.g., vibrations that start and end at a neutral position and cross the neutral position three times). A second set of tactile output patterns (e.g., "mini tap" tactile output patterns) shown in FIG. 5D each have a waveform that includes vibrations that include one complete cycle (e.g., vibrations that start and end at a neutral position and cross the neutral position once). A third set of tactile output patterns (e.g., "micro tap" tactile output patterns) shown in FIG. 5E each have a waveform that includes vibrations that include one-half of a complete cycle (e.g., vibrations that start and end at a neutral position and do not cross the neutral position). The waveform of the tactile output pattern also includes a start buffer and an end buffer representing the gradual acceleration and deceleration of the movable mass at the beginning and end of the tactile output. The example waveforms shown in Figures 5C-5H include Xmin and Xmax values representing the maximum and minimum limits of the movement of the movable mass. Larger electronic devices with larger movable masses may have larger or smaller minimum and maximum limits of the movement of the mass. Although the examples shown in Figures 5C-5H describe the movement of the mass in one dimension, similar principles would apply to the movement of the movable mass in two or three dimensions.
[0178] As shown in Figures 5C-5E, each tactile output pattern also has a corresponding characteristic frequency that affects the tactile "pitch" felt by the user from a tactile output having that characteristic frequency. For continuous tactile outputs, the characteristic frequency represents the number of cycles (e.g., cycles per second) completed by the moving mass of the tactile output generator in a given period of time. For individual tactile outputs, individual output signals (e.g., having 0.5, 1, or 2 cycles) are generated, and the value of the characteristic frequency specifies how fast the moving mass needs to move to generate a tactile output having that characteristic frequency. As shown in Figures 5C-5H, for each type of tactile output (defined by a respective waveform, e.g., full tap, mini tap, or micro tap), a higher frequency value corresponds to a faster movement(s) of the moving mass, and therefore generally a shorter time to complete the tactile output (e.g., including the time to complete the number of cycles(s) required for the individual tactile output plus the start and end 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 FIG. 5C). In addition, for a given frequency, a tactile output with more cycles in its waveform at each frequency takes longer to complete than a tactile output with fewer cycles in its waveform at the same respective frequency. For example, a full tap at 150 Hz takes longer to complete than a mini-tap at 150 Hz (e.g., 19.4 ms vs. 12.8 ms), which takes longer to complete than a micro-tap at 150 Hz (e.g., 12.8 ms vs. 9.4 ms). However, tactile output patterns of different frequencies may not hold true (e.g., a tactile output with more cycles but a higher frequency may take less time to complete than a tactile output with fewer cycles but a lower frequency, and vice versa). For example, at 300Hz, a full tap takes just as long as a mini tap (eg, 9.9ms).
[0179] As shown in FIGS. 5C-5E, the tactile output pattern also has a characteristic amplitude, which affects the amount of energy contained within the tactile signal, or the tactile "intensity" that a user may feel due to a tactile output having that characteristic amplitude. In some embodiments, the characteristic amplitude of the tactile output pattern refers to an absolute or normalized value that represents the maximum displacement of the moving mass from a neutral position when generating a tactile output. In some embodiments, the characteristic amplitude of the tactile output pattern is adjustable, for example, by a gain factor (e.g., a value between 0 and 1) that is fixed or dynamically determined according to various conditions (e.g., customized based on the context and behavior of the user interface) and / or a pre-set metric (e.g., an input-based metric and / or a user interface-based metric). In some embodiments, the input-based metric (e.g., an intensity change metric or an input velocity metric) evaluates a characteristic of the input during input that triggers the generation of the tactile output (e.g., the rate of change of the characteristic intensity of the contact in a press input, or the rate of movement of the contact across the touch-sensitive surface). In some embodiments, a user interface based metric (e.g., a boundary crossing speed metric) indicates a characteristic of a user interface element during a change in the user interface that triggers generation of a tactile output (e.g., the speed of an element's movement across a hidden or visible boundary in the user interface). 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, and one of the above waveforms may be further modulated by an envelope parameter multiplication that varies over time (e.g., from 0 to 1), gradually adjusting the amplitude of a portion of the tactile output over time while the tactile output is being generated.
[0180] 5C-5E depict sample tactile output patterns with particular frequencies, amplitudes, and waveforms for illustrative purposes, but tactile output patterns with other frequencies, amplitudes, and waveforms may be used for similar purposes. For example, waveforms having 0.5 to 4 cycles may be used. Other frequencies in the range of 60 Hz to 400 Hz may also be used. Table 1 below provides examples of tactile output / haptic feedback behaviors and configurations and their use with respect to user interfaces for managing content-based tactile output as illustrated and described herein. [Table 1]
[0181] 6A-6AF, in FIG. 6A, electronic device 600 displays on display 602 a training application user interface 608 that includes a plurality of platters (e.g., predefined units of a user interface that are visually distinct and selectable user interface objects, items, or elements that are separate in function and / or purpose from other platters in the user interface and that are visually distinct and / or distinguishable from other platters and other user interface objects, items, or elements in the user interface), including platter 608A and platter 608B. While displaying user interface 608 showing platters 608A and 608B, electronic device 600 detects a rotational input 601 (e.g., in a clockwise direction) via input element 604.
[0182] In Figure 6B, in response to detecting the rotational input 601 on the input element 604, the electronic device 600 scrolls (e.g., downwardly in accordance with the direction of the rotational input, which is a clockwise direction) multiple platters of the user interface 608, including platters 608A and 608B. In Figure 6B, while scrolling multiple platters of the user interface 608 in response to detecting the rotational input 601, the electronic device 600 continues to detect the rotational input 601 via the input element 604.
[0183] While the electronic device 600 continues to detect the rotational input 601 on the input element 604, it continues to scroll the multiple platters, including platters 608A and 608B, of the user interface 608. In FIG. 6C, as the multiple platters are scrolled, the platter 608A slides out of the edge (e.g., top edge) of the display while the platter 608B is moved into the focal region (e.g., center region, intermediate region) of the display. In some embodiments, a user interface item or element, such as a platter, is considered to have "reached" a focal region when the focus of the user interface item or element is moved into the focal region. In some embodiments, a user interface item or element, such as a platter, is considered to have "reached" a focal region when an edge (e.g., top edge or bottom edge) of the user interface item / element is moved into the focal region. In some embodiments, upon reaching the focal region, the user interface item or element "snaps" into the focal region.
[0184] In FIG. 6C, the platter 608B is moved and "snapped" towards the focal area of the display. Once the platter 608B has "snapped" to the focal area of the display, the electronic device 600 generates a tactile output sequence 610 (e.g., a "primary" tactile output as described in Table 1). As described in more detail below, the type of tactile output generated is based on the type of user interface item or element currently being moved, navigated, and / or manipulated on the display. In some embodiments, the electronic device 600 also generates, via one or more tactile output generators, an audio output sequence (e.g., having a first type of audio pattern) associated with the tactile output sequence 610.
[0185] While electronic device 600 continues to detect rotational input 601 on input element 604, it continues to scroll through the platters, including platter 608B, of user interface 608. In Figure 6D, as the platters are scrolled, platter 608B begins to slide off the edge (e.g., the top edge) of the display while platter 608C is moved onto the display from the opposite edge (e.g., the bottom edge) of the display.
[0186] While electronic device 600 continues to detect rotational input 601 on input element 604, it continues to scroll through the platters, including platter 608C, of user interface 608. In Figure 6E, as the platters are scrolled, platter 608B slides off the edge (e.g., top edge) of the display while platter 608C is moved into a focal region (e.g., center, intermediate region) of the display.
[0187] 6E, the platter 608C is moved and "snapped" towards the focal area of the display. Once the platter 608C has "snapped" to the focal area of the display, the electronic device 600 again generates a tactile output sequence 610 (e.g., a "primary" tactile output as described in more detail in Table 1 above). In some embodiments, the electronic device 600 also generates an audio output sequence (e.g., having a first type of audio pattern) associated with the tactile output sequence 610.
[0188] In FIG. 6F , electronic device 600 receives (e.g., via the device's wireless communication radio) a message associated with a messaging application (e.g., an email of an email application, a text messaging application, a chat message, or a text message of a chat application). In response to receiving the message, electronic device 600 displays a notification 612 on a display indicating that a message has been received. Additionally, electronic device 600 generates a notification tactile output 614 indicating that a new message has been received. In some embodiments, notification tactile output 614 is generated via one or more tactile output generators that are different from the one or more tactile output generators that generate tactile output sequence 610. In some embodiments, notification tactile output 614 and tactile output sequence 610 are generated by the same one or more tactile output generators.
[0189] In FIG. 6G, after displaying a notification 612 on display 602 corresponding to a received message (e.g., an email message), electronic device 600 detects a user selection 603 of notification 612 (e.g., via the touch-sensitive surface of display 602).
[0190] In Figure 6H, in response to detecting user selection 603 of notification 612, electronic device 600 displays on display 602 a user interface 616 of an email application corresponding to the received message and text 618 of the received message (e.g., the continuous text content of the received message). As shown in Figure 6H, text 618 of the received message includes continuous text that cannot be shown simultaneously in its entirety on the display and therefore must be scrolled for the user to view the remainder of the message's content.
[0191] 6H, while displaying text 618 of a received message within a user interface 616 of an email application, electronic device 600 detects a rotational input 605 (e.g., in a clockwise direction) via input element 604. In response to and while detecting the rotational input 605 at input element 604, electronic device 600 scrolls the text 618 on the display.
[0192] While scrolling text 618 on the display, electronic device 600 generates a tactile output sequence 620 (e.g., a "secondary" tactile output as described in Table 1) via one or more tactile output generators. In some embodiments, electronic device 600 also generates an audio output sequence (e.g., having a second type of audio pattern) associated with tactile output sequence 620.
[0193] 6I-6J show electronic device 600 continuing to detect rotational input 605 at input element 604 and scrolling (e.g., downward) text 618 of a received message on a display in response to and while detecting rotational input 605. As shown in FIGS. 6I-6J, while detecting rotational input 605 and scrolling text 618, electronic device 600 continues to generate tactile output sequence 620.
[0194] In FIG. 6K, in response to and while detecting a rotation input 605 in the input element 604, the text 618 of the received message continues to scroll until the end of the continuous text that constitutes the text 618 is reached. As shown in FIG. 6K, the electronic device 600 displays an affordance 622 (e.g., a reply button) for performing a function associated with the received message within the user interface 616 of the email application below the text 618. In some embodiments, upon displaying (e.g., fully displaying) the affordance 622 on the display, the electronic device 600 generates, via one or more tactile output generators, the tactile output sequence 610, and in some embodiments, generates an audio output sequence associated with the tactile output sequence 610 first described above with reference to FIG. 6E. Alternatively, in some embodiments, the electronic device 600 generates the tactile output sequence 610 when the affordance 622 "snaps" from an edge (e.g., bottom edge) of the display into the display. Alternatively, in some embodiments, the electronic device 600 generates the tactile output sequence 610 when the affordance 622 is moved (e.g., and "snaps") into a focal area of the display (e.g., a central area of the display).
[0195] In FIG. 6L, the electronic device 600 is no longer detecting the rotation input 605, but is still displaying the bottom portion of the text 618 and the affordance 622 of the user interface 616 on the display 602.
[0196] 6M, while displaying a bottom portion of text 618 and affordance 622 of user interface 616, electronic device 600 detects rotation input 607 (e.g., in a clockwise direction) via input element 604. In response to and while continuing to detect rotation input 607, electronic device 600 scrolls user interface 616 (e.g., in a downward direction according to the direction of rotation input 607).
[0197] 6N , while scrolling user interface 616 in response to rotation input 607 on input element 604, electronic device 600 displays affordance 624 (e.g., a delete button) below affordance 622 in user interface 616 for performing another function associated with the received message and that is the same type of user interface element as affordance 622 (e.g., an affordance in an email application). In some embodiments, upon displaying (e.g., fully displaying) affordance 624 on the display, electronic device 600 generates tactile output sequence 610 via one or more tactile output generators, and in some embodiments, generates an audio output sequence associated with tactile output sequence 610. Alternatively, in some embodiments, electronic device 600 generates tactile output sequence 610 when affordance 622 "snaps" from an edge (e.g., bottom edge) of the display into the display. Alternatively, in some embodiments, the electronic device 600 generates the tactile output sequence 610 when the affordance 622 is moved (e.g., and "snaps") into a focal area of the display (e.g., a central area of the display).
[0198] 6O, while continuing to scroll user interface 616 in response to rotation input 607 on input element 604, electronic device 600 displays affordance 626 (e.g., a dismiss button) below affordance 624 in user interface 616 for performing another function associated with the received message and which is the same type of user interface element as affordances 622 and 624 (e.g., an affordance of an email application). Additionally, affordance 626 is a terminal user interface element of user interface 616.
[0199] In some embodiments, upon displaying (e.g., fully displaying) affordance 626 on the display, as shown in FIG. 6O, the electronic device generates, via one or more tactile output generators, a tactile output sequence 630 (e.g., a “marginal” tactile output as described in Table 1). In some embodiments, the electronic device 600 also generates an audio output sequence (e.g., having a third type of audio pattern) associated with tactile output sequence 630.
[0200] Alternatively, similar to affordance 622 and affordance 624, in some embodiments, upon displaying (e.g., fully displaying) affordance 626 on the display, electronic device 600 generates, via one or more tactile output generators, tactile output sequence 610, and in some embodiments generates an audio output sequence associated with tactile output sequence 610. Alternatively, in some embodiments, electronic device 600 generates tactile output sequence 610 when affordance 622 "snaps" from an edge (e.g., a bottom edge) of the display to the display. Alternatively, in some embodiments, electronic device 600 generates tactile output sequence 610 when affordance 622 is moved (e.g., and "snaps") into a focal region of the display (e.g., a central region of the display).
[0201] In Figure 6O, the electronic device 600 continues to detect rotational input 607 at input element 604 even after it has fully displayed the terminal user interface element (e.g., affordance 626) of user interface 616 and generated tactile output sequence 630. As a result of the continued rotational input 607 at input element 604, the user interface 616 is scrolled further beyond the terminal user interface element (e.g., affordance 626) (e.g., user interface 616 is "stretched" beyond its terminal element) such that an empty area is shown beyond affordance 626, as shown in Figure 6P.
[0202] After scrolling past affordance 626, electronic device 600 no longer detects rotational input 607. Figures 6Q-6R show user interface 616 retracting (e.g., "bouncing") to its initial position of Figure 6O before being extended past its terminal user interface element (e.g., affordance 626) in response to no longer detecting rotational input 607. For convenience, the user interface stretching and subsequent bouncing effect shown in Figures 6O-6R is hereafter referred to as a "rubber band" effect. In some embodiments, after reaching the terminal user interface element and generating tactile output sequence 630, electronic device 600 does not generate tactile output during the subsequent rubber band movement of the user interface.
[0203] 6S shows electronic device 600 displaying on display 602 a middle portion of text 618 of a received message in an email application user interface 616. While displaying text 618, electronic device 600 detects a non-rotational input 609 (e.g., a press and hold input) on input element 604.
[0204] 6T, in response to detecting a non-rotational input 609 on the input element 604, the electronic device 600 displays a user interface 628 (e.g., a time user interface, a home use interface, a main user interface) on the display 602 that is different from the user interface 616. Further, the electronic device 600 does not generate a tactile output in response to the non-rotational input 609 on the input element 604.
[0205] 6U-6AF illustrate electronic device 600 navigating within sundial user interface 632 in response to rotational input at input element 604. As shown in FIG 6U, sundial user interface 632 includes a sun path 634 and a sun indicator 636 (e.g., a curved line indicating the sun's position during the day). In FIG 6U, while displaying sundial user interface 632, electronic device 600 detects rotational input 611 (e.g., in a clockwise direction) via input element 604.
[0206] In Figure 6V, while detecting a rotational input 611 on the input element 604, the electronic device 600 moves a sun indicator 636 in a forward direction along a sun path 634 and generates (e.g., via one or more tactile output generators of the device) a tactile output sequence 620 and, in some embodiments, an audio output sequence associated with the tactile output sequence 620. Also, as shown in Figure 6V, while moving the sun indicator 636 on the sun path 634, the electronic device 600 indicates distinct positions 638A-638E on the sun path 634 that correspond to milestone times during the day (e.g., dawn, noon, twilight, sunset, dusk).
[0207] 6W , while continuing to detect rotational input 611 at input element 604, electronic device 600 continues to move sun indicator 636 in a forward direction along sun path 634 until sun indicator 636 is moved to position 638C (e.g., noon). Upon reaching position 638C, electronic device 600 generates (e.g., via one or more tactile output generators of the device) tactile output sequence 610 and, in some embodiments, generates an audio output sequence associated with tactile output sequence 610.
[0208] In Figures 6X-6Y, while continuing to detect rotational input 611 on input element 604, electronic device 600 continues to move sun indicator 636 in a forward direction along sun path 634 between distinct positions 638C and 638D, and while moving sun indicator 636 generates tactile output sequence 620 (e.g., via one or more tactile output generators of the device) and, in some embodiments, generates an audio output sequence associated with tactile output sequence 620.
[0209] 6Z , while continuing to detect rotational input 611 at input element 604, electronic device 600 continues to move sun indicator 636 in a forward direction along sun path 634 until sun indicator 636 is moved to position 638D (e.g., sunset). Upon reaching position 638D, electronic device 600 generates (e.g., via one or more tactile output generators of the device) tactile output sequence 610 and, in some embodiments, generates an audio output sequence associated with tactile output sequence 610.
[0210] 6AA, after reaching position 638D, electronic device 600 detects a rotational input 613 (e.g., in a counterclockwise direction) at input element 604. In response to detecting the rotational input 613, electronic device 600 moves sun indicator 636 in a backward direction along sun path 634 between distinct positions 638C and 638D, generates tactile output sequences 620 (e.g., via one or more tactile output generators of the device) while moving sun indicator 636, and, in some embodiments, generates an audio output sequence associated with tactile output sequence 620.
[0211] 6AB, electronic device 600 detects a rotational input 615 (e.g., in a clockwise direction) at input element 604. In response to detecting the rotational input 615, electronic device 600 causes sun indicator 636 to retract in a forward direction along sun path 634 until sun indicator 636 is again moved to position 638D (e.g., sunset). Upon reaching position 638D, electronic device 600 generates tactile output sequence 610 via one or more tactile output generators, and in some embodiments, generates an audio output sequence associated with tactile output sequence 610.
[0212] In FIG. 6AC, while continuing to detect rotational input 615 on input element 604, electronic device 600 continues to move sun indicator 636 in a forward direction along sun path 634 between distinct positions 638D and 638E, and while moving sun indicator 636 generates tactile output sequence 620 via one or more tactile output generators, and in some embodiments generates an audio output sequence associated with tactile output sequence 620.
[0213] 6AD, while continuing to detect rotational input 615 on input element 604, electronic device 600 continues to move sun indicator 636 in a forward direction along sun path 634 until sun indicator 636 is moved to position 638E (e.g., dusk). Upon reaching position 638E, electronic device 600 generates tactile output sequence 610 via one or more tactile output generators, and in some embodiments, generates an audio output sequence associated with tactile output sequence 610.
[0214] In FIG. 6AE, while continuing to detect rotational input 615 on input element 604, electronic device 600 continues to move sun indicator 636 in a forward direction along sun path 634 (e.g., past discrete position 638E) and, while moving sun indicator 636, generates tactile output sequence 620 via one or more tactile output generators and, in some embodiments, generates an audio output sequence associated with tactile output sequence 620.
[0215] 6AF, while continuing to detect rotational input 615 on input element 604, electronic device 600 continues to move sun indicator 636 in a forward direction along sun path 634 until sun indicator 636 is moved to an end position of sun path 634 (e.g., midnight). Upon reaching an end position of sun path 634, electronic device 600 generates tactile output sequence 610 via one or more tactile output generators, and in some embodiments, generates an audio output sequence associated with tactile output sequence 610.
[0216] 7A-7D are flow diagrams illustrating a method for managing a user interface associated with a content-based tactile output, according to some embodiments. Method 700 is performed in a device (e.g., 100, 300, 500, 600) having a display (e.g., display 602), an input element (e.g., 604), and one or more tactile output generators (e.g., one or more of the tactile output generators of the electronic devices described above with reference to FIGS. 6A-6AF). Some operations of method 700 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0217] As described below, the method 700 provides an intuitive way to manage a user interface associated with a content-based tactile output. The method reduces the cognitive burden on the user in managing and navigating the user interface, thereby creating a more efficient human-machine interface. In the case of battery-operated computing devices, providing a content-based tactile output conserves power and increases the time between battery charges by allowing the user to navigate the user interface faster and more efficiently.
[0218] An electronic device (e.g., 600) displays (702) a user interface (e.g., 608, 616, a user interface including continuous content, such as continuous text in a messaging application, and / or discrete content, such as buttons, affordances, lines, platters, paragraphs, etc.) on a display (e.g., 602). In some embodiments, a platter is a predefined unit of the user interface that is a visually distinct and selectable user interface object, item, or element that is separate in function and / or purpose from other platters in the user interface and that is visually distinct and / or distinguishable from other platters and other user interface objects, items, or elements in the user interface.
[0219] While displaying a user interface (e.g., 608, 616), the electronic device (e.g., 600) detects (704) a first input (e.g., 601, 605, a rotational input at the input element, the rotational input being in a clockwise or counterclockwise direction) via an input element (e.g., 604).
[0220] In response to detecting (706) a first input (e.g., 601, 605), the electronic device (e.g., 600) navigates (e.g., scrolls) (708) within a user interface (e.g., 608, 616). In response to detecting (706) the first input, the electronic device (e.g., 600) generates (710) a tactile output (e.g., 610, 620, a sequence of multiple separate and individual tactile outputs) corresponding to navigating within the user interface via one or more tactile output generators. Generating tactile outputs in response to rotational inputs at the input elements and while navigating within the content allows a user to quickly and easily recognize that content on the user interface is being scrolled and the type of content being displayed and scrolled on the user interface, thereby improving usability of the device and user efficiency. This enhances usability of the device, making the user-device interface more efficient (e.g., by assisting the user in providing appropriate input and reducing errors when the user operates / interacts with the device), and allows the user to use the device more quickly and efficiently, thereby reducing power usage and improving battery life of the device. In response to rotational input, a tactile output is generated.
[0221] A tactile output (e.g., 610, 620, a sequence of multiple separate and individual tactile outputs) corresponding to navigating within a user interface (e.g., 616) includes, pursuant to a determination (712) that a currently displayed portion of the user interface (e.g., 616) (e.g., a currently selected (e.g., and displayed) portion of the user interface, or a currently selected user interface element within the currently displayed user interface, an upper portion or middle portion of the currently selected user interface element) includes a first type of content (e.g., 618, continuous content such as continuous text), the tactile output corresponding to navigating includes (714) a first type of tactile output sequence (e.g., 620, a textured tactile output sequence) including one or more tactile outputs determined based on input metrics (e.g., speed and / or magnitude) of a first input (e.g., regardless of predefined unit movement of content within the user interface). In some embodiments, the first type of tactile output sequence includes a variable tactile output interval determined, for example, by an application corresponding to the displayed content. By generating different types of tactile output sequences depending on the type of content being navigated within the user interface, allowing a user to quickly and easily recognize the nature, functionality, and / or features of the content being navigated while navigating / scrolling through the content; By providing additional control of the device and reducing the number of inputs required to perform actions, enhancing usability of the device and making the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing errors when the user operates / interacts with the device), thereby reducing power usage and improving battery life of the device by allowing the user to use the device more quickly and efficiently.
[0222] In some embodiments, the number of tactile outputs (e.g., rate of output) generated within a first type of tactile output sequence (e.g., generated within a fixed time period 620) corresponds (e.g., proportional) to a rate (e.g., rotational rate) of a first input, the first input being a rotational input at an input element. In some embodiments, as described in more detail below with reference to FIGS. 14A-14H, as the rate (e.g., rotational rate) of the rotational input at an input element increases, the number of tactile outputs within the sequence of tactile outputs increases, and thus tactile outputs are generated at a higher rate of occurrence, and as the rate (e.g., rotational rate) of the rotational input at an input element decreases, the number of tactile outputs within the sequence of tactile outputs decreases (e.g., and thus tactile outputs are generated at a lower rate of occurrence). Generating a tactile output sequence in which the number of tactile outputs corresponds to the rate of the rotational input can provide sensory feedback regarding the nature / characteristics of the user's input at the device, thereby facilitating the user to respond appropriately (e.g., by increasing or decreasing the rate of the rotational input). By providing improved feedback to the user, the device can be made more user-friendly, making the user-device interface more efficient (e.g., by assisting the user in providing appropriate input and reducing errors when the user operates / interacts with the device), thereby reducing power usage and improving the device's battery life by allowing the user to use the device more quickly and efficiently.
[0223] The tactile output (e.g., a sequence of multiple separate and individual tactile outputs) corresponding to navigating within the user interface (e.g., 608) includes, pursuant to a determination that a currently displayed portion of the user interface (e.g., a currently selected (e.g., and displayed) portion of the user interface, or a currently selected user interface element within the currently displayed user interface, an upper portion or middle portion of the currently selected user interface element) includes a second type of content (e.g., individual content such as a button, an affordance, a line, a platter, a paragraph, etc.) that is different from the first type of content (716), the tactile output corresponding to navigating includes a second type of tactile output sequence (e.g., 610, a content-driven tactile output sequence) including one or more tactile outputs determined based on movement of a predefined unit of content within the user interface. In some embodiments, the electronic device (e.g., 600) does not generate a tactile output corresponding to the second type of tactile output sequence if the content being navigated is of the second type. In some embodiments, the default units of content correspond to visually distinct content elements within the content (eg, buttons, affordances, lines, platters, paragraphs).
[0224] In some embodiments, the user interface does not include content that is the second type of content. In some embodiments, the user interface is a notification user interface (e.g., 612) that includes continuous notification text without including individual content items (e.g., buttons, affordances, lines, platters, paragraphs).
[0225] In some embodiments, the user interface (e.g., 608) does not include content that is the first type of content. In some embodiments, the user interface includes individual content items (e.g., buttons, affordances, lines, platters, paragraphs) without including continuous content such as blocks of text or images.
[0226] In some embodiments, a particular type of tactile output corresponds to a particular tactile output pattern. For example, as described with reference to FIGS. 5C-5H and Table 1, a 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. When tactile outputs having different tactile output patterns are generated by a device (e.g., via one or more tactile output generators that move a movable mass to generate the tactile output), the tactile output may cause different tactile sensations when a user holds or touches the device. Although the user's sensation is based on the user's perception of the tactile output, most users are able to distinguish changes in the waveform, frequency, and amplitude of the tactile output generated by the device.
[0227] In some embodiments, a first type of tactile output sequence (e.g., 620, textured tactile output sequence) is different from (e.g., distinguishable from) a second type of tactile output sequence (e.g., 610, content-driven tactile output sequence). In some embodiments, a first type of tactile output sequence is different from a second type of tactile output sequence (e.g., 610) in that a number, amplitude, and / or pattern of one or more tactile outputs of the first type of tactile output sequence is different from a number, amplitude, and / or pattern of one or more tactile outputs of the second type of tactile output. That is, from the perspective of a user of the electronic device (e.g., 600), the sensory sensations the user feels from the first type of tactile output sequence and the second type of tactile output sequence are distinguishable.
[0228] In some embodiments, a second type of tactile output sequence (e.g., 610, content-driven tactile output sequence) is determined (e.g., synchronized, aligned, adapted) based on movement of a predefined unit of content (e.g., a predefined unit that is beginning to appear on a display (e.g., 602), is fully displayed on the display, is moving with a snap action, is beginning to move away from the display, is scrolled fully off the display, or is scrolled to some predefined location on the display such as the center of the display) (e.g., affordance, platter) within the user interface (e.g., 608). A first type of tactile output sequence (e.g., 620, textured tactile output sequence) is determined independently of (e.g., without being synchronized to) movement of content within the user interface.
[0229] In some embodiments, generating (710) a tactile output corresponding to navigating within the user interface (e.g., 616) via one or more tactile output generators includes, pursuant to determining (736) that the user interface is displaying an end portion (e.g., a beginning or end portion, a top or bottom portion, an edge portion, a boundary portion) of a first type of content (e.g., continuous content such as continuous text), the tactile output corresponding to navigating includes a third type of tactile output sequence (e.g., 630) that is different from the first type of tactile output sequence (e.g., 620) to indicate that the content is at an end portion. Providing a different type of tactile output to indicate that the content is at an end portion improves sensory feedback by allowing the user to quickly and easily recognize that the user has reached the end of the content (e.g., without having to attempt to further navigate / scroll the content). Providing improved feedback to the user enhances usability of the device, making the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing errors when the user operates / interacts with the device), thereby reducing power usage and improving battery life of the device by allowing the user to use the device more quickly and efficiently. In some embodiments, generating (710), via one or more tactile output generators, a tactile output corresponding to navigating within the user interface includes, pursuant to determining (738) that the user interface is not displaying an end portion of the first type of content, the tactile output portion corresponding to navigating does not include a third type of tactile output sequence (e.g., although the tactile output portion corresponding to navigating optionally includes the first type of tactile output sequence or the second type of tactile output sequence depending on the type of content and the amount of navigating within the user interface).
[0230] In some embodiments, pursuant to a determination 716 that the user interface includes a second type of content (e.g., individual content such as 608A, 608B, buttons, affordances, lines, platters, paragraphs, etc.) and pursuant to a determination 728 that the predefined units of content are of a first type (e.g., relatively large individual user interface objects), the tactile output has a first amplitude. In some embodiments, pursuant to a determination 716 that the user interface includes a second type of content (e.g., individual content such as buttons, affordances, lines, platters, paragraphs, etc.) and pursuant to a determination 730 that the predefined units of content are of a second type different from the first type (e.g., relatively small individual user interface objects), the tactile output has a second amplitude (e.g., a reduced amplitude) that is less than the first amplitude. In some embodiments, the tactile output corresponding to the second type of predefined units of content is an amplitude-reduced version of the tactile output corresponding to the first type of predefined units of content. The different types of tactile outputs are described in more detail above with reference to FIGS.
[0231] In some embodiments, while navigating within the user interface (e.g., 608, 616, 632), generating (732) a tactile output (e.g., including a second type of tactile output sequence) pursuant to determining that a currently displayed portion of the user interface includes a second type of content (e.g., individual content such as a button, an affordance, a line, a platter, a paragraph, etc.) includes generating a tactile output in response to a movement (e.g., a snapping movement) of a first predefined unit (e.g., 608A, 608B, 622, 624) of the content that is aligned on the display (e.g., 602) (e.g., a first predefined unit that snaps to an area of the display, such as a focal area, a central area, or a primary viewing area of the display). Generating a tactile output in response to moving a first default unit of content into an aligned position on the display improves sensory feedback by allowing a user to quickly and easily recognize that the default unit of content is now the currently selected content, so the user can continue to use the feature / functionality associated with the default unit of content. Providing improved feedback to the user enhances usability of the device, making the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing errors when the user operates / interacts with the device), and allows the user to use the device more quickly and efficiently, thereby reducing power usage and improving the device's battery life.
[0232] In some embodiments, while navigating within the user interface (e.g., 608, 616, 632), generating (734) a tactile output (e.g., including a second type of tactile output sequence) pursuant to determining that a currently displayed portion of the user interface includes a second type of content (e.g., individual content such as a button, an affordance, a line, a platter, a paragraph, etc.) includes generating a tactile output in response to a movement (e.g., a snapping movement) of a first predefined unit (e.g., 608A, 608B, 622, 624) of the content from an alignment position on the display (e.g., 602) (e.g., the first predefined unit snaps out of an area of the display, such as a focal area, a central area, or a primary viewing area of the display).
[0233] In some embodiments, the electronic device (e.g., 600) displays (746) on the display (e.g., after detecting the first input) a second user interface (e.g., 612, non-scrollable user interface, non-modifiable user interface, non-navigable user interface, notification) that is different from the user interface (e.g., 608, 616, 632, scrollable user interface, modifiable user interface, navigable user interface). In some embodiments, while displaying the second user interface, the electronic device detects (748) a second input via the input element (e.g., a rotation input that is a clockwise or counterclockwise rotation input on the input element). In some embodiments, in response to detecting (750) the second input, the electronic device ceases generating (752) a tactile output via one or more tactile output generators pursuant to a determination that the second input does not result in navigating the second user interface (e.g., because the second user interface is not scrollable). Thus, in some embodiments, when an input at an input element (e.g., a rotational input) causes a change and / or modification of the displayed user interface, the electronic device does not generate a tactile output in response to the input, thereby allowing the user to quickly and easily recognize that the input has caused a change and / or modification of the displayed user interface while providing the input on the device, which in turn enhances usability of the device and makes the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing errors when the user operates / interacts with the device), and allows the user to use the device more quickly and efficiently, thereby reducing power usage and improving the battery life of the device.
[0234] In some embodiments, in response to detecting (750) the second input, the electronic device generates (754) a tactile output via one or more tactile output generators in accordance with a determination that the second input causes navigating the second user interface (e.g., because the second user interface is scrollable). In some embodiments, if navigating the second user interface includes (e.g., includes only) navigating continuous content (e.g., continuous text), the generated tactile output is a first type of tactile output / tactile output sequence (e.g., a textured tactile output sequence). In some embodiments, if navigating the second definite interface includes (e.g., includes only) navigating discrete content (e.g., buttons, affordances, lines, platters, paragraphs), the generated tactile output is a second type of tactile output / tactile output sequence that is different from the first type of tactile output / tactile output sequence (e.g., a content-driven tactile output sequence).
[0235] In some embodiments, the second user interface (eg, 612) corresponds to a notification (eg, notification of an incoming electronic communication, an alert), where the notification replaces the display of the user interface (eg, 608).
[0236] In some embodiments, while displaying a user interface (e.g., 608, 616), the electronic device (e.g., 600) detects (720) a second input (e.g., a touch-based navigating gesture or scrolling gesture on the display (e.g., 602)) via a second input element (e.g., a touch-sensitive surface of a display of the electronic device) that is different from the input element (e.g., 604). In some embodiments, in response to detecting (722) the second input, the electronic device navigates (724) within the user interface (e.g., scrolls within the user interface). In some embodiments, in response to detecting (722) the second input, the electronic device ceases generating (726) tactile outputs corresponding to navigating within the user interface via one or more tactile output generators.
[0237] In some embodiments, in response to detecting (706) a first input (e.g., 601, 605), the electronic device (e.g., 600) generates (740) (e.g., via one or more tactile output generators and / or one or more speakers of or connected to the electronic device) an audio output associated with a tactile output corresponding to navigating within the user interface (e.g., 608, 616, 632). In some embodiments, in response to determining that a currently displayed portion of the user interface (e.g., 616) includes a first type of content (e.g., continuous content), the audio output includes (742) an audio output sequence associated with (e.g., based on) the tactile output sequence 610. In some embodiments, in response to determining (744) that a currently displayed portion of the user interface (e.g., 608) includes a second type of content (e.g., discrete content), the audio output includes a second type of audio output sequence associated with (e.g., based on) the second type of tactile output sequence. Providing an audio output associated with a tactile output improves feedback by providing another means for the user to recognize that content is being scrolled and the type of content being scrolled within the user interface. Providing improved feedback to the user enhances usability of the device making the user-device interface more efficient (e.g., by assisting the user in providing appropriate input and reducing errors when the user operates / interacts with the device) and allows the user to use the device more quickly and efficiently, thereby reducing power usage and improving the battery life of the device.
[0238] In some embodiments, pursuant to a determination (7526) that an event triggering a notification (e.g., 612, activating an alert, receiving an electronic communication such as a text or email message) is detected while not detecting input via an input element (e.g., 604), the electronic device (e.g., 600) generates a tactile output (e.g., 614) corresponding to the notification and, optionally, displays the notification on a display. In some embodiments, pursuant to a determination that an event triggering a notification (e.g., activating an alert, receiving an electronic communication such as a text or email message) is detected while detecting input via a first input element, the electronic device ceases generating a tactile output corresponding to the notification and, optionally, ceases displaying the notification on a display. In some embodiments, the tactile output corresponding to the notification is suppressed. In some embodiments, the tactile output corresponding to the notification is delayed until input via the first input element stops being detected. In some embodiments, the electronic device displays the notification upon detecting that the first input is no longer being detected.
[0239] In some embodiments, pursuant to a determination that an event triggering a notification (e.g., 612, activating an alert, receiving an electronic communication such as a text or email message) is detected while detecting the first input (e.g., 601, 605), the electronic device (e.g., 600) ceases generating (756) a tactile output (e.g., 614) corresponding to the notification (e.g., an alert tactile output) until a predetermined criterion (e.g., a predetermined time) is met, and optionally displays the notification on the display for a predetermined time. In some embodiments, responsive to a determination that the predetermined criterion is met (e.g., the predetermined time has elapsed), the electronic device generates (758) a tactile output corresponding to the notification, and optionally displays the notification on the display. In some embodiments, the electronic device displays the notification after the predetermined time has elapsed, even if the first input is still detected. Thus, in some embodiments, the tactile output corresponding to the notification (e.g., an alert tactile output) does not interfere with the tactile output corresponding to navigating within the user interface via the first input.
[0240] It should be noted that the details of the process (e.g., FIGS. 7A-7D) described above with respect to method 700 are also applicable in a similar manner to the methods described below. For example, method 900 optionally includes one or more of the characteristics of the various methods described above with reference to method 700. For example, as described in method 900, different types of tactile output sequences are generated during scrolling of the content and upon the end of the content. In another example, method 1100 optionally includes one or more of the characteristics of the various methods described above with reference to method 700. For example, as described in method 1100, a tactile output sequence is generated when adjusting via a rotation input on an input element as opposed to a touch input on a display. In another example, method 1300 optionally includes one or more of the characteristics of the various methods described above with reference to method 700. For example, as described in method 1300, one or more different types of tactile output sequences are provided while adjusting a time setting via a rotation input on an input element. In another example, method 1500 optionally includes one or more of the characteristics of the various methods described above with reference to method 700. For example, as described in method 1500, the magnitude / amplitude and / or number of individual tactile outputs in a generated tactile output sequence vary in response to changes in the rotational speed of a rotational input at an input element. For the sake of brevity, these details will not be repeated below.
[0241] 8A-8T show example user interfaces associated with end-of-content tactile output according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in FIGS. 9A-9B.
[0242] Figure 8A illustrates an electronic device 600 as described above with reference to Figures 6A-6AF. In Figure 8A, electronic device 600 displays text 804 of a received message (e.g., including the continuous text of the received message) in a user interface 802 of a messaging application (e.g., an email application, a text message application, a chat application) on a display 602. Text 804 is shown in a user interface item 806 of user interface 802, which is the terminal user interface element (e.g., the first user interface element) of user interface 802 and is displayed in its initial position with the start of text 804 shown on the display.
[0243] In FIG. 8A, while displaying a user interface item 806 in its initial position within user interface 802, electronic device 600 detects a rotation input 801 (e.g., in a clockwise direction) via input element 604. In response to detecting the rotation input 801, electronic device 600 scrolls text 804 down to reveal a portion of text 804 that was not visible on the display in FIG. 8A. As shown in FIG. 8B, while scrolling text 804 (e.g., including continuous text), electronic device 600 generates a tactile output sequence 620 (e.g., a "secondary" tactile output sequence as described in Table 1). In some embodiments, electronic device 600 also generates an audio output sequence (e.g., having a second type of audio pattern) associated with tactile output sequence 620 via one or more tactile output generators.
[0244] In Figure 8B, after scrolling text 804 downward, electronic device 600 detects a rotation input 803 (e.g., in a counterclockwise direction) via input element 604. In response to detecting the rotation input 803, electronic device 600 scrolls text 804 back upward toward the initial position of text 804 on the display. As shown in Figure 8C, while scrolling text 804 (e.g., comprising continuous text), electronic device 600 generates a tactile output sequence 620, and in some embodiments, an audio output sequence associated with tactile output sequence 620.
[0245] 8C, the electronic device 600 continues to detect a rotation input 803 in the input element 604. In response to continuing to detect the rotation input 803, the electronic device 600 continues to scroll the text 804 upward until the user interface item 806 returns to its initial position on the display and the top of the user interface 802 is reached at the top edge of the display.
[0246] 8D, when the user interface 802 reaches its top edge on the display, the electronic device generates a tactile output sequence 630 (e.g., a "limit" tactile output sequence as described in Table 1). In some embodiments, the electronic device 600 also generates an audio output sequence (e.g., having a third type of audio pattern) associated with the tactile output sequence 630 via one or more tactile output generators.
[0247] In FIG. 8D, the electronic device 600 continues to detect a rotational input 803 on the input element 604 even after the user interface 802 has reached the top edge on the display.
[0248] 8E-8F show that user interface item 806, including text 804, has been scrolled beyond its initial position in FIG. 8A, with a "rubber band" effect as first described above with reference to FIGS. 6P-6R. In FIGS. 8E-8F, electronic device 600 continues to detect rotational input 803 at input element 604. As a result of the continued rotational input 803 at input element 604, user interface 802 is scrolled further beyond the terminal user interface item (e.g., user interface item 806) such that an empty area (e.g., an area that is blank or has a different color or texture than the user interface item) beyond user interface item 806 is shown, and when rotational input 803 is no longer detected, user interface item 806 "bounces" back to its initial position in FIG. 8A, with a rubber band effect, as shown in FIG. 8G. During the rubber band effect shown in FIGS. 8E-8F, electronic device 600 does not generate a tactile output (e.g., no audio output). Additionally, the electronic device 600 does not generate the tactile output sequence 630 sequence after the user interface item 806 "bounces" back to its initial position, as shown in FIG. 8G.
[0249] 8H-8K show text 804 being scrolled via touch scroll input (e.g., on the touch-sensitive surface of display 602). In FIG. 8H, while displaying user interface item 806 in its initial position, electronic device 600 detects touch scroll gesture 805 (e.g., in an upward direction) on text 804 (e.g., via the touch-sensitive surface of display 602).
[0250] In Figure 8I, in response to detecting touch scroll gesture 805, electronic device 600 scrolls text 804 (e.g., in a downward direction) such that portions of text 804 that were not visible in Figure 8H become visible in Figure 8I. In Figure 8J, after scrolling text 804 in response to detecting touch scroll gesture 805, electronic device 600 detects (e.g., via the touch-sensitive surface of display 602) another touch scroll gesture 807 (e.g., in an upward direction). As shown in Figures 8G-8J, electronic device 600 does not generate a tactile output (e.g., tactile output sequence 620) when scrolling text 804 in response to a touch scroll input (as opposed to, e.g., a rotation input on input element 604).
[0251] 8K, in response to detecting touch scroll gesture 807, electronic device 600 further scrolls text 804 (e.g., in a downward direction) such that a bottom edge of text 804 is revealed and an affordance 808 (e.g., a reply button) below user interface item 806 is shown in the display. As shown in FIG. 8K, electronic device 600 does not generate a tactile output (e.g., tactile output sequence 610) when displaying affordance 808 in response to touch scroll input (as opposed to, e.g., a rotate input at input element 604).
[0252] In some embodiments, affordance 808 is the terminal user interface item (e.g., the last, bottom-most user interface item) of user interface 802. In some embodiments, even if affordance 808 is the terminal user interface item of user interface 802, electronic device 600 does not generate a tactile output (e.g., tactile output sequence 630) when the display reaches the end of user interface 802.
[0253] 8L-8P show multiple platters of a training application (e.g., the training application first described above with reference to FIGS. 6A-6E) being scrolled by a rotational input 809 in input element 604. As discussed above, the platters are separate user interface elements / items (as opposed to, e.g., the continuous text of text 804, which is a continuous user interface element / item).
[0254] In FIG. 8L, while displaying a training application user interface 810 on the display 602, the user interface 810 includes multiple platters, including platter 812, and the electronic device 600 detects a rotational input 809 via the input element 604.
[0255] In response to and while continuing to detect rotational input 809 on input element 604, electronic device 600 scrolls multiple platters of user interface 810. In Figure 8M, platter 812 is progressively moved out of the top edge of the display, and platter 814 (e.g., disposed below platter 812) is progressively moved up onto the display. Platter 814 is the terminal user interface item of user interface 810 (e.g., the last, bottom-most platter).
[0256] In Figure 8N, the platter 814 is moved fully onto the display as a result of a rotational input 809 at the input element 604. As shown in Figure 8N, in response to the platter 814 being moved fully onto the bottom of the display, the electronic device 600 generates a tactile output sequence 630 and, in some embodiments, an audio output sequence associated with the tactile output sequence 630.
[0257] 8O-8P, electronic device 600 continues to detect rotational input 809 on input element 604. As a result of the continued rotational input 809 on input element 604, user interface 810 is scrolled further beyond the terminal user interface item (e.g., platter 814) such that empty area beyond user interface item 814 (e.g., the "stretched" portion of the rubber band effect) is shown.
[0258] In FIG. 8Q, electronic device 600 no longer detects rotational input 809 on input element 604. Upon no longer detecting rotational input 809 on input element 604, platter 814 "bounces" back to its initial position in FIG. 8N (e.g., as the "bounce" portion of a rubber band effect). During the rubber band effect shown in FIGS. 8O-Q, electronic device 600 does not generate tactile output (e.g., no audio output). Additionally, electronic device 600 does not generate tactile output sequence 630 after platter 814 "bounces" back to its initial position shown in FIG. 8Q. The absence of tactile output during scroll input before the end of the content generating tactile output is reached and after the end of the content is reached during scroll input provides an indication to the user that the end of the content has been reached.
[0259] 8R-8T illustrate a rubber band effect of platter 814 in response to a touch scroll gesture 811 (e.g., on the touch-sensitive surface of display 602) in contrast to a rotation input 809 on input element 604. Prior to the rubber band effect, in contrast to scrolling in response to a rotation input (e.g., rotation input 809) on input element 604, electronic device 600 does not generate a tactile output (e.g., does not generate tactile output sequence 630) in response to a touch scroll gesture when it first reaches an edge of user interface 810 (e.g., platter 814 is moved completely onto the bottom of the display, as shown in FIG. 8N). Additionally, during the rubber band effect illustrated in FIGS. 8R-8T, electronic device 600 does not generate a tactile output (e.g., no audio output).
[0260] 9A-9B are flow diagrams illustrating a method for managing a user interface associated with an end-of-content tactile output according to some embodiments. The method 900 is performed on a device (e.g., 100, 300, 500, 600) having a display; an input element (e.g., a rotatable input device rotatable relative to a housing of the device; a rotatable input device / mechanism including a fixed socket and a rotatable component (e.g., a crown) attached or fixed to a shaft, where the rotatable component and shaft rotate together within the fixed socket; a rotatable input device / mechanism including a rotatable component (e.g., a crown) that rotates relative to a fixed component (e.g., a fixed shaft); a rotatable input device / mechanism that rotates in response to a rotational input on an axis such that the direction of rotation is parallel to a display of the electronic device; a rotatable input device / mechanism that can detect a rotational input without the device itself being physically rotated (e.g., via a touch detection mechanism); a rotatable and depressible input device; a rotatable crown); and one or more tactile output generators (e.g., disposed within the input element and / or disposed within a main housing of the electronic device). Some operations of method 900 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0261] As described below, the method 900 provides an intuitive way to manage a user interface associated with a content-based tactile output. The method reduces the cognitive burden on the user in managing and navigating the user interface, thereby creating a more efficient human-machine interface. In the case of battery-operated computing devices, providing a content-based tactile output conserves power and increases the time between battery charges by allowing the user to navigate the user interface faster and more efficiently.
[0262] An electronic device (e.g., 600) displays (902) a first portion (e.g., a non-terminal portion) of content (e.g., continuous content such as continuous text in a messaging application (e.g., an email application or a chat application), individual content such as a button, an affordance, a line, a platter, a paragraph, etc.) on a display (e.g., 602).
[0263] While displaying a first portion of the content (e.g., 804), the electronic device (e.g., 600) detects (904) a first input (e.g., 801, 803, a rotation input at the input element, a rotation input in a particular direction such as a clockwise or counterclockwise direction) via the input element (e.g., 604). Detecting the rotation input via the input element (e.g., a rotatable input element) improves the usability and user efficiency of the device by allowing the user to quickly, easily, and intuitively navigate / scroll within the displayed content. This in turn increases the usability of the device and makes the user-device interface more efficient (e.g., by helping the user provide the appropriate input and reducing errors when the user operates / interacts with the device), thereby reducing power usage and improving the battery life of the device by allowing the user to use the device more quickly and efficiently.
[0264] In response to detecting (906) a first input (e.g., 801, 803), the electronic device (e.g., 600) navigates (908) within the content (e.g., 804) to display a second portion of the content (e.g., a different portion of the content that was not previously displayed). In response to detecting (906) the first input (e.g., 801, 803), the electronic device generates (910) a first type of tactile output sequence (e.g., 620) including one or more tactile outputs (e.g., a textured tactile output sequence based on an input metric of the input) via one or more tactile output generators.
[0265] While displaying the second portion of the content, the electronic device (e.g., 600) detects (912) a second input (e.g., a rotational input at the input element, a rotational input in a particular direction, such as a clockwise or counterclockwise direction) via the input element (e.g., 604).
[0266] In response to detecting the second input, and following a determination that the second portion of the content is an end portion of the content (e.g., a beginning or end portion, a boundary portion, an edge portion) (914), the electronic device (e.g., 600) displays (916) a visual indication that the content (e.g., 804) is an end portion of the content (e.g., a shifting animation, a bouncing animation (e.g., prior to a bouncing animation), a rubber band effect animation of the content). In some embodiments, the end portion of the content is a beginning portion of the content (e.g., a top portion, a top edge portion) or an end portion of the content (e.g., a bottom portion, a bottom edge portion). Displaying a visual indication that the content is an end portion of the content improves visual feedback by providing an intuitive visual effect that allows a user to quickly and easily recognize that the end of the content has been reached while the user interface may still be moving. By providing improved visual feedback to the user, the device can be more easily operated, making the user-device interface more efficient (e.g., by assisting the user in providing appropriate input and reducing errors when the user operates / interacts with the device), and allowing the user to use the device more quickly and efficiently, thereby reducing power usage and improving the device's battery life.
[0267] In some embodiments, displaying a visual indication that the content is an end of content (e.g., a rubber band effect) includes displaying a visual effect that changes as the input (e.g., 803) continues, such as displaying an area (e.g., background) beyond the end of the visual content as input continues to be detected after the end of the content is reached, displaying a graphical element that increases or decreases in size, opacity, or brightness, or continuing to move the content in the respective direction on the display (e.g., 602) but decreasing the amount that each unit of input movement moves the content in the respective direction as the input continues. Displaying a visual effect that changes as the input continues, such as displaying an area (e.g., background) beyond the end of the visual content, improves visual feedback by providing an intuitive visual effect that allows the user to quickly and easily recognize that the end of the content has been reached while the user interface may still be navigated. By providing improved visual feedback to the user, the device can be more easily operated, making the user-device interface more efficient (e.g., by assisting the user in providing appropriate input and reducing errors when the user operates / interacts with the device), and allowing the user to use the device more quickly and efficiently, thereby reducing power usage and improving the device's battery life.
[0268] In some embodiments, displaying the visual indication that the content is an end portion of the content includes shifting the second portion of the content on the display (e.g., moving the portion of the content a particular distance in a particular direction on the display (e.g., 602), bouncing the portion of the content away from its initial position on the display). In some embodiments, after shifting the second portion of the content, the content is then returned to its initial position on the display again. Displaying the shifting of the content and then the subsequent bouncing of the content improves visual feedback by providing an intuitive visual effect that allows the user to quickly and easily recognize that the end of the content has been reached while the user interface may still be navigated. Providing the user with improved visual feedback enhances the usability of the device making the user-device interface more efficient, thereby reducing power usage and improving the battery life of the device by allowing the user to use the device more quickly and efficiently (e.g., by assisting the user in providing appropriate inputs and reducing errors when the user operates / interacts with the device).
[0269] In some embodiments, shifting the second portion of the content on the display (e.g., 602) includes moving the second portion of the content at least partially out of an edge of the display. In some embodiments, after moving / shifting the second portion of the content at least partially out of an edge of the display, the second portion of the content is then retracted / shifted back on the display and the content is returned to its initial position.
[0270] In some embodiments, the visual characteristics of the visual indication that the content is at the end of the content (e.g., the speed of movement of the shifting indication, the color, brightness, frequency of the repeating visual effect) are based on input metrics (e.g., speed and / or magnitude) of the second input.
[0271] In response to detecting the second input and following a determination that the second portion of the content is a terminal portion of the content (e.g., a beginning or end portion, a boundary portion, an edge portion) (914), the electronic device (e.g., 600) ceases generating the first type of tactile output sequence (e.g., 620) via one or more tactile output generators, or optionally ceases generating all tactile output (918). In some embodiments, a particular type of tactile output corresponds to a particular tactile output pattern. For example, as described in more detail above with reference to Figures 5C-5H and Table 1, a 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. 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 output may cause different tactile sensations when a user holds or touches the device. The user's sensation is based on the user's perception of the tactile output, however, most users are able to distinguish changes in waveform, frequency, and amplitude of the tactile output produced by the device.
[0272] In some embodiments, in response to detecting a second input (e.g., 803, a rotational input on an input element (e.g., 604), a rotational input in a particular direction, such as a clockwise or counterclockwise direction), and following a determination (914) that the second portion of the content is a terminal portion of the content (e.g., a beginning or end portion, a boundary portion, an edge portion), the electronic device (e.g., 600) generates (934) via one or more tactile output generators a third type of tactile output sequence (e.g., a reduced amplitude version of the first type of tactile output sequence that is different from the first type of tactile output sequence). Generating a tactile output sequence upon initially reaching the end of the content improves sensory feedback and user efficiency by allowing a user to quickly and easily recognize that the end of the content has been reached while providing a rotational input on the input element. By providing improved feedback to the user, the device can be made more user-friendly, making the user-device interface more efficient (e.g., by assisting the user in providing appropriate input and reducing errors when the user operates / interacts with the device), thereby reducing power usage and improving the device's battery life by allowing the user to use the device more quickly and efficiently.
[0273] In some embodiments, after detecting the second input (e.g., 803) and while displaying the second portion of the content, the electronic device (e.g., 600) detects (936) a third input (e.g., a rotational input at the input element) via the input element, where the second input (e.g., the rotational input) is in the first direction (e.g., a clockwise or counterclockwise direction) and the third input is in a direction opposite to the direction of the second input. In some embodiments, in response to detecting the third input, the electronic device ceases (938) generating the third type of tactile output sequence via the one or more tactile output generators (e.g., 630 and instead generates the first type of tactile output sequence via the one or more tactile output generators). By ceasing to generate tactile output once the end of the content is reached twice (e.g., after bouncing off from a rubber band effect), the usability and user convenience of the device is improved by ceasing to generate unnecessary feedback, making the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing errors when the user operates / interacts with the device), allowing the user to use the device more quickly and efficiently, reducing power usage and improving the battery life of the device.
[0274] In some embodiments, the third type of tactile output sequence (e.g., 630) corresponds to a first type of tactile output sequence (e.g., having the same type / pattern of tactile output), the first type of tactile output sequence is associated with the first type of audio output sequence, and the third type of tactile output sequence is associated with a second type of audio output sequence that is different (e.g., different type and / or pattern) from the first type of audio output sequence. In some embodiments, similar to the tactile output, a particular type of audio output corresponds to a particular type of audio output pattern. For example, the audio output pattern specifies characteristics of the audio output, such as the magnitude / amplitude / volume of the audio output, the shape of the sound waveform of the audio output, the frequency of the audio output, and / or the duration of the audio output. When audio output with different audio output patterns is generated by the device (e.g., via one or more tactile output generators that move a movable mass to generate the audio output, via one or more speakers), the audio output can evoke different audio-related sensations to a user holding or touching the device or in close proximity to the device.
[0275] In some embodiments, after detecting the second input (e.g., 803) and while displaying the second portion of the content, the electronic device (e.g., 600) detects (926) a third input (e.g., a third rotation of the input element) via the input element (e.g., 604). The third input is in an opposite direction to the second input. In some embodiments, in response to detecting (928) the third input, the electronic device navigates (930) back through the content (e.g., navigating in an opposite direction to the navigation caused by the first input) to display the first portion of the content. In some embodiments, in response to detecting (928) the third input, the electronic device generates (932) a first type of tactile output sequence (e.g., a textured tactile output sequence based on the input metrics of the input) via one or more tactile output generators.
[0276] In some embodiments, while displaying the second portion of the content, the electronic device (e.g., 600) detects on the display (e.g., 602, via a touch-sensitive surface of the display) a fourth input (e.g., a scroll input based on a touch on the touch-sensitive surface of the display and not at an input element) (940). In some embodiments, in response to detecting the scroll input and in accordance with a determination that the second portion of the content is an end portion of the content (e.g., a beginning or end portion, a boundary portion, an edge portion) (942), the electronic device displays a visual indication that the content is an end portion of the content (944). In some embodiments, in response to detecting the scroll input and in accordance with a determination that the second portion of the content is an end portion of the content (e.g., a beginning or end portion, a boundary portion, an edge portion) (942), the electronic device ceases generating, via one or more tactile output generators, the first type of tactile output sequence, and optionally ceases all tactile outputs / tactile output sequences associated with navigating within the content (946).
[0277] In some embodiments, in response to detecting the second input (e.g., 803) and in accordance with a determination that the second portion of the content is not a terminal portion of the content (e.g., a beginning or end portion, a boundary portion, an edge portion) (920), the electronic device (e.g., 600) displays (922) a third portion of the content (e.g., navigates within the content to display a portion of the content adjacent / contiguous to the second portion of the content) on the display (e.g., 602). In some embodiments, in response to detecting the second input and in accordance with a determination that the second portion of the content is not a terminal portion of the content (e.g., a beginning or end portion, a boundary portion, an edge portion) (920), the electronic device generates (924) a first type of tactile output sequence (e.g., a textured tactile output sequence based on an input metric of the input) via one or more tactile output generators. Generating different types of tactile outputs for navigating / scrolling within the content and for reaching the end of the content improves feedback by allowing a user to quickly and easily recognize whether the displayed content is being scrolled and can be further scrolled. By providing improved feedback to the user, the device can be made more user-friendly, making the user-device interface more efficient (e.g., by assisting the user in providing appropriate input and reducing errors when the user operates / interacts with the device), thereby reducing power usage and improving the device's battery life by allowing the user to use the device more quickly and efficiently.
[0278] It should be noted that the details of the process (e.g., FIGS. 9A-9B) described above with respect to method 900 are also applicable in an analogous manner to the methods described above and below. For example, method 700 optionally includes one or more of the characteristics of the various methods described above with reference to method 900. For example, one or more tactile output sequences as described in method 700 are provided while scrolling the content in response to a rotation input on the input element and upon reaching the end of the content. In another example, method 1100 optionally includes one or more of the characteristics of the various methods described above with reference to method 900. For example, as in method 900, a tactile output is generated in response to a rotation input on the input element but not in response to a touch input on the display. In another example, method 1300 optionally includes one or more of the characteristics of the various methods described above with reference to method 900. For example, a similar type of tactile output sequence can be generated in a time setting user interface as described in method 1300 when scrolling the content and reaching the end of the content as described in method 900. In another example, method 1500 optionally includes one or more of the characteristics of the various methods described above with reference to method 900. For example, the magnitude / amplitude and / or rate of occurrence of the tactile output, as described in method 1500, may be varied based on changes in the speed of the rotational input as content is scrolled and the end of the content is reached. For the sake of brevity, these details will not be repeated below.
[0279] 10A-10K show example user interfaces associated with moving a user interface in response to different types of inputs according to some embodiments, and are used to illustrate processes described below, including the processes in FIGS.
[0280] 10A-10E show a user interface 1002 of a training application (e.g., the training application first described above with reference to FIGS. 6A-6E) being scrolled on a display 602 by a rotational input 1001 at an input element 604, the user interface 1002 including multiple platters including platter 1004.
[0281] In FIG. 10A, the platter 1004 is labeled “N 0 While the platter 1004 is aligned with the focal point of the display, the electronic device 600 detects a rotational input 1001 (e.g., in a clockwise direction) via the input element 604.
[0282] In FIG. 10B, in response to detecting the rotation input 1001 at the input element 604, and while the rotation input 1001 is maintained at the input element 604 (e.g., but the input element 604 is not further rotated), the electronic device 600 performs the N 1 10. Move the platter 1004 upward past the focal point of the display a first linear distance, as indicated by the N number in FIG.
[0283] 10C, the rotational input 1001 is no longer maintained at the input element 604. Upon detecting that the rotational input 1001 is no longer maintained at the input element 604, the platter 1004 retracts (e.g., "snaps" back) so that it is again aligned back with the focus of the display.
[0284] After receding (e.g., "snapping" back) into focus on the display, the electronic device 600 detects a rotation input 1003 via the input element 604. In FIG. 10D, in response to detecting the rotation input 1003 at the input element 604, and while the rotation input 1003 is maintained at the input element 604 (e.g., but the input element 604 is not further rotated), the electronic device 600 switches the N-axis of FIG. 2 platter 1004 is moved upward past the focal point of the display a second linear distance greater than the first linear distance, as indicated by the number N. Additionally, platter 1006 (e.g., located below platter 1004) is also moved upward a second linear distance above the display.
[0285] In FIG. 10E, the rotational input 1003 is no longer being maintained at the input element 604. Upon detecting that the rotational input 1003 is no longer being maintained at the input element 604, the platter 1004 slides (e.g., partially) off the top edge of the display, and the platter 1006 now moves to the N 0 As indicated by the N number in the tactile output sequence 610, the electronic device 600 aligns (e.g., "snaps") into the focal point of the display. Additionally, the electronic device 600 generates, via one or more tactile output generators, a tactile output sequence 610 when the platter 1006 aligns (e.g., "snaps") into the focal point of the display. In some embodiments, in addition to generating the tactile output sequence 610, the electronic device 600 also generates an audio output sequence associated with the tactile output sequence 610 (e.g., via one or more tactile output generators that generate the tactile output sequence 610).
[0286] 10F-10K show training application user interface 1002 being scrolled on display 602 by a touch scroll gesture (eg, detected via the touch-sensitive surface of display 602).
[0287] In FIG. 10F, platter 1004 is0 10. While the platter 1004 is aligned with the display's focal point, the electronic device 600 detects (e.g., via the touch-sensitive surface of the display 602) a touch scroll gesture 1005 (e.g., in an upward direction), as indicated by the N number in the "N" field.
[0288] In FIG. 10G, in response to detecting the touch scroll gesture 1005 and while the touch gesture 1005 is being maintained (e.g., but not further moved) on the display 602, the electronic device 600 may 2 10D, platter 1004 is moved upward past the focal point of the display a second linear distance, the same linear distance that platter 1004 was moved in FIG 10D. Additionally, platter 1006 is also moved upward a second linear distance on the display.
[0289] 10H, the touch scroll gesture 1005 is no longer maintained on the display 602. Upon detecting that the touch scroll gesture 1005 is no longer maintained, the platter 1004 retracts (e.g., "snaps" back) so that it is again aligned with the focus of the display.
[0290] In FIG. 10I, after receding (e.g., “snapping” back) into focus on the display, the electronic device 600 detects (e.g., via the touch-sensitive surface of the display 602) a touch scroll gesture 1007 (e.g., in an upward direction).
[0291] In FIG. 10J , in response to detecting a touch scroll gesture 1007 on the display 602, and while the touch scroll gesture 1007 is maintained on the display 602 (e.g., the touch scroll gesture has not been further moved and is still detected on the display), the electronic device 600 may select N of FIG. 3 10, platter 1004 is moved upward past the focal point of the display a third linear distance greater than the second linear distance, as indicated by the number N. Additionally, platter 1006 is also moved upward a third linear distance on the display.
[0292] In FIG. 10K, the touch scroll gesture 1007 is no longer maintained on the display 602. Upon detecting that the touch scroll gesture 1007 is no longer maintained, the platter 1004 slides (e.g., partially) off the top edge of the display, and the platter 1006 now moves to the N 0 As indicated by the N number in the tactile output sequence 610, the electronic device 600 may also generate an audio output sequence associated with the tactile output sequence 610 (e.g., via one or more tactile output generators that generate the tactile output sequence 610) when the platter 1006 is aligned (e.g., "snapped") into the focal point of the display. Additionally, the electronic device generates a tactile output sequence 610 via one or more tactile output generators when the platter 1006 is aligned (e.g., "snapped") into the focal point of the display. In some embodiments, in addition to generating the tactile output sequence 610, the electronic device 600 may also generate an audio output sequence associated with the tactile output sequence 610 (e.g., via one or more tactile output generators that generate the tactile output sequence 610).
[0293] 10A-10E, a first type of user interface item / element (e.g., a separate user interface item / element such as a platter) moved a second linear distance via a rotational input on input element 604 will cause the next user interface item / element to be aligned (e.g., "snapped") to the focal point of the display, whereas a first type of user interface item / element moved a second linear distance via a touch input on display 602 will not cause the next user interface item / element to be aligned (e.g., "snapped") to the focal point of the display, as shown in FIGs. 10F-10K. Instead, if a touch input on display 602 is detected (as opposed to a rotational input on input element 604), the user interface item / element needs to be moved at least a third linear distance greater than the second linear distance in order to cause the next user interface item / element to be aligned (e.g., "snapped") to the focal area of the display.
[0294] 11A-11C are flow diagrams illustrating a method of moving a user interface in response to different types of input, according to some embodiments. Method 1100 is performed on a device (e.g., 100, 300, 500, 600) having a touch-sensitive display and a rotatable input element (e.g., a rotatable input device that is rotatable relative to a housing of the device, a rotatable input device / mechanism including a fixed socket and a rotatable component (e.g., a crown) attached or fixed to a shaft, where the rotatable component and shaft rotate together within the fixed socket, a rotatable input device / mechanism including a rotatable component (e.g., a crown) that rotates relative to a fixed component (e.g., a fixed shaft), a rotatable input device / mechanism that rotates in response to a rotational input on an axis such that the direction of rotation is parallel to a display of the electronic device, a rotatable input device / mechanism that can detect a rotational input without the device itself being physically rotated (e.g., via a touch detection mechanism), a rotatable and depressible input device, a rotatable crown). Some operations of the method 1100 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0295] As described below, the method 1100 provides an intuitive way to manage a user interface associated with a content-based tactile output. The method reduces the cognitive burden on the user in managing and navigating the user interface, thereby creating a more efficient human-machine interface. In the case of battery-operated computing devices, providing a content-based tactile output conserves power and increases the time between battery charges by allowing the user to navigate the user interface faster and more efficiently.
[0296] An electronic device (e.g., 600) displays (1102) a user interface (e.g., 1002, a user interface including continuous content, such as continuous text in a messaging application, and / or discrete content, such as buttons, affordances, lines, platters, paragraphs, etc.) on a display (e.g., 602).
[0297] While displaying a user interface (e.g., 1002), the electronic device (e.g., 600) detects (1104) a first portion of an input at the device (e.g., 1001, 1005, a rotational input at a rotatable input element or a touch gesture on a touch-sensitive display). Detecting the rotational input via an input element (e.g., a rotatable input element) improves the usability and user efficiency of the device by allowing a user to quickly, easily, and intuitively navigate / scroll within the displayed content. This in turn increases the usability of the device and makes the user-device interface more efficient (e.g., by helping the user provide appropriate inputs and reducing errors when the user operates / interacts with the device), thereby reducing power usage and improving the battery life of the device by allowing the user to use the device more quickly and efficiently.
[0298] In response to detecting a first portion of the input (e.g., 1001, 1005), the electronic device (e.g., 600) moves a user interface object (e.g., 1004, a unit of user interface content) across a display of the device in accordance with the movement of the input (1106). Moving the user interface object across the display in accordance with the movement of the input provides visual feedback that the rotational input is controlling the movement of the user interface object. Providing improved visual feedback to the user enhances operability of the device making the user-device interface more efficient, thereby further streamlining the user-device interface (e.g., by assisting the user in providing appropriate inputs and reducing errors when the user operates / interacts with the device), allowing the user to use the device more quickly and efficiently, thereby reducing power usage and improving the device's battery life.
[0299] After detecting the first portion of the input, the electronic device (e.g., 600) detects (1108) a second portion of the input (e.g., 1003, 1007) at the device (e.g., the end of the input or a movement of a user interface object (e.g., 1004) beyond a threshold, where the second portion of the input is a continuation of the first portion of the same input).
[0300] In response to detecting (1110) a second portion of the input (e.g., 1003, 1007, end of input, or movement of the user interface object (e.g., 1004) beyond a threshold), in accordance with a determination that the input (e.g., 1007) includes movement of a contact on a touch-sensitive display (e.g., 602) and that the movement moves the user interface object across the display beyond a first threshold (e.g., before the end of the input is detected), the electronic device (e.g., 600) moves (1112) the user interface object (e.g., by snapping) to a respective (e.g., predefined) position on the display. In some embodiments, the movement of the user interface object to the respective position on the display occurs upon detecting the end of the input (e.g., lift-off of the contact). In some embodiments, the movement of the user interface object to the respective position on the display occurs upon detecting movement of the user interface object beyond the first threshold, regardless of whether the input has ended. In some embodiments, moving the user interface object to a respective (e.g., predefined) position on the display includes "snapping" the user interface object to the respective position on the display, and "snapping" the user interface object includes moving and aligning the object to the next alignment point (e.g., the respective position) on the display.
[0301] In response to detecting (1110) a second portion of the input (e.g., 1003, 1007, end of input, or movement of the user interface object (e.g., 1004) beyond a threshold), the electronic device (e.g., 600) stops moving the user interface object to a respective (e.g., predefined) location on the display in response to a determination that the input (e.g., 1007) includes movement of a contact on the touch-sensitive display (e.g., 602) and the movement does not move the user interface object across the display by more than a first threshold (e.g., before the end of the input is detected). Stopping moving the user interface object to a respective location on the display in response to the input provides visual feedback that the input is insufficient to move the user interface object to the respective location. Additionally, it helps prevent a user from inadvertently moving the user interface object to a respective location on the display that is contrary to the user's intention. Improve usability of the device and make the user-device interface more efficient by providing improved visual feedback and additional control options and reducing the number of inputs required to perform actions, thereby reducing power usage and improving the battery life of the device by making the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing errors when the user operates / interacts with the device) and allowing the user to use the device more quickly and efficiently.
[0302] In response to detecting (1110) a second portion of the input (e.g., 1003, 1007, end of input, or movement of the user interface object (e.g., 1004) beyond a threshold), in accordance with a determination that the input (e.g., 1003) includes a rotational input on the rotatable input element (e.g., 604) and that the rotational input moves the user interface object across the display beyond a second threshold that is less than the first threshold (e.g., before the end of the input is detected), the electronic device (e.g., 600) moves (1116) the user interface object (e.g., by snapping) to a respective (e.g., predefined) position on the display (e.g., the object snaps to a respective position on the display even if it does not move by more than the first threshold, as long as it moves beyond the second threshold). In some embodiments, the movement of the user interface object to a respective position on the display occurs upon detecting an end of the input (e.g., an end of a touch on the rotatable input element, or cessation of detecting rotation of the rotatable input element for at least the threshold time). In some embodiments, movement of the user interface object to a respective location on the display occurs upon detecting movement of the user interface object beyond a first threshold, regardless of whether the input has ended.
[0303] In response to detecting (1110) a second portion of the input (e.g., 1003, 1007, end of input, or movement of the user interface object (e.g., 1004) beyond a threshold), the electronic device (e.g., 600) ceases moving the user interface object to a respective (e.g., predefined) position on the display in response to determining that the input (e.g., 1003) includes a rotational input on the rotatable input element (e.g., 604) and that the rotational input does not move the user interface object across the display by more than a second threshold (e.g., before the end of the input is detected). In some embodiments, the second portion of the input includes one or more of: liftoff of contact from a touch-sensitive display, or cessation of detecting touch at the rotatable input element or cessation of detecting rotation of the rotatable input element for more than a threshold time, or detecting a rotation of the rotatable input element that moves the user interface object across the display by more than the second threshold.
[0304] In some embodiments, in response to detecting (1110) a second portion of the input (e.g., 1003, 1007, end of the input, or movement of the user interface object (e.g., 1004) beyond a threshold), in accordance with a determination that the input (e.g., 1007) includes movement of a contact on a touch-sensitive display (e.g., 602) and the movement does not move the user interface object across the display by more than the first threshold, the electronic device (e.g., 600) causes (1132) the user interface object to move back (e.g., by snapping) in the opposite direction (e.g., snapping the user interface object back to its previous position before the input began).
[0305] In some embodiments, in response to detecting (1110) a second portion of the input (e.g., 1003, 1007, end of input, or movement of the user interface object (e.g., 1004) beyond a threshold), in accordance with determining that the input (e.g., 1003) includes a rotational input on a rotatable input element (e.g., 604) and that the rotational input does not move the user interface object across the display by more than a second threshold, the electronic device (e.g., 600) moves (1134) the user interface object back (e.g., by snapping) in the opposite direction (e.g., snapping the user interface object back to its previous position before the input began). Setting a higher threshold for one type of input (e.g., touch input) over a different type of input (e.g., rotational input on an input element) for moving the user interface object to a respective position on the display helps prevent a user from inadvertently moving a user interface object to a respective position on the display that is contrary to the user's intention, when one type of input (e.g., touch input) is more prone to accidental input than a different type of input (e.g., rotational input). Improve usability of the device and make the user-device interface more efficient by providing additional control options and reducing the number of inputs required to perform actions, thereby reducing power usage and improving battery life of the device by making the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing errors when the user operates / interacts with the device) and allowing the user to use the device more quickly and efficiently.
[0306] In some embodiments, an electronic device (e.g., 600) includes a (e.g., single) tactile output generator (e.g., the tactile output generator is disposed within and connected to (e.g., and configured to generate a tactile output to) the rotatable input element (e.g., 604) and a housing of the electronic device.
[0307] In some embodiments, an electronic device (e.g., 600) includes one or more tactile output generators that generate a localized tactile output to the rotatable input element (e.g., 604) and one or more separate tactile output generators that generate tactile outputs for the electronic device that are not specifically directed to the rotatable input element (e.g., and instead are disposed within and connected to (e.g., and configured to generate a tactile output to) a main housing of the electronic device, or generate a tactile output localized to a different component of the electronic device). In some embodiments, the tactile output generator is disposed within or near the rotatable input element and configured to generate a tactile output that moves the rotatable input element relative to the housing (e.g., by moving a shaft of the rotatable input element).
[0308] In some embodiments, the one or more tactile output generators are configured to generate an audio output (e.g., in addition to generating a tactile output) (e.g., the audio output corresponds to and / or is associated with the tactile output generated by the one or more tactile output generators and is generated in coordination with the tactile output to generate a combined audio / tactile output).
[0309] In some embodiments, in response to detecting (1110) a second portion of the input (e.g., an end of the input or a movement of the user interface object beyond a threshold), in accordance with a determination that the input (e.g., 1003) includes a rotational input for a rotatable input element (e.g., 604) and that the rotational input meets criteria for moving (e.g., snapping) the user interface object (e.g., 1004) to a respective (e.g., predefined) position on the display, the electronic device (e.g., 600) moves (1136) the user interface object to the respective position on the display in conjunction with generating (e.g., via one or more tactile output generators) a tactile output (e.g., a sequence of tactile outputs) corresponding to the movement of the user interface object. In some embodiments, if the displayed content is a first type of content (e.g., continuous content such as continuous text), the tactile output includes a first type of tactile output sequence (e.g., a textured tactile output sequence) that includes one or more tactile outputs determined based on an input metric (e.g., velocity and / or magnitude) of the input. In some embodiments, if the displayed content is a second type of content (e.g., individual content such as a button, an affordance, a line, a platter, a paragraph, etc.), the tactile output includes a second type of tactile output sequence (e.g., a content-driven tactile output sequence) that includes one or more tactile outputs determined based on a movement of a predefined unit of content in the user interface. In some embodiments, in response to detecting (1110) the second portion of the input, following a determination that the input includes a movement of a contact on the touch-sensitive display that meets criteria for moving (e.g., snapping) the user interface object to a respective (e.g., predefined) position on the display, the electronic device moves (1138) the user interface object to the respective position on the display without generating (e.g., via one or more tactile output generators) a tactile output.Generating a tactile output for one type of input (e.g., rotational input on an input element) and not for another type of input (e.g., touch input) allows the device to conserve battery power and therefore improve battery life by providing sensory feedback for (e.g., only for) the type of input that has greater benefit to user experience and convenience if sensory feedback is provided.
[0310] In some embodiments, the amplitude of the tactile output is based on (e.g., corresponds to) the size of the user interface object (e.g., 1004). In some embodiments, the amplitude of the one or more tactile outputs is greater when the user interface object is a relatively large object and is less when the user interface object is a relatively small object.
[0311] In some embodiments, a tactile output (e.g., a sequence of tactile outputs) corresponding to moving (e.g., snapping) a user interface object (e.g., 1004) to a respective (e.g., predefined) position on a display (e.g., 602) includes a tactile output sequence having a first predetermined frequency range (e.g., 180-200 Hz) that differs from a second predetermined frequency range (e.g., approximately 100 Hz) that corresponds to a tactile output sequence associated with displaying a notification (e.g., of an alert, of an incoming electronic communication) on the display. Thus, from the perspective of a user of the electronic device (e.g., 600), the sensory sensation experienced from the tactile output sequence having the first predetermined frequency (e.g., 180-200 Hz) and the sensory sensation experienced from the tactile output sequence having the second predetermined frequency (e.g., approximately 100 Hz) are distinguishable.
[0312] In some embodiments, while displaying a user interface (e.g., 1002), the electronic device (e.g., 600) detects (1120) a second input (e.g., a press input, a press and hold input, an input applied with a downward pressure, a non-rotational input, a non-rotational touch input, a tap input) on the rotatable input element (e.g., 604). In some embodiments, in response to detecting the second input on the rotatable input element, the electronic device ceases (e.g., inhibits) (1122) generating (e.g., inhibits) a tactile output corresponding to a rotation of the rotatable input element via one or more tactile output generators (e.g., even if the second input includes both a press of the rotatable input element and a rotation input on the rotatable input element). Thus, in some embodiments, certain types of input on the rotatable input element (e.g., a rotatable input that results in a modification of the user interface) cause the electronic device to generate a tactile output (e.g., via the tactile output generator), while certain types of input on the rotatable input element (e.g., a press input, a press and hold input, or a touch input) do not cause the electronic device to generate a tactile output (e.g., via the tactile output generator).
[0313] In some embodiments, while displaying a user interface (e.g., 1002), an electronic device (e.g., 600) detects (1124) a third input on a rotatable input element (e.g., 604). In some embodiments, in response to detecting (1126) the third input on the rotatable input element, in accordance with a determination that the third input includes rotation of the rotatable input element without pressing the rotatable input element, the electronic device generates (1128) a tactile output corresponding to the rotation of the rotatable input element via one or more input devices. In some embodiments, in response to detecting (1134) the third input on the rotatable input element, in accordance with a determination that the third input includes rotation of the rotatable input element and pressing the rotatable input element, the electronic device ceases generating (1130) a tactile output corresponding to the rotation of the rotatable input element via one or more tactile output generators.
[0314] It should be noted that the details of the processes (e.g., FIGS. 11A-11C) described above with respect to method 1100 are also applicable in an analogous manner to the methods described above and below. For example, method 700 optionally includes one or more of the characteristics of the various methods described above with reference to method 1100. For example, a tactile output sequence as described in method 700 is generated upon alignment of a user interface object to a focal point. In another example, method 900 optionally includes one or more of the characteristics of the various methods described above with reference to method 1100. For example, a rubber band effect as described in method 900 may be provided upon reaching an edge of a user interface via a rotational input at an input element. In another example, method 1300 optionally includes one or more of the characteristics of the various methods described above with reference to method 1100. For example, a tactile output sequence generated upon alignment as described in method 1300 may also be generated upon alignment of a user interface object to a focal point. In another example, method 1500 optionally includes one or more of the characteristics of the various methods described above with reference to method 1100. For example, a dynamic tactile output as described in method 1500 may be provided when scrolling a user interface object via a rotational input on an input element. For the sake of brevity, these details will not be repeated below.
[0315] 12A-12L show example user interfaces f associated with adjustable item-based tactile output according to some embodiments. The user interfaces in those figures are used to illustrate the processes described below, including the processes in FIGS. 13A-13B.
[0316] FIG. 12A shows electronic device 600 displaying on display 602 a time setting user interface 1202 (e.g., for setting a current time, for setting a timer, for setting an alarm). Time setting user interface 1202 includes an hour setting 1204 and a minute setting 1206. Time setting interface 1202 also includes a current unit indicator 1208 that indicates the currently selected unit (e.g., hours or minutes) to be adjusted. In FIG. 12A, the currently selected unit is hours, as indicated by indicator 1208 (e.g., by highlighting hour setting 1204). Time setting user interface 1202 also includes a number of selectable options 1210 that are used to select a new setting for the currently selected unit (e.g., a new hour setting or a new minute setting). In FIG. 12A, the currently selected unit is hours, and thus selectable options 1210 indicate selectable units of time (e.g., as ticks and / or as a numeric value from 1 to 12), with each selectable unit corresponding to an alignment point. The time setting user interface 1202 also includes a current selection indicator 1212 (e.g., a circular or rectangular object) that moves along the selectable options 1210 to indicate the currently selected new unit value and that aligns (e.g., "snaps") to each of the alignment points while moving along the selectable options 1210. In FIG. 12A, the current selection indicator 1212 is at a position on the selectable options 1210 that corresponds to hour 2.
[0317] In FIG. 12A, while displaying a time setting user interface 1202 with hours set as the currently selected unit, the electronic device 600 detects a rotational input 1201 (e.g., in a clockwise direction) via the input element 604.
[0318] 12B , in response to detecting a rotational input 1201 at the input element 604, the electronic device 600 moves / navigates the current selection indicator 1212 in a clockwise direction from a previous alignment point within the selectable options 1210 (e.g., hour value 2) to a next alignment point within the selectable options 1210 (e.g., hour value 3). In some embodiments, the electronic device 600 does not generate a tactile output (e.g., no audio output) while the current selection indicator 1212 is moving between alignment points within the selectable options 1210.
[0319] 12C , as the electronic device 600 continues to detect rotational input 1201 on the input element 604, the current selection indicator 1212 is moved and aligned (e.g., "snaps") to the next alignment point (e.g., hour value 3) within the selectable options 1210. Upon aligning (e.g., "snapping") to the next alignment point, the electronic device 600 generates, via one or more tactile output generators, a tactile output sequence 610, and in some embodiments, an audio output sequence associated with the tactile output sequence 610. The electronic device 600 also updates the hour setting 1204 to reflect the currently selected hour value (e.g., 3).
[0320] 12D , in response to continuing to detect rotational input 1201 at input element 604, current selection indicator 1212 is moved and aligned (e.g., "snaps") to the next alignment point (e.g., hour value 4) within selectable options 1210. Upon aligning (e.g., "snapping") to the next alignment point, electronic device 600 generates, via one or more tactile output generators, a tactile output sequence 610, and in some embodiments, an audio output sequence associated with tactile output sequence 610. Electronic device 600 also updates hour setting 1204 to reflect the currently selected hour value (e.g., 4).
[0321] In FIG. 12D, after the hour setting 1204 is set to a new hour value (eg, 4), the electronic device 600 detects a rotational input 1203 (eg, in a counterclockwise direction) via the input element 604.
[0322] 12E, in response to detecting a rotational input 1203 at the input element 604, the electronic device 600 moves / navigates the current selection indicator 1212 in a counterclockwise direction from a previous alignment point in the selectable options 1210 (e.g., hour value 4) toward a previous alignment point in the selectable options 1210 (e.g., hour value 3). Upon aligning (e.g., "snapping") to the previous alignment point, the electronic device 600 generates, via one or more tactile output generators, a tactile output sequence 610, and in some embodiments, an audio output sequence associated with the tactile output sequence 610. The electronic device 600 also updates the hour setting 1204 to reflect the currently selected hour value (e.g., 3).
[0323] In FIG. 12F, while displaying a time user interface 1202 with hours set as the currently selected unit, the electronic device 600 detects input 1205 (e.g., a tap gesture) on the minutes setting 1206 (e.g., via the touch-sensitive surface of the display 602).
[0324] 12G, in response to detecting input 1205 on the minute setting 1206, the electronic device 600 moves the current unit indicator 1208 from the hour setting 1204 to the minute setting 1206. Additionally, the electronic device 600 updates the selectable options 1210 to indicate selectable minute units (e.g., as tick marks and / or as numeric values from 0 to 59), with each selectable unit corresponding to an alignment point. Additionally, the current selection indicator 1212 indicates the currently set minute value (e.g., 15).
[0325] In FIG. 12G, while displaying a time user interface 1202 with minutes set as the currently selected unit, the electronic device 600 detects a rotational input 1207 (e.g., in a counterclockwise direction) via the input element 604.
[0326] In FIG. 12H , in response to detecting a rotational input 1207 at the input element 604, the electronic device 600 moves / navigates the current selection indicator 1212 in a counterclockwise direction from a previous alignment point in the selectable options 1210 (e.g., minute value 15) toward a previous alignment point in the selectable options 1210 (e.g., minute value 14). In some embodiments, upon aligning (e.g., “snapping”) to the previous alignment point, the electronic device 600 generates, via one or more tactile output generators, a tactile output sequence 1220 (e.g., a “major-reduced” tactile output sequence / modified version of the tactile output sequence 610 as described in Table 1), and in some embodiments, an audio output sequence associated with the tactile output sequence 1220. Alternatively, in some embodiments, the electronic device 600 generates a first type of tactile output sequence and an audio output sequence associated with the tactile output sequence 610. The electronic device 600 also updates the minutes setting 1206 to reflect the currently selected minutes value (eg, 14).
[0327] 12I , as the electronic device 600 continues to detect rotational input 1207 on the input element 604, the current selection indicator 1212 is moved and aligned (e.g., "snaps") to a previous alignment point (e.g., minute value 13) within the selectable options 1210. Upon aligning (e.g., "snapping") to the previous alignment point, the electronic device 600 generates, via one or more tactile output generators, a tactile output sequence 1220, and in some embodiments, an audio output sequence associated with the tactile output sequence 1220. The electronic device 600 also updates the minute setting 1206 to reflect the currently selected hour value (e.g., 13).
[0328] 12J, in response to detecting a rotational input 1207 on the input element 604, the electronic device 600 moves and aligns (e.g., "snaps") the current selection indicator 1212 to a previous alignment point (e.g., the minutes value 12) within the selectable options 1210. Upon aligning (e.g., "snapping") to the previous alignment point, the electronic device 600 generates, via one or more tactile output generators, a tactile output sequence 1220, and in some embodiments, an audio output sequence associated with the tactile output sequence 1220. The electronic device 600 also updates the minutes setting 1206 to reflect the currently selected hour value (e.g., 12).
[0329] Thereafter, the electronic device 600 further detects a rotational input 1209 (e.g., in a clockwise direction) via the input element 604. In FIG. 12K, in response to detecting the rotational input 1209 at the input element 604, the electronic device 600 moves and aligns (e.g., “snaps”) the current selection indicator 1212 to the next alignment point (e.g., the minute value 13) within the selectable options 1210. Upon aligning (e.g., “snapping”) to the previous alignment point, the electronic device 600 generates, via one or more tactile output generators, a tactile output sequence 1220, and in some embodiments, an audio output sequence associated with the tactile output sequence 1220. The electronic device 600 also updates the minute setting 1206 to reflect the currently selected hour value (e.g., 13).
[0330] 12L, while displaying time user interface 1202 with a new hour setting (e.g., 3) and a new minute setting (e.g., 13), electronic device 600 detects (e.g., via the touch-sensitive surface of display 602) input 1211 on settings affordance 1214 to confirm the new time setting. In response to detecting input 1211 on settings affordance 1214, electronic device 600 sets the time (e.g., current time, timer, alarm) to the newly selected time.
[0331] 13A-13B are flow diagrams illustrating a method for managing a user interface associated with an adjustable item-based tactile output according to some embodiments. The method 1300 is performed on a device (e.g., 100, 300, 500, 600) having a display; an input element (e.g., a rotatable input device rotatable relative to a housing of the device; a rotatable input device / mechanism including a fixed socket and a rotatable component (e.g., a crown) attached or fixed to a shaft, where the rotatable component and shaft rotate together within the fixed socket; a rotatable input device / mechanism including a rotatable component (e.g., a crown) that rotates relative to a fixed component (e.g., a fixed shaft); a rotatable input device / mechanism that rotates in response to a rotational input on an axis such that the direction of rotation is parallel to a display of the electronic device; a rotatable input device / mechanism that can detect a rotational input without the device itself being physically rotated (e.g., via a touch detection mechanism); a rotatable and depressible input device; a rotatable crown); and one or more tactile output generators (e.g., disposed within the input element and / or disposed within a main housing of the electronic device). Some operations of method 1300 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0332] As described below, the method 1300 provides an intuitive way to manage a user interface associated with a content-based tactile output. The method reduces the cognitive burden on the user in managing and navigating the user interface, thereby creating a more efficient human-machine interface. In the case of battery-operated computing devices, providing a content-based tactile output conserves power and increases the time between battery charges by allowing the user to navigate the user interface faster and more efficiently.
[0333] An electronic device (e.g., 600) displays (1302) on a display (e.g., 602) a user interface (e.g., 1202, a time user interface correlated to changing a time setting of the device) including a first adjustable item (e.g., 1204, a first time item such as an hour) and a second adjustable item (e.g., 1206, a second time item such as a minute). In some embodiments, the user interface is a time user interface, and the time user interface includes a display of a current time, the current hour being displayed in the first adjustable item and the current minute being displayed in the second adjustable item. In some embodiments, the time user interface includes a plurality of selectable setting options (e.g., 1210) used to adjust the first adjustable time item or the second adjustable time item. In some embodiments, the plurality of selectable setting options (e.g., in a circular shape such as a wheel) surround a current time setting displayed in the center of the time user interface. By displaying the first and second adjustable items with selectable setting options, a user can quickly and easily view adjustments being made to the adjustable items while the adjustments are being made. By providing additional control options and reducing the number of inputs required to perform actions, the user can enhance usability of the device and make the user-device interface more efficient, thereby reducing power usage and improving battery life of the device by allowing the user to use the device more quickly and efficiently (e.g., by assisting the user in providing appropriate inputs and reducing errors when the user operates / interacts with the device).
[0334] In some embodiments, the first adjustable item corresponds to a first portion of a user interface setting (e.g., the hour of the time) and the second adjustable item corresponds to a second portion of the user interface setting (e.g., the minute of the time).
[0335] In some embodiments, the user interface corresponds to a time setting user interface (e.g., a “wheel of time” user interface), with a first adjustable item corresponding to an hour setting of the electronic device (e.g., of an alarm on the electronic device) and a second adjustable item corresponding to a minute setting of the electronic device (e.g., of an alarm on the electronic device).
[0336] While displaying a user interface (e.g., 1202), the electronic device (e.g., 600) detects (1304) a rotational input (e.g., 1201, 1203, 1205, 1207, 1209 in a clockwise or counterclockwise direction) via an input element (e.g., 604).
[0337] In response to detecting 1306 a rotational input (e.g., 1201, 1203, 1205, 1207, 1209) and in response to determining 1308 that a first adjustable item (e.g., 1204) is currently selected, the electronic device (e.g., 600) adjusts 1310 the first adjustable item (e.g., changes the current time setting) based on the rotational input. While adjusting the first adjustable item, the electronic device generates 1312 a first sequence of tactile outputs (e.g., 610) via one or more tactile output generators, the first sequence including one or more tactile outputs having a first amplitude (e.g., without generating a tactile output having a second amplitude different from the first amplitude). Generating the first sequence of tactile outputs in response to detecting the rotational input improves sensory feedback and enhances the user experience by allowing the user to recognize that adjustments are being made to the adjustable item while the adjustments are being made. Improve usability of the device and make the user-device interface more efficient by providing additional control options and reducing the number of inputs required to perform actions, thereby reducing power usage and improving battery life of the device by making the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing errors when the user operates / interacts with the device) and allowing the user to use the device more quickly and efficiently.
[0338] In response to detecting the rotational input (1306) and determining that a second adjustable item (e.g., 1206) is currently selected (1318), the electronic device (e.g., 600) adjusts (1320) the second adjustable item (e.g., without adjusting the first adjustable item) based on the rotational input (e.g., 1201, 1203, 1205, 1207, 1209) (e.g., changing the current minute setting). While adjusting the second adjustable item, the electronic device generates (1322) via one or more tactile output generators a second sequence of tactile outputs (e.g., 1220) including one or more tactile outputs having a second amplitude different from the first amplitude (e.g., without generating a tactile output having the first amplitude). In some embodiments, the second amplitude is less than the first amplitude, such that the second type of tactile output is a smaller amplitude tactile output than the first type of tactile output. Generating the second sequence of tactile outputs while adjusting the second adjustable item and generating the first sequence of tactile outputs while adjusting the first adjustable item improves feedback by allowing a user to quickly and easily recognize whether the user is adjusting the first or second adjustable item without having to look closely at the display. Providing improved visual feedback to the user enhances usability of the device and makes the user-device interface more efficient, thereby reducing power usage and improving battery life of the device by allowing the user to use the device more quickly and efficiently (e.g., by assisting the user in providing appropriate inputs and reducing errors when the user operates / interacts with the device).
[0339] In some embodiments, adjusting a first adjustable item (e.g., 1204) based on a rotational input (e.g., 1201, 1203, 1205, 1207, 1209, an input having a magnitude of the input (e.g., an amount of rotation of the rotational input)) includes adjusting the first adjustable item by a first numerical value (e.g., a value from 1 to 12 for hours). In some embodiments, adjusting a second adjustable item (e.g., 1206) based on the rotational input includes adjusting the second adjustable item by a second numerical value that is different from the first numerical value (e.g., a value from 1 to 60 for minutes). In some embodiments, the value of a first adjustable item adjusted by the same magnitude of input (e.g., amount of rotation) is greater than a second adjustable item adjusted by the same magnitude of input.
[0340] In some embodiments, generating a first sequence of tactile outputs (e.g., 610) via one or more tactile output generators including one or more tactile outputs having a first amplitude includes generating the first sequence of tactile outputs regardless of a direction (e.g., clockwise, counterclockwise) of the rotational input (e.g., 1201, 1203, 1205, 1207, 1209). In some embodiments, generating a second sequence of tactile outputs (e.g., 1220) via one or more tactile output generators including one or more tactile outputs having a second amplitude includes generating the second sequence of tactile outputs regardless of a direction (e.g., clockwise, counterclockwise) of the rotational input.
[0341] In some embodiments, while adjusting the first adjustable item (e.g., 1204), the electronic device (e.g., 600) moves (1314) an indicator (e.g., 1212) through a plurality of predefined alignment points (e.g., 1210) on the user interface (e.g., 1202). The indicator snaps (e.g., aligns, fits, stops) to an alignment point of the plurality of alignment points that is the predefined alignment point, and one or more tactile outputs of the first sequence of tactile outputs are coordinated with the snapping to the indicator that is the alignment point of the plurality of alignment points. In some embodiments, the snapping of the indicator to the alignment point includes using a certain threshold to determine an amount of rotation of the rotatable input element required to reach the alignment point, snapping to a previous alignment point if the threshold has not been reached, and snapping to a next alignment point if the threshold has been reached. Moving the indicator through the plurality of predefined alignment points improves visual feedback by allowing a user to quickly and easily view adjustments being made to the first or second adjustable item in an intuitive manner. By providing improved visual feedback to the user, the device can be more easily operated, making the user-device interface more efficient (e.g., by assisting the user in providing appropriate input and reducing errors when the user operates / interacts with the device), and allowing the user to use the device more quickly and efficiently, thereby reducing power usage and improving the device's battery life.
[0342] In some embodiments, while adjusting a first adjustable item (e.g., 1204), the electronic device (e.g., 600) displays (1316) a plurality of predefined alignment points (e.g., 1210) on the display (e.g., 602), the plurality of predefined alignment points including a first number of alignment points. In some embodiments, while adjusting a second adjustable item (e.g., 1206), the electronic device displays (1324) a second plurality of predefined alignment points (e.g., 1210) on the display including a second number of alignment points different from the first number. In some embodiments, the first adjustable item corresponds to an hour setting of the time, and each of the plurality of predefined alignment points corresponds to a particular hour setting. Thus, in some embodiments, the first number is 12, and each alignment point corresponds to a particular hour setting. In some embodiments, the second adjustable item corresponds to a minute setting of the time, and each of the plurality of predefined alignment points corresponds to a particular minute setting. Thus, in some embodiments, the second number is 60, with each alignment point corresponding to a particular minute setting.
[0343] In some embodiments, in response to detecting (1326) a rotational input (e.g., 1201, 1203, 1205, 1207, 1209), in accordance with a determination that the rotational input is at a first rotational speed, the electronic device (e.g., 600) moves (1328) the indicator (e.g., 1212) through the displayed plurality of values (e.g., 1210) at a first speed associated with the first rotational speed. In some embodiments, in response to detecting (1326) a rotational input, in accordance with a determination that the rotational input is at a second rotational speed different from the first rotational speed, the electronic device moves (1330) the indicator through the displayed plurality of values at a second speed associated with the second rotational speed different from the first speed. In some embodiments, when the second rotational speed of the rotational input is faster than the first rotational speed, the second speed of the indicator moving through the displayed plurality of values is faster than the first speed of the indicator, and when the second rotational speed of the rotational input is slower than the second rotational speed, the second speed of the indicator moving through the displayed plurality of values is slower than the first speed of the indicator.
[0344] In some embodiments, while displaying a user interface (e.g., 1202) and while a first adjustable item (e.g., 1204) is the currently selected adjustable item, the electronic device (e.g., 600) detects (1332) a first input (e.g., 1205, a tap gesture on the display) (e.g., via one or more input devices of the electronic device, such as a touch-sensitive surface of the display). In some embodiments, in response to detecting the first input, the electronic device sets (1334) the second adjustable item (e.g., 1206) as the currently selected adjustable item (e.g., in place of the first adjustable item).
[0345] It should be noted that the details of the process (e.g., FIGS. 13A-13B) described above with respect to method 1300 are also applicable in a similar manner to the methods described above and below. For example, method 700 optionally includes one or more of the characteristics of the various methods described above with reference to method 1300. For example, one or more of the different types of tactile output sequences described in method 700 can be provided while navigating a time setting user interface. In another example, method 900 optionally includes one or more of the characteristics of the various methods described above with reference to method 1300. For example, method 900 can generate different types of tactile output sequences while scrolling through content and when reaching the end of the content, while method 1300 can generate different types of tactile output sequences while adjusting the first adjustable item and the second adjustable item. In another example, method 1100 optionally includes one or more of the characteristics of the various methods described above with reference to method 1300. For example, when a user interface is navigated via a rotational input on an input element, a tactile output is generated as in method 1100 when a user interface object, item, or element is aligned (e.g., "snapped") into an alignment position. In another example, method 1500 optionally includes one or more of the characteristics of the various methods described above with reference to method 1300. For example, as described in method 1500, the magnitude / amplitude and / or rate of occurrence of the tactile output may be dynamic in response to changes in the speed of the rotational input during adjustment time. For the sake of brevity, these details will not be repeated below.
[0346] 14A-14H illustrate example user interfaces associated with input rate-based tactile output according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in FIGS. 15A-15C.
[0347] Figure 14A shows electronic device 600 displaying a user interface 1402 of a messaging application (e.g., the email application first described above with reference to Figures 6H-6S) on display 602. In Figure 14A, electronic device 600 displays text 1404 (e.g., including continuous text) within user interface 1402 that corresponds to continuous types of user interface items / elements.
[0348] 14A , electronic device 600 detects a rotational input 1401 (e.g., in a clockwise direction) via input element 604 while displaying user interface 1402 with text 1404. Rotational input 1401 has a first rotational speed and includes a respective amount of rotation of input element 604. In response to detecting rotational input 1401 having the first rotational speed at input element 604, electronic device 600 begins scrolling text 1404. Further, electronic device 600 generates, via one or more tactile output generators, a tactile output sequence 620 having a first magnitude (e.g., amplitude) and / or a first number of tactile outputs (e.g., separate and distinct tactile outputs) during respective amounts of rotation of input element 604 of rotational input 1401. As described in more detail above with reference to Figures 5C-5H, in some embodiments, a separate, individual tactile output is one tactile output signal (e.g., 0.5, 1, or 2 cycles of a tactile output waveform) and a tactile output sequence is multiple (e.g., the same) separate, individual tactile outputs generated in a sequence (e.g., over a predetermined period of time).
[0349] 14A , the electronic device 600 also generates an audio output sequence associated with the tactile output sequence 620 (e.g., via one or more tactile output generators used to generate the tactile output). The audio output sequence has a first magnitude (e.g., amplitude) and / or a first number of audio outputs (e.g., individual, discrete audio outputs) during each amount of rotation of the rotated input 1401 by the input element 604. In some embodiments, like the individual, discrete tactile outputs, the individual, discrete audio outputs are one audio output signal (e.g., 0.5, 1, or 2 cycles of an audio output waveform) and the audio output sequence is a plurality of (e.g., the same) individual, discrete audio outputs generated in a sequence (e.g., over a predetermined period of time).
[0350] In FIG. 14B, after detecting the rotational input 1401, the electronic device 600 detects a rotational input 1403 (e.g., in a clockwise direction) via the input element 604, the rotational input 1403 including a respective amount of rotation of the input element 604, the rotational input 1403 having a second rotational speed that is faster than the first rotational speed. In response to detecting the rotational input 1403 at the input element 604 having the second rotational speed, the electronic device 600 scrolls the text 1404 (e.g., at a speed faster than the speed of FIG. 14A). Additionally, the electronic device 600 generates a tactile output sequence 620 via one or more tactile output generators. The tactile output sequence 620 has the same first magnitude and / or the same first number of tactile outputs (e.g., individual and distinct tactile outputs) during each amount of rotation of the rotational input 1403 by the input element 604.
[0351] 14B , the electronic device 600 also generates (e.g., via one or more tactile output generators used to generate the tactile outputs) an audio output sequence associated with the tactile output sequence 620. The audio output sequence has the same first magnitude and / or the same first number of audio outputs (e.g., separate and individual audio outputs) during each amount of rotation of the rotation input 1403 by the input element 604.
[0352] In FIG. 14C, after detecting the rotational input 1403, the electronic device 600 detects a rotational input 1405 (e.g., in a clockwise direction) via the input element 604, the rotational input 1403 having a third rotational speed that is even faster than the second rotational speed. In response to detecting the rotational input 1405 at the input element 604 having the third rotational speed, the electronic device 600 scrolls the text 1404 (e.g., at a speed faster than the speed of FIG. 14B). Additionally, the electronic device 600 generates a tactile output sequence 620 via one or more tactile output generators. The tactile output sequence 620 has a second magnitude and / or a second number of tactile outputs (e.g., individual, discrete tactile outputs) during each amount of rotation of the rotational input 1405 by the input element 604, the second magnitude being smaller than the first magnitude and the second number of tactile outputs being less than the first number of tactile outputs.
[0353] 14C , the electronic device 600 also generates (e.g., via one or more tactil...
Claims
1. 1. An electronic device having a display, an input element, and one or more tactile output generators, comprising: Displaying a user interface on the display; detecting a first input via the input element while displaying the user interface; In response to detecting the first input, Navigating within the user interface; and generating, via the one or more tactile output generators, a tactile output corresponding to the navigating within the user interface; pursuant to determining that the currently displayed portion of the user interface includes a first type of content, the tactile output corresponding to the navigating includes a first type of tactile output sequence including one or more tactile outputs determined based on an input metric of the first input; pursuant to a determination that the currently displayed portion of the user interface includes a second type of content different from the first type of content, the tactile output corresponding to the navigating includes a second type of tactile output sequence including one or more tactile outputs determined based on a movement of a predetermined unit of content within the user interface. And, A method comprising:
2. The method of claim 1 , wherein the first type of tactile output sequence is different from the second type of tactile output sequence.
3. the second type of tactile output sequence is determined based on the movement of the predetermined unit of content within the user interface; The method of claim 1 or 2, wherein the first type of tactile output sequence is determined independently of the movement of content within the user interface.
4. The method of claim 1 , wherein the predefined units of content correspond to visually distinct content elements within the content.
5. The method of claim 1 , wherein the user interface does not include content that is the second type of content.
6. The method of claim 1 , wherein the user interface does not include content that is the first type of content.
7. generating, via the one or more tactile output generators, a tactile output corresponding to the navigating within the user interface; generating the tactile output includes, in accordance with determining that the user interface is displaying a terminal portion of the first type of content, the tactile output corresponding to the navigating includes a third type of tactile output sequence different from the first type of tactile output sequence, the third type of tactile output sequence indicating that the content is at the terminal portion; in accordance with a determination that the user interface is not displaying a terminal portion of the first type of content, the tactile output portion corresponding to the navigating does not include the third type of tactile output sequence. The method of claim 1 , further comprising:
8. in response to said determining that said user interface includes said second type of content; and In response to determining that the predetermined unit of content is of a first type, the tactile output has a first amplitude; 8. The method of claim 1, wherein in response to a determination that the predetermined unit of content is of a second type different from the first type, the tactile output has a second amplitude that is less than the first amplitude.
9. 9. The method of claim 1, wherein the number of tactile outputs generated in the first type of tactile output sequence corresponds to a velocity of the first input, the first input being a rotational input at the input element.
10. 10. The method of claim 1, wherein generating the tactile output in accordance with the determination that the currently displayed portion of the user interface contains the second type of content while navigating within the user interface comprises generating the tactile output in response to a first predefined unit of content being moved and aligned on the display.
11. 11. The method of claim 1, wherein generating the tactile output in accordance with the determination that the currently displayed portion of the user interface contains the second type of content while navigating within the user interface comprises generating the tactile output in response to a first predefined unit of content moving out of position on the display.
12. displaying on the display a second user interface different from the user interface; detecting a second input via the input element while displaying the second user interface; In response to detecting the second input, discontinue generating a tactile output via the one or more tactile output generators in accordance with determining that the second input does not result in navigating the second user interface; generating, via the one or more tactile output generators, the tactile output in accordance with a determination that the second input causes the second user interface to be navigated; The method of claim 1 , further comprising:
13. The method of claim 12 , wherein the second user interface is responsive to a notification, the notification replacing a display of the user interface.
14. detecting a second input via a second input element different from the input element while displaying the user interface; In response to detecting the second input, Navigating within the user interface; and ceasing to generate, via the one or more tactile output generators, the tactile output corresponding to the navigating within the user interface; and 14. The method of claim 1, further comprising:
15. In response to detecting the first input, generating an audio output associated with the tactile output corresponding to the navigating within the user interface; in response to the determination that the currently displayed portion of the user interface includes the first type of content, the audio output includes a first type of audio output sequence associated with the first type of tactile output sequence; 15. The method of claim 1, further comprising: in accordance with the determination that the currently displayed portion of the user interface includes content of the second type, the audio output includes an audio output sequence of a second type associated with the tactile output sequence of the second type.
16. generating a tactile output corresponding to the notification in accordance with a determination that an event triggering a notification is detected while not detecting input via the input element; 16. The method of claim 1, further comprising: ceasing to generate the tactile output corresponding to the notification in accordance with a determination that the event triggering the notification is detected while detecting input via the input element.
17. pursuant to determining that an event triggering a notification has been detected while detecting the first input, refraining from generating a tactile output corresponding to the notification until a predefined criterion is met; generating the tactile output corresponding to the notification in response to determining that the predetermined criterion is met; and 16. The method of claim 1, further comprising:
18. 18. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display, an input element, and one or more tactile output generators, the one or more programs including instructions for performing the method of any one of claims 1 to 17.
19. A display and An input element; one or more tactile output generators; one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; 18. An electronic device comprising: said one or more programs comprising instructions for performing the method of any one of claims 1 to 17.
20. A display and An input element; one or more tactile output generators; Means for carrying out the method according to any one of claims 1 to 17; An electronic device comprising:
21. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display, an input element, and one or more tactile output generators, the one or more programs comprising: Displaying a user interface on the display; detecting a first input via the input element while displaying the user interface; In response to detecting the first input, Navigating within the user interface; generating, via the one or more tactile output generators, a tactile output corresponding to the navigating within the user interface, generating the tactile output, pursuant to determining that the currently displayed portion of the user interface includes a first type of content, the tactile output corresponding to the navigating includes a first type of tactile output sequence including one or more tactile outputs determined based on an input metric of the first input; in accordance with a determination that the currently displayed portion of the user interface includes a second type of content that is different from the first type of content, the tactile output corresponding to the navigating includes a second type of tactile output sequence that includes one or more tactile outputs determined based on a movement of a predetermined unit of content within the user interface.
22. A display and An input element; one or more tactile output generators; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: Displaying a user interface on the display; Detecting a first input via the input element while displaying the user interface; In response to detecting the first input, Navigating within the user interface; generating, via the one or more tactile output generators, a tactile output corresponding to the navigating within the user interface, generating the tactile output, pursuant to determining that the currently displayed portion of the user interface includes a first type of content, the tactile output corresponding to the navigating comprises a first type of tactile output sequence including one or more tactile outputs determined based on an input metric of the first input; in accordance with a determination that the currently displayed portion of the user interface includes a second type of content that is different from the first type of content, the tactile output corresponding to the navigating includes a second type of tactile output sequence that includes one or more tactile outputs determined based on a movement of a predetermined unit of content within the user interface.
23. A display and An input element; one or more tactile output generators; means for displaying a user interface on the display; means for detecting a first input via the input element while displaying the user interface; In response to detecting the first input, Navigating within the user interface; means for generating, via the one or more tactile output generators, a tactile output corresponding to said navigating within said user interface, said means comprising: pursuant to determining that the currently displayed portion of the user interface includes a first type of content, the tactile output corresponding to the navigating includes a first type of tactile output sequence including one or more tactile outputs determined based on an input metric of the first input; and means for, in accordance with a determination that the currently displayed portion of the user interface includes a second type of content that is different from the first type of content, the tactile output corresponding to the navigating includes a second type of tactile output sequence including one or more tactile outputs determined based on a movement of a predetermined unit of content within the user interface.
24. 1. An electronic device having a display, an input element, and one or more tactile output generators, comprising: Displaying a first portion of content on the display; Detecting a first input via the input element while displaying the first portion of content; In response to detecting the first input, Navigating within the content to display a second portion of the content; and generating, via the one or more tactile output generators, a first type of tactile output sequence including one or more tactile outputs; detecting a second input via the input element while displaying the second portion of the content; in response to detecting the second input and in accordance with a determination that the second portion of the content is a terminal portion of the content, displaying a visual indication that the content is an end of the content; and ceasing to generate the first type of tactile output sequence via the one or more tactile output generators; and A method comprising:
25. 25. The method of claim 24, wherein displaying the visual indication that the content is an end portion of the content comprises shifting the second portion of the content on the display.
26. 26. The method of claim 25, wherein shifting the second portion of the content on the display comprises moving the second portion of the content at least partially out of an edge of the display.
27. 27. The method of claim 24, wherein visual characteristics of the visual indication that the content is an end portion of the content are based on an input metric of the second input.
28. in response to detecting the second input and in accordance with a determination that the second portion of the content is not a terminal portion of the content; displaying a third portion of the content on the display; and generating the first type of tactile output sequence via the one or more tactile output generators; 28. The method of any one of claims 24 to 27, further comprising:
29. detecting a third input via the input element after detecting the second input and while displaying the second portion of the content, the third input being in an opposite direction to the second input; In response to detecting the third input, navigating back through the content to display the first portion of the content; generating the first type of tactile output sequence via the one or more tactile output generators; 29. The method of any one of claims 24 to 28, further comprising:
30. in response to detecting the second input and in accordance with the determination that the second portion of the content is a terminal portion of the content; generating a third type of tactile output sequence via the one or more tactile output generators; 30. The method of any one of claims 24 to 29, further comprising:
31. detecting a third input via the input element after detecting the second input and while displaying the second portion of the content, the second input being in a first direction and in a direction opposite to the direction of the second input; in response to detecting the third input, ceasing to generate the third type of tactile output sequence via the one or more tactile output generators; and 31. The method of claim 30, further comprising:
32. the third type of tactile output sequence corresponds to the first type of tactile output sequence; the first type of tactile output sequence is associated with a first type of audio output sequence; 32. The method of claim 30 or 31, wherein the third type of tactile output sequence is associated with a second type of audio output sequence that is different from the first type of audio output sequence.
33. detecting a fourth input on the display while displaying the second portion of the content; in response to detecting the scroll input and in accordance with the determination that the second portion of the content is a terminal portion of the content, displaying the visual indication that the content is an end of the content; and ceasing to generate the first type of tactile output sequence via the one or more tactile output generators; and 33. The method of any one of claims 24 to 32, further comprising:
34. 34. The method of claim 24, wherein the terminal portion of the content is a beginning portion of the content or an end portion of the content.
35. 35. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display, an input element, and one or more tactile output generators, the one or more programs including instructions for performing the method of any one of claims 24 to 34.
36. A display and An input element; one or more tactile output generators; one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; 35. An electronic device comprising: said one or more programs comprising instructions for performing the method of any one of claims 24 to 34.
37. A display and An input element; one or more tactile output generators; Means for carrying out the method according to any one of claims 24 to 34; An electronic device comprising:
38. 1. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display, an input element, and one or more tactile output generators, the one or more programs comprising: Displaying a first portion of content on the display; Detecting a first input via the input element while displaying the first portion of content; In response to detecting the first input, Navigating through the content to display a second portion of the content; generating, via the one or more tactile output generators, a first type of tactile output sequence including one or more tactile outputs; detecting a second input via the input element while displaying the second portion of the content; in response to detecting the second input and in accordance with a determination that the second portion of the content is a terminal portion of the content, displaying a visual indication that the content is an end of the content; ceasing to generate the first type of tactile output sequence via the one or more tactile output generators. A computer-readable storage medium containing instructions.
39. A display and An input element; one or more tactile output generators; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: Displaying a first portion of content on the display; Detecting a first input via the input element while displaying the first portion of content; In response to detecting the first input, Navigating through the content to display a second portion of the content; generating, via the one or more tactile output generators, a first type of tactile output sequence including one or more tactile outputs; detecting a second input via the input element while displaying the second portion of the content; in response to detecting the second input and in accordance with a determination that the second portion of the content is a terminal portion of the content, displaying a visual indication that the content is an end of the content; ceasing to generate the first type of tactile output sequence via the one or more tactile output generators. An electronic device that contains instructions.
40. A display and An input element; one or more tactile output generators; means for displaying a first portion of content on the display; means for detecting a first input via the input element while displaying the first portion of content; In response to detecting the first input, Navigating through the content to display a second portion of the content; means for generating, via the one or more tactile output generators, a first type of tactile output sequence including one or more tactile outputs; means for detecting a second input via the input element while displaying the second portion of the content; in response to detecting the second input and in accordance with a determination that the second portion of the content is a terminal portion of the content, displaying a visual indication that the content is an end of the content; means for discontinuing generating the first type of tactile output sequence via the one or more tactile output generators; An electronic device comprising:
41. 1. An electronic device having a touch-sensitive display and a rotatable input element, comprising: Displaying a user interface on the display; Detecting a first portion of an input at the device while displaying the user interface; responsive to detecting a first portion of the input, moving a user interface object across the display of the device in accordance with movement of the input; detecting a second portion of the input at the device after detecting the first portion of the input; in response to detecting the second portion of the input, moving the user interface object to a respective location on the display in accordance with a determination that the input comprises a movement of a contact on the touch-sensitive display and that the movement causes the user interface object to move across the display by more than a first threshold amount; ceasing to move the user interface object to the respective location on the display in accordance with a determination that the input comprises a movement of a contact on the touch-sensitive display and that the movement does not move the user interface object across the display by more than the first threshold; moving the user interface object to the respective position on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and that the rotational input causes the user interface object to move across the display by more than a second threshold, the second threshold being less than the first threshold; and ceasing to move the user interface object to the respective position on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and that the rotational input does not move the user interface object across the display by more than the second threshold.
42. in response to detecting the second portion of the input, 42. The method of claim 41 , further comprising: retracting the user interface object in an opposite direction in accordance with a determination that the input comprises a movement of a contact on the touch-sensitive display and that the movement does not move the user interface object across the display by more than the first threshold.
43. in response to detecting the second portion of the input, retracting the user interface object in an opposite direction in response to a determination that the input includes a rotational input on the rotatable input element and the rotational input does not move the user interface object across the display by more than the second threshold.
43. The method of claim 41 or 42, further comprising:
44. 44. The method of any one of claims 41 to 43, wherein the electronic device comprises a tactile output generator.
45. 44. The method of any one of claims 41 to 43, wherein the electronic device includes one or more tactile output generators that generate tactile outputs local to the rotatable input elements and one or more separate tactile output generators that generate tactile outputs for the electronic device not specifically limited to the rotatable input elements.
46. 46. The method of claim 45, wherein the one or more tactile output generators are configured to generate an audio output.
47. in response to detecting the second portion of the input, in accordance with the determination that the input includes a rotational input on the rotatable input element and that the rotational input satisfies a criterion for moving the user interface object to the respective location on the display, moving the user interface object to the respective location on the display in conjunction with generating a tactile output corresponding to the movement of the user interface object; 47. The method of claim 41, further comprising: in accordance with the determination that the input comprises a movement of a contact on the touch-sensitive display that satisfies a criterion for moving the user interface object to the respective location on the display, moving the user interface object to the respective location on the display without generating the tactile output.
48. 48. The method of claim 47, wherein the amplitude of the tactile output is based on a size of the user-interface object.
49. 49. The method of claim 47 or 48, wherein the tactile output corresponding to the movement of the user interface object to the respective location on the display comprises a tactile output sequence having a first predetermined frequency range that differs from a second predetermined frequency range corresponding to a tactile output sequence associated with displaying a notification on the display.
50. detecting a second input on the rotatable input element while displaying the user interface; in response to detecting the second input on the rotatable input element, ceasing to generate, via the one or more tactile output generators, a tactile output corresponding to rotation of the rotatable input element; 50. The method of any one of claims 44 to 49, further comprising:
51. detecting a third input on the rotatable input element while displaying the user interface; in response to detecting the third input on the rotatable input element, generating, via the one or more input devices, a tactile output corresponding to a rotation of the rotatable input element in accordance with a determination that the third input includes a rotation of the rotatable input element without a press of the rotatable input element; ceasing to generate, via the one or more tactile output generators, the tactile output corresponding to the rotation of the rotatable input element in accordance with determining that the third input includes a rotation of the rotatable input element and a press of the rotatable input element; 51. The method of any one of claims 44 to 50, further comprising:
52. 52. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a touch-sensitive display and a rotatable input element, the one or more programs including instructions for performing the method of any one of claims 41 to 51.
53. A touch-sensitive display; A rotatable input element; one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; 52. An electronic device comprising: said one or more programs comprising instructions for performing the method of any one of claims 41 to 51.
54. A display and A rotatable input element; Means for carrying out the method according to any one of claims 41 to 51; An electronic device comprising:
55. 1. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a touch-sensitive display and a rotatable input element, the one or more programs comprising: Displaying a user interface on the display; Detecting a first portion of an input at the device while displaying the user interface; responsive to detecting a first portion of the input, moving a user interface object across the display of the device in accordance with movement of the input; detecting a second portion of the input at the device after detecting the first portion of the input; in response to detecting the second portion of the input, moving the user interface object to a respective location on the display in accordance with a determination that the input comprises a movement of a contact on the touch-sensitive display and that the movement causes the user interface object to move across the display beyond a first threshold; cease moving the user interface object to the respective location on the display in response to a determination that the input includes a movement of a contact on the touch-sensitive display and that the movement does not move the user interface object across the display by more than the first threshold; moving the user interface object to the respective location on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and that the rotational input causes the user interface object to move across the display by more than a second threshold, the second threshold being less than the first threshold; and ceasing to move the user interface object to the respective position on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and that the rotational input does not move the user interface object across the display by more than the second threshold.
56. A touch-sensitive display; A rotatable input element; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: Displaying a user interface on the display; Detecting a first portion of an input at the device while displaying the user interface; responsive to detecting a first portion of the input, moving a user interface object across the display of the device in accordance with the movement of the input; detecting a second portion of the input at the device after detecting the first portion of the input; in response to detecting the second portion of the input, moving the user interface object to a respective location on the display in accordance with a determination that the input comprises a movement of a contact on the touch-sensitive display and that the movement causes the user interface object to move across the display beyond a first threshold; cease moving the user interface object to the respective location on the display in response to a determination that the input includes a movement of a contact on the touch-sensitive display and that the movement does not move the user interface object across the display by more than the first threshold; moving the user interface object to the respective location on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and that the rotational input causes the user interface object to move across the display by more than a second threshold, the second threshold being less than the first threshold; and instructions for ceasing moving the user interface object to the respective position on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and that the rotational input does not move the user interface object across the display by more than the second threshold.
57. 1. An electronic device comprising: A display and A rotatable input element; means for displaying a user interface on the display; means for detecting a first portion of an input at the device while displaying the user interface; means for, in response to detecting a first portion of the input, moving a user interface object across the display of the device in accordance with movement of the input; means for detecting a second portion of the input at the device after detecting the first portion of the input; in response to detecting the second portion of the input, moving the user interface object to a respective location on the display in accordance with a determination that the input comprises a movement of a contact on the touch-sensitive display and that the movement causes the user interface object to move across the display beyond a first threshold; cease moving the user interface object to the respective location on the display in response to a determination that the input includes a movement of a contact on the touch-sensitive display and that the movement does not move the user interface object across the display by more than the first threshold; moving the user interface object to the respective location on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and that the rotational input causes the user interface object to move across the display by more than a second threshold, the second threshold being less than the first threshold; and means for ceasing moving the user interface object to the respective position on the display in accordance with a determination that the input includes a rotational input on the rotatable input element and that the rotational input does not move the user interface object across the display by more than the second threshold.
58. 1. An electronic device having a display, an input element, and one or more tactile output generators, comprising: displaying on the display a user interface including a first adjustable item and a second adjustable item; detecting a rotational input via the input element while displaying the user interface; In response to detecting the rotation input, responsive to determining that the first adjustable item is currently selected, adjusting the first adjustable item based on the rotational input; and generating, via the one or more tactile output generators, a first sequence of tactile outputs, the one or more tactile outputs having a first amplitude, while adjusting the first adjustable item; responsive to determining that the second adjustable item is currently selected, adjusting the second adjustable item based on the rotational input; and generating, via the one or more tactile output generators, a second sequence of tactile outputs, the second sequence including one or more tactile outputs having a second amplitude different from the first amplitude, while adjusting the second adjustable item; A method comprising:
59. adjusting the first adjustable item based on the rotational input includes adjusting the first adjustable item by a first numerical value; 59. The method of claim 58, wherein adjusting the second adjustable item based on the rotational input comprises adjusting the second adjustable item by a second numerical value, the second numerical value being different from the first numerical value.
60. generating, via the one or more tactile output generators, the first sequence of tactile outputs including one or more tactile outputs having the first amplitude includes generating the first sequence of tactile outputs regardless of the direction of the rotational input; 60. The method of claim 58 or 59, wherein generating the second sequence of tactile outputs, including one or more tactile outputs having the second amplitude, via the one or more tactile output generators comprises generating the second sequence of tactile outputs regardless of the direction of the rotational input.
61. and moving an indicator through a plurality of predetermined alignment points on the user interface while adjusting the first adjustable item; the indicator snaps to the predetermined alignment point of the plurality of alignment points; 61. The method of any one of claims 58 to 60, wherein the one or more tactile outputs of the first sequence of tactile outputs are coordinated with the snapping of the indicator to the alignment point of the plurality of alignment points.
62. displaying the plurality of predetermined alignment points on the display while adjusting the first adjustable item, the plurality of predetermined alignment points including a first number of alignment points; displaying a second plurality of predetermined alignment points on the display while adjusting the second adjustable item, the second plurality of predetermined alignment points including a second number of alignment points different from the first number; 62. The method of claim 61 further comprising:
63. In response to detecting the rotation input, in response to determining that the rotational input is a first rotational speed, moving the indicator through the displayed plurality of values at a first speed associated with the first rotational speed; pursuant to determining that the rotational input is at a second rotational speed different from the first rotational speed, moving the indicator through the displayed plurality of values at a second speed associated with the second rotational speed, different from the first speed; 63. The method of claim 61 or 62, further comprising:
64. detecting a first input while displaying the user interface and while the first adjustable item is a currently selected adjustable item; in response to detecting the first input, setting the second adjustable item as the currently selected adjustable item; 64. The method of any one of claims 58 to 63, further comprising:
65. 65. The method of any one of claims 58 to 64, wherein the first adjustable item corresponds to a first portion of a user interface setting and the second adjustable item corresponds to a second portion of the user interface setting.
66. The user interface corresponds to a time setting user interface; the first adjustable item corresponds to a time setting of the electronic device; 66. The method of any one of claims 58 to 65, wherein the second adjustable item corresponds to a minute setting of the electronic device.
67. 67. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display, an input element, and one or more tactile output generators, the one or more programs including instructions for performing the method of any one of claims 58 to 66.
68. A display and An input element; one or more tactile output generators; one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; 67. An electronic device comprising: said one or more programs comprising instructions for performing the method of any one of claims 58 to 66.
69. A display and An input element; one or more tactile output generators; Means for carrying out the method according to any one of claims 58 to 66; An electronic device comprising:
70. 1. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display, an input element, and one or more tactile output generators, the one or more programs comprising: displaying a user interface on the display, the user interface including a first adjustable item and a second adjustable item; Detecting a rotational input via the input element while displaying the user interface; In response to detecting the rotation input, responsive to determining that the first adjustable item is currently selected, adjusting the first adjustable item based on the rotational input; generating, via the one or more tactile output generators, a first sequence of tactile outputs, the first sequence including one or more tactile outputs having a first amplitude, while adjusting the first adjustable item; responsive to determining that the second adjustable item is currently selected, adjusting the second adjustable item based on the rotational input; generating, via the one or more tactile output generators, a second sequence of tactile outputs, the second sequence including one or more tactile outputs having a second amplitude different from the first amplitude, while adjusting the second adjustable item. A computer-readable storage medium containing instructions.
71. A display and An input element; one or more tactile output generators; one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; said one or more programs comprising: displaying a user interface on the display, the user interface including a first adjustable item and a second adjustable item; Detecting a rotational input via the input element while displaying the user interface; In response to detecting the rotation input, responsive to determining that the first adjustable item is currently selected, adjusting the first adjustable item based on the rotational input; generating, via the one or more tactile output generators, a first sequence of tactile outputs, the first sequence including one or more tactile outputs having a first amplitude, while adjusting the first adjustable item; responsive to determining that the second adjustable item is currently selected, adjusting the second adjustable item based on the rotational input; generating, via the one or more tactile output generators, a second sequence of tactile outputs, the second sequence including one or more tactile outputs having a second amplitude different from the first amplitude, while adjusting the second adjustable item. An electronic device that contains instructions.
72. A display and An input element; one or more tactile output generators; means for displaying on the display a user interface including a first adjustable item and a second adjustable item; means for detecting a rotational input via the input element while displaying the user interface; In response to detecting the rotation input, responsive to determining that the first adjustable item is currently selected, adjusting the first adjustable item based on the rotational input; generating, via the one or more tactile output generators, a first sequence of tactile outputs, the first sequence including one or more tactile outputs having a first amplitude, while adjusting the first adjustable item; responsive to determining that the second adjustable item is currently selected, adjusting the second adjustable item based on the rotational input; generating, via the one or more tactile output generators, a second sequence of tactile outputs, the second sequence including one or more tactile outputs having a second amplitude different from the first amplitude, while adjusting the second adjustable item. Means, An electronic device comprising:
73. 1. An electronic device having a display, a rotatable input element, and one or more tactile output generators, comprising: detecting a rotational input via the rotatable input element while displaying a user interface on the display; generating, via the one or more tactile output generators, a plurality of tactile outputs, the plurality of tactile outputs being associated with a modification of the user interface, while detecting the rotational input; generating a first number of tactile outputs for each amount of rotation of the rotatable input element in response to determining that the speed of the rotational input is a first speed; generating a second number of tactile outputs for the respective amounts of rotation of the rotatable input element in response to determining that the speed of the rotational input is a second speed different from the first speed. A method comprising:
74. 74. The method of claim 73, wherein the second speed is greater than the first speed and the second number of tactile outputs for the respective amounts of rotation of the rotatable input element is less than the first number of tactile outputs.
75. 75. The method of claim 73 or 74, wherein the second rate is greater than the first rate and the amplitude of the second number of tactile outputs is less than the amplitude of the first number of tactile outputs.
76. While detecting the rotational input, 76. The method of any one of claims 73 to 75, generating the first number of tactile outputs for the respective amounts of rotation of the rotatable input element in accordance with a determination that the speed of the rotational input is a third speed that is greater than the first speed and less than the second speed.
77. While detecting the rotational input, in response to the determination that the speed of the rotational input is the first speed, the plurality of tactile outputs have a first amplitude; in response to determining that the speed of the rotational input is a third speed that is greater than the first speed and less than the second speed, the plurality of tactile outputs have the first amplitude; 77. The method of any one of claims 73 to 76, wherein in accordance with the determination that the speed of the rotational input is the second speed, different from the first speed and the third speed, the plurality of tactile outputs have a second amplitude, different from the first amplitude.
78. While detecting the rotational input, pursuant to the determination that the speed of the rotational input is the second speed, a number of the tactile outputs for the respective amounts of rotation of the rotatable input element is a third number, the third number corresponding to a minimum number; 78. The method of any one of claims 73 to 77, wherein in response to a determination that the speed of the rotational input is a fourth speed that is greater than the second speed, the number of tactile outputs corresponds to the third number.
79. While detecting the rotational input, in response to the determination that the speed of the rotational input is the second speed, the plurality of tactile outputs have a third amplitude, the third amplitude corresponding to a minimum amplitude; 79. The method of any one of claims 73 to 78, wherein in response to a determination that the speed of the rotational input is a fourth speed that is greater than the second speed, the plurality of tactile outputs has the third amplitude.
80. 80. The method of any one of claims 73 to 79, wherein a number of tactile outputs in the plurality of tactile outputs is based at least in part on a size characteristic of the electronic device.
81. 81. The method of any one of claims 73 to 80, wherein the amplitudes of the plurality of tactile outputs are based at least in part on a size characteristic of the electronic device.
82. 82. The method of any one of claims 73 to 81, comprising: during detection of the rotational input, in accordance with a determination that the second speed corresponds to a maximum threshold speed, the second number of tactile outputs corresponds to a maximum number of tactile outputs that can be generated for the respective amounts of rotation of the rotatable input element.
83. the generated plurality of tactile outputs are of a first type in accordance with the modification of the user interface being a first type of modification; 83. The method of any one of claims 73 to 82, wherein the generated plurality of tactile outputs are of a second type different from the first type in accordance with the modification of the user interface being a second type of modification.
84. generating a plurality of audio outputs associated with the plurality of tactile outputs while detecting the rotational input; generating a first number of audio outputs for each amount of rotation of the rotatable input element in accordance with the determining that the velocity of the rotational input is the first velocity; generating a second number of audio outputs for the respective amounts of rotation of the rotatable input element in accordance with the determining that the velocity of the rotational input is the second velocity; 84. The method of any one of claims 73 to 83, further comprising:
85. generating a plurality of audio outputs associated with the plurality of tactile outputs while detecting the rotational input; generating the audio output at a first magnitude for the respective amounts of rotation of the rotatable input element in accordance with the determining that the velocity of the rotational input is the first velocity; generating the audio output at a second magnitude different from the first magnitude for each amount of rotation of the rotatable input element in response to the determining that the velocity of the rotational input is the second velocity; 85. The method of any one of claims 73 to 84, further comprising:
86. 86. The method of claim 84 or 85, wherein the second speed is greater than the first speed and, for the respective amount of rotation of the rotatable input element, the second number of audio outputs is less than the first number of audio outputs.
87. 87. The method of claim 86, wherein a numerical difference between the second number of audio outputs and the first number of audio outputs is different from a numerical difference between the second number of tactile outputs and the first number of tactile outputs.
88. While detecting the rotational input, generating an initial number of tactile outputs and an initial number of audio outputs for the respective amounts of rotation of the rotatable input element in response to determining that the rate of rotation of the rotatable input is an initial rate; 88. The method of any one of claims 84 to 87, wherein, in accordance with a determination that the velocity of the rotational input is a threshold velocity, for the respective amount of rotation of the rotatable input element, a threshold number of tactile outputs and an initial number of audio outputs are generated, the threshold number of tactile outputs being different from the initial number of tactile outputs.
89. While detecting the rotational input, generating the plurality of tactile outputs having initial amplitudes and the plurality of audio outputs having initial magnitudes for the respective amounts of rotation of the rotatable input element in response to determining that the velocity of the rotational input is an initial velocity; 89. The method of any one of claims 84 to 88, further comprising generating, for the respective amounts of rotation of the rotatable input element, the plurality of tactile outputs having threshold amplitudes that are different from the initial amplitudes and the plurality of audio outputs having the initial magnitudes in accordance with a determination that the velocity of the rotational input is a threshold velocity.
90. pursuant to a modification of the user interface corresponding to navigating the user interface in a first direction, the generated plurality of tactile outputs and the generated plurality of audio outputs are of a first type; 90. The method of any one of claims 84 to 89, wherein in accordance with a modification of the user interface corresponding to navigating the user interface in a second direction, the generated plurality of tactile outputs and the generated plurality of audio outputs are of a second type different from the first type.
91. 91. The method of any one of claims 84 to 90, wherein the audio output is generated via the one or more tactile output generators.
92. 92. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display, a rotatable input element, and one or more tactile output generators, the one or more programs including instructions for performing the method of any one of claims 73 to 91.
93. A display and A rotatable input element; one or more tactile output generators; one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; 92. An electronic device comprising: said one or more programs comprising instructions for performing the method of any one of claims 73 to 91.
94. A display and A rotatable input element; one or more tactile output generators; Means for carrying out the method according to any one of claims 73 to 91; An electronic device comprising:
95. 1. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display, a rotatable input element, and one or more tactile output generators, the one or more programs comprising: detecting a rotational input via the rotatable input element while displaying a user interface on the display; a plurality of tactile outputs via the one or more tactile output generators while detecting the rotational input, a type of the tactile output being associated with a modification of the user interface; generating a first number of tactile outputs for each amount of rotation of the rotatable input element in response to determining that the speed of the rotational input is a first speed; and generating a plurality of tactile outputs in response to a determination that the velocity of the rotational input is a second velocity different from the first velocity, the plurality of tactile outputs being generated for the respective amounts of rotation of the rotatable input element.
96. A display and A rotatable input element; one or more tactile output generators; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: detecting a rotational input via the rotatable input element while displaying a user interface on the display; a plurality of tactile outputs via the one or more tactile output generators while detecting the rotational input, a type of the tactile output being associated with a modification of the user interface; generating a first number of tactile outputs for each amount of rotation of the rotatable input element in response to determining that the speed of the rotational input is a first speed; generating a second number of tactile outputs for the respective amounts of rotation of the rotatable input element in response to determining that the speed of the rotational input is a second speed different from the first speed. An electronic device including instructions for generating a plurality of tactile outputs.
97. A display and A rotatable input element; one or more tactile output generators; means for detecting a rotational input via the rotatable input element while displaying a user interface on the display; a plurality of tactile outputs via the one or more tactile output generators while detecting the rotational input, a type of the tactile output being associated with a modification of the user interface; generating a first number of tactile outputs for each amount of rotation of the rotatable input element in response to determining that the speed of the rotational input is a first speed; generating a second number of tactile outputs for the respective amounts of rotation of the rotatable input element in response to determining that the speed of the rotational input is a second speed different from the first speed. means for generating a plurality of tactile outputs; An electronic device comprising:
Citation Information
Patent Citations
Input with haptic feedback
JP2017016643A
Virtual detent mechanisms through vibrotactile feedback
JP2017084380A
Context-specialized user interface
JP2018136975A
Devices, Methods, and Graphical User Interfaces for Providing Haptic Feedback
US20170357317A1