Navigation of user interfaces using hand gestures

The method addresses inefficiencies in hand gesture navigation by using optical sensors to update user interfaces based on detected gestures, enhancing efficiency and conserving power in battery-operated devices.

JP7846296B2Active Publication Date: 2026-04-14APPLE INC
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-09-22
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing techniques for navigating user interfaces using hand gestures are cumbersome and inefficient, consuming time and energy, particularly in battery-operated devices.

Method used

A method and interface that utilizes hand gestures to efficiently navigate user interfaces by detecting specific hand gestures with an optical sensor and updating the display accordingly, reducing the need for multiple key presses and conserving power.

Benefits of technology

The method provides faster, more efficient navigation of user interfaces, reducing cognitive burden and extending battery life in electronic devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007846296000001
    Figure 0007846296000001
  • Figure 0007846296000002
    Figure 0007846296000002
  • Figure 0007846296000003
    Figure 0007846296000003
Patent Text Reader

Abstract

To provide a method for navigating a user interface using hand gestures.SOLUTION: Displaying, via a display generation component, a selectable user interface object and a cursor, detecting a request to move the cursor to a second location, displaying an animation that provides a visual indication of a length of time the cursor needs to be placed at the second location, and in accordance with a determination that the cursor has been displayed at the second location for longer than a threshold period of time, performing a first operation. In accordance with a determination that the setting is in a first state, activating the user interface object; and in accordance with a determination that the setting is in a second state different from the first state, displaying, without activation and via the display generation component, the menu. The menu includes an option for performing a selection action, causing it to be performed at the second location, changing from the first state to the second state.SELECTED DRAWING: Figure 7M
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] (Cross - Reference to Related Applications) This application claims priority to U.S. Provisional Patent Application No. 63 / 190,783, filed on May 19, 2021, entitled "NAVIGATING USER INTERFACES USING HAND GESTURES"; U.S. Provisional Patent Application No. 63 / 221,331, filed on July 13, 2021, entitled "NAVIGATING USER INTERFACES USING HAND GESTURES"; and U.S. Patent Application No. 17 / 747,613, filed on May 18, 2022, entitled "NAVIGATING USER INTERFACES USING HAND GESTURES". The contents of these applications are hereby incorporated by reference in their entirety.

[0002] This disclosure generally relates to computer user interfaces, and more specifically, to techniques for navigating user interfaces using hand gestures.

Background Art

[0003] Users of smartphones and other personal electronic devices are using their devices more frequently. Some existing techniques enable users to navigate user interfaces on their devices.

Summary of the Invention

[0004] However, some techniques for using hand gestures to navigate user interfaces with 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 are time - consuming and waste the user's time and the device's energy. This latter consideration is particularly important in battery - operated devices.

[0005] Therefore, this technology provides users of electronic devices with faster and more efficient methods and interfaces for navigating user interfaces using hand gestures. Such methods and interfaces optionally complement or replace other methods for navigating user interfaces using hand gestures. Such methods and interfaces reduce the cognitive burden on the user and create a more efficient human-machine interface. In the case of battery-operated computing devices, such methods and interfaces conserve power and extend the interval between battery charges.

[0006] A method is described according to several embodiments. The method is performed in a computer system communicating with a display generation component and an optical sensor. The method includes: displaying a user interface via the display generation component that includes a first user interface object, a second user interface object, a third user interface object, and an indication that the first user interface object is selected; detecting a hand gesture via at least an optical sensor while displaying a user interface that includes a first user interface object, a second user interface object, a third user interface object, and an indication that the first user interface object is selected; displaying an indication via the display generation component that the second user interface object is selected, in accordance with the determination that the hand gesture is a first type of gesture, in response to the detection of a hand gesture via at least an optical sensor; and displaying an indication via the display generation component that the third user interface object is selected, in accordance with the determination that the hand gesture is a second type of gesture different from the first type of gesture.

[0007] According to some embodiments, non-temporary computer-readable storage media are described. A non-temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system that communicates with a display generation component and an optical sensor, the one or more programs include instructions to display a user interface via the display generation component that includes a first user interface object, a second user interface object, a third user interface object, and an indication that the first user interface object is selected, and to detect a hand gesture via at least an optical sensor while displaying a user interface that includes a first user interface object, a second user interface object, a third user interface object, and an indication that the first user interface object is selected, and, in response to the detection of a hand gesture via at least an optical sensor, to display an indication via the display generation component that the second user interface object is selected according to a determination that the hand gesture is a first type of gesture, and to display an indication via the display generation component that the third user interface object is selected according to a determination that the hand gesture is a second type of gesture different from the first type of gesture.

[0008] According to some embodiments, a temporary 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 a computer system that communicates with a display generation component and an optical sensor, the one or more programs include instructions to display a user interface via the display generation component that includes a first user interface object, a second user interface object, a third user interface object, and an indication that the first user interface object is selected, and to detect a hand gesture via at least an optical sensor while displaying a user interface that includes a first user interface object, a second user interface object, a third user interface object, and an indication that the first user interface object is selected, and, in response to the detection of a hand gesture via at least an optical sensor, to display an indication via the display generation component that the second user interface object is selected according to a determination that the hand gesture is a first type of gesture, and to display an indication via the display generation component that the third user interface object is selected according to a determination that the hand gesture is a second type of gesture different from the first type of gesture.

[0009] According to several embodiments, a computer system is described. The computer system comprises a display generating component, an optical sensor, one or more processors, and a memory for storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for displaying a user interface via the display generating component that includes a first user interface object, a second user interface object, a third user interface object, and an indication that the first user interface object is selected; detecting a hand gesture via at least the optical sensor while displaying a user interface that includes a first user interface object, a second user interface object, a third user interface object, and an indication that the first user interface object is selected; and, in response to detecting a hand gesture via at least the optical sensor, displaying an indication via the display generating component that the second user interface object is selected according to a determination that the hand gesture is a first type of gesture; and displaying an indication via the display generating component that the third user interface object is selected according to a determination that the hand gesture is a second type of gesture different from the first type of gesture.

[0010] According to several embodiments, a computer system is described. The computer system comprises a display generation component, an optical sensor, one or more processors, and a memory for storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include means for displaying a user interface via the display generation component that includes a first user interface object, a second user interface object, a third user interface object, and an indication that the first user interface object is selected; means for detecting a hand gesture via at least the optical sensor while displaying a user interface that includes a first user interface object, a second user interface object, a third user interface object, and an indication that the first user interface object is selected; and means for displaying an indication that the second user interface object is selected via the display generation component in response to the detection of a hand gesture via at least the optical sensor, according to a determination that the hand gesture is a first type of gesture, and displaying an indication that the third user interface object is selected via the display generation component, according to a determination that the hand gesture is a second type of gesture different from the first type of gesture.

[0011] According to some embodiments, a computer program product is described. The computer program product stores one or more programs configured to be executed by one or more processors of a computer system that communicates with a display generation component and an optical sensor, the one or more programs include instructions to display a user interface via the display generation component that includes a first user interface object, a second user interface object, a third user interface object, and an indication that the first user interface object is selected, and to detect a hand gesture via at least an optical sensor while displaying the user interface that includes the first user interface object, a second user interface object, a third user interface object, and an indication that the first user interface object is selected, and, in response to the detection of a hand gesture via at least an optical sensor, to display an indication via the display generation component that the second user interface object is selected according to a determination that the hand gesture is a first type of gesture, and to display an indication via the display generation component that the third user interface object is selected according to a determination that the hand gesture is a second type of gesture different from the first type of gesture.

[0012] A method is described according to several embodiments. The method is performed on a computer system that communicates with a display generation component. The method includes: displaying a user interface via the display generation component, which includes a selectable user interface object and a cursor displayed at a first position on the user interface; detecting a request to move the cursor from the first position to a second position on the user interface while the selectable user interface object and the cursor at the first position on the user interface are displayed; displaying the cursor at the second position in response to the detection of a request to move the cursor from the first position to the second position; displaying an animation that provides a visual indication, which is updated over a period of time, for a duration at which the cursor needs to be positioned at the second position in order to perform an action, according to a determination that the second position corresponds to the position of the selectable user interface object; and discontinuing the display of the animation according to a determination that the second position does not correspond to the position of the selectable user interface object.

[0013] According to some embodiments, a non-temporary computer-readable storage medium is described. The non-temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system that communicate with a display generating component, the one or more programs including, via the display generating component, a user interface including a selectable user interface object and a cursor displayed at a first position on the user interface; detecting a request to move the cursor from the first position to a second position on the user interface while the selectable user interface object and the cursor at the first position on the user interface are displayed; displaying a visual indication for a length of time such that the cursor must be positioned at the second position to perform an action, according to a determination that the second position corresponds to the position of the selectable user interface object, the visual indication being updated over a period of time, and an instruction to stop displaying the animation according to a determination that the second position does not correspond to the position of the selectable user interface object.

[0014] 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 a computer system that communicate with a display generating component, the one or more programs including, via the display generating component, a user interface including a selectable user interface object and a cursor displayed at a first position on the user interface; detecting a request to move the cursor from the first position to a second position on the user interface while the selectable user interface object and the cursor at the first position on the user interface are displayed; displaying the cursor at the second position in response to the detection of the request to move the cursor from the first position to the second position; displaying a visual indication for a length of time such that the cursor must be positioned at the second position to perform an action, according to a determination that the second position corresponds to the position of the selectable user interface object, the visual indication being updated over a period of time, and discontinuing the display of the animation according to a determination that the second position does not correspond to the position of the selectable user interface object.

[0015] According to some embodiments, a computer system is described. The computer system comprises a display generation component, one or more processors, and a memory for storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions to display a user interface via the display generation component, which includes a selectable user interface object and a cursor displayed at a first position on the user interface, to detect a request to move the cursor from the first position to a second position on the user interface while the selectable user interface object and the cursor at the first position on the user interface are displayed, to display the cursor at the second position in response to the detection of the request to move the cursor from the first position to the second position, and to display a visual indication for a length of time such that the cursor must be positioned at the second position to perform an action, according to a determination that the second position corresponds to the position of the selectable user interface object, the visual indication being updated over a period of time, and to stop displaying the animation according to a determination that the second position does not correspond to the position of the selectable user interface object.

[0016] According to several embodiments, a computer system is described. The computer system comprises a display generation component, 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 means for displaying a user interface via the display generation component, including a selectable user interface object and a cursor displayed at a first position on the user interface; means for detecting a request to move the cursor from the first position to a second position on the user interface while displaying the selectable user interface object and the cursor at the first position on the user interface; means for displaying the cursor at the second position in response to the detection of a request to move the cursor from the first position to the second position; and instructions for displaying an animation that provides a visual indication for a length of time such that the cursor must be positioned at the second position in order to perform an action, the visual indication being updated over a period of time, and stopping the display of the animation in accordance with the determination that the second position does not correspond to the position of the selectable user interface object.

[0017] According to some embodiments, a computer program product is described. The computer program product stores one or more programs configured to be executed by one or more processors of a computer system that communicate with a display generating component, the one or more programs include instructions to display a user interface via the display generating component, which includes a selectable user interface object and a cursor displayed at a first position on the user interface; to detect a request to move the cursor from the first position to a second position on the user interface while the selectable user interface object and the cursor at the first position on the user interface are displayed; to display the cursor at the second position in response to the detection of the request to move the cursor from the first position to the second position; to display a visual indication for a length of time such that the cursor must be positioned at the second position to perform an action, according to a determination that the second position corresponds to the position of the selectable user interface object, the visual indication being updated over a period of time, and to stop displaying the animation according to a determination that the second position does not correspond to the position of the selectable user interface object.

[0018] The executable instructions that perform these functions are optionally contained within a non-temporary computer-readable storage medium or other computer program product configured to be executed by one or more processors.

[0019] As a result, the device is provided with a faster and more efficient method and interface for navigating the user interface using hand gestures, thereby increasing the effectiveness, efficiency, and user satisfaction of such a device. Such methods and interfaces can complement or replace other methods for navigating the user interface using hand gestures.

Brief Description of the Drawings

[0020] To better understand the various embodiments described, the following "Modes for Carrying Out the Invention" should be referred to in conjunction with the following drawings, and like reference numerals refer to corresponding parts throughout the following figures.

[0021] [Figure 1A] It is a block diagram showing a portable multifunctional device equipped with a touch-sensitive display according to some embodiments.

[0022] [Figure 1B] It is a block diagram showing exemplary components for event processing according to some embodiments. [[ID=2>

[0023] [Figure 2] It is a diagram showing a portable multifunctional device having a touch screen according to some embodiments.

[0024] [Figure 3] It is a block diagram of an exemplary multifunctional device having a display and a touch-sensing surface according to some embodiments.

[0025] [Figure 4A] It shows an exemplary user interface of a menu of an application on a portable multifunctional device according to some embodiments.

[0026] [Figure 4B]This document illustrates an exemplary user interface for a multifunctional device having a touch-sensitive surface separate from the display, according to several embodiments.

[0027] [Figure 5A] A personal electronic device according to several embodiments is shown.

[0028] [Figure 5B] This is a block diagram showing a personal electronic device according to several embodiments.

[0029] [Figure 6] A set of exemplary hand gestures according to several embodiments is shown.

[0030] [Figure 7A] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7B] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7C] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7D] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7E] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7F] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7G]The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7H] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7I] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7J] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7K] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7L] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7M] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7N] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7O] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7P] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7Q] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7R]The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7S] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7T] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7U] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7V] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7W] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7X] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7Y] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7Z] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 7AA] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments.

[0031] [Figure 8A]The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 8B] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 8C] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 8D] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 8E] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 8F] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 8G] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 8H] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 8I] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 8J] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments.

[0032] [Figure 9A]The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 9B] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 9C] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 9D] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 9E] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 9F] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 9G] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 9H] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments.

[0033] [Figure 10A] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 10B] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 10C]The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 10D] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 10E] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 10F] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments.

[0034] [Figure 11A] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 11B] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 11C] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 11D] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 11E] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 11F] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 11G]The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 11H] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments.

[0035] [Figure 12A] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 12B] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 12C] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 12D] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 12E] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 12F] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 12G] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 12H] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 12I]The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 12J] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments.

[0036] [Figure 13A] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 13B] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 13C] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 13D] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 13E] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 13F] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. [Figure 13G] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments.

[0037] [Figure 14] The following are exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments.

[0038] [Figure 15] This flowchart illustrates a method for navigating a user interface using hand gestures, according to several embodiments.

[0039] [Figure 16] This flowchart illustrates a method for navigating a user interface using hand gestures, according to several embodiments. [Modes for carrying out the invention]

[0040] The following description includes exemplary methods, parameters, etc. However, it should be noted that such descriptions are not intended to limit the scope of this disclosure, but rather are provided as descriptions of exemplary embodiments.

[0041] There is a need for electronic devices that provide efficient methods and interfaces for navigating user interfaces using hand gestures. For example, users may want to navigate a user interface without touching the display of their device. Such technology can reduce the cognitive and / or physical burden on the user navigating the user interface, thereby increasing productivity. Furthermore, such technology can reduce the power consumption of the processor and battery that would normally be wasted on redundant user input.

[0042] Figures 1A-1B, 2, 3, 4A-4B, and 5A-5B below provide a description of exemplary devices that perform techniques for navigating a user interface using hand gestures. Figure 6 shows an exemplary set of hand gestures according to several embodiments. Figures 7A-7AA show an exemplary user interface for navigating a user interface using hand gestures according to several embodiments. Figures 8A-8J show an exemplary user interface for navigating a user interface using hand gestures according to several embodiments. Figures 9A-9H show an exemplary user interface for navigating a user interface using hand gestures according to several embodiments. Figures 10A-10F show an exemplary user interface for navigating a user interface using hand gestures according to several embodiments. Figures 11A-11H show an exemplary user interface for navigating a user interface using hand gestures according to several embodiments. Figures 12A-12J show an exemplary user interface for navigating a user interface using hand gestures according to several embodiments. Figures 13A to 13G show exemplary user interfaces for navigating the user interface using hand gestures according to several embodiments. Figure 14 shows exemplary user interfaces for navigating the user interface using hand gestures according to several embodiments. Figure 15 is a flowchart showing a method for navigating the user interface using hand gestures according to several embodiments. Figure 16 is a flowchart showing a method for navigating the user interface using hand gestures according to several embodiments. The user interfaces in Figures 6, 7A to 7AA, 8A to 8J, 9A to 9H, 10A to 10F, 11A to 11H, 12A to 12J, 13A to 13G, and 14 are used to illustrate the process described below, including the process in Figures 15 and 16.

[0043] Furthermore, in methods described herein that presuppose that one or more steps satisfy one or more conditions, it should be understood that the described method can be repeated any number of times in the iteration process such that all conditions presupposing the steps in the method are satisfied in various iterations of the method. For example, if a method requires that a first step be performed if a condition is met, and a second step be performed if the condition is not met, a person skilled in the art will understand that the claimed steps may be repeated in any order until both the case where the condition is met and the case where it is not met are met. Thus, a method described in one or more steps that is conditional on one or more conditions being met can be replaced with a method that is repeated until each of the conditions described in the method is met. However, this is not required for claims of a system or computer-readable medium that includes instructions to perform a conditional action based on the satisfaction of one or more corresponding conditions, and thus can determine whether a contingency has been met without explicitly repeating the steps in the method until all conditions presupposing the steps in the method are met. Those skilled in the art will also understand that, as with a method having conditional steps, the method steps can be repeated as many times as necessary to ensure that the system or computer-readable storage medium has performed all conditional steps.

[0044] In the following description, terms such as “first,” “second,” etc., are used to describe various elements, but these elements should not be limited by these terms. These terms are used solely to distinguish one element from another. For example, without departing from the scope of the various embodiments described, the first touch may be called the second touch, and similarly, the second touch may be called the first touch. Both the first touch and the second touch are touches, but they are not the same touch.

[0045] The terminology used in the descriptions of the various embodiments described herein is intended solely to describe specific embodiments and is not intended to be limiting. In the descriptions of the various embodiments and the accompanying claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless otherwise explicitly stated in the context. Furthermore, it should 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 enumerated items relating to the invention. It will be further understood that, as used herein, the terms “includes,” “comprises,” and / or “comprising,” specify the presence of the described features, integers, steps, actions, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, actions, elements, components, and / or groups thereof.

[0046] The term "if" can be interpreted, at will, depending on the context, as "when" or "upon," or "in response to determining" or "in response to detecting." Similarly, the phrases "if it is determined" or "if [a stated condition or event] is detected" can be interpreted, at will, depending on the context, as "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]."

[0047] 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, which also includes other functions such as PDA functionality and / or music player functionality. Exemplary embodiments of portable multifunction devices include, but are not limited to, the iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, California. Optionally, other portable electronic devices such as laptop computers or tablet computers having a touch-sensitive surface (e.g., a touchscreen display and / or touchpad) are also used. It should also be understood that in some embodiments, the device is not a portable communication device but a desktop computer having a touch-sensitive surface (e.g., a touchscreen display and / or touchpad). In some embodiments, the electronic device is a computer system communicating (e.g., via wired communication, via wireless communication) with a display generating component. The display generating component is configured to provide a visual output, such as a display via a CRT display, a display via an LED display, or a display via image projection. In some embodiments, the display generating component is integrated with the computer system. In some embodiments, the display generation component is separate from the computer system. As used herein, "display" content includes displaying content (e.g., video data rendered or decoded by the display controller 156) by transmitting data (e.g., image data or video data) via a wired or wireless connection to an integrated or external display generation component in order to visually generate the content.

[0048] The following discussion describes electronic devices including displays and touch-sensitive surfaces. However, it should be understood that electronic devices optionally include one or more other physical user interface devices such as physical keyboards, mice, and / or joysticks.

[0049] The device typically supports a variety of applications, including drawing applications, presentation applications, word processing applications, website creation applications, disk authoring applications, spreadsheet applications, game applications, telephone 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.

[0050] Various applications running on this device optionally utilize at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface, as well as the corresponding information displayed on the device, are optionally adjusted and / or modified on an application-by-application basis and / or within specific applications. In this way, the device's common physical architecture (such as the touch-sensitive surface) optionally supports a variety of applications with intuitive and transparent user interfaces for the user.

[0051] Here, we turn our attention to embodiments of portable devices having a touch-sensitive display. Figure 1A is a block diagram of a portable multifunction device 100 having a touch-sensitive display system 112 according to some embodiments. The touch-sensitive display 112 may be conveniently referred to as a “touchscreen” and may be known or referred to as a “touch-sensitive display system”. Device 100 includes a memory 102 (optionally including one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral interface 118, an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input control devices 116, and an external port 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact intensity sensors 165 (e.g., touch-sensitive surfaces such as the touch-sensitive display system 112 of Device 100) that detect the intensity of contact on Device 100. Device 100 optionally includes one or more haptic output generators 167 that generate haptic output on Device 100 (for example, on a touch-sensitive surface such as the touch-sensitive display system 112 of Device 100 or the touchpad 355 of Device 300). These components optionally communicate via one or more communication buses or signal lines 103.

[0052] As used herein and in the claims, the term “strength” of contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of contact on the touch-sensitive surface (e.g., finger contact), or a proxy for the force or pressure of contact on the touch-sensitive surface. The strength of contact has a range of values, including at least four distinct values, and more typically, including several hundred (e.g., at least 256) distinct values. The strength of contact is optionally determined (or measured) using various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the touch-sensitive surface are optionally used to measure forces 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 contact. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size and / or variation of the contact area detected on the touch-sensing surface, the capacitance and / or variation of the touch-sensing surface adjacent to the contact, and / or the resistance and / or variation of the touch-sensing surface adjacent to the contact may optionally be used as a substitute for the force or pressure of the contact on the touch-sensing surface. In some implementations, the substitute measurement of the contact force or pressure is used directly to determine whether it exceeds an intensity threshold (e.g., the intensity threshold is described in units corresponding to the substitute measurement). In some implementations, the substitute measurement of the contact force or pressure is converted into an estimate of the force or pressure, which is then used to determine whether it exceeds an intensity threshold (e.g., the intensity threshold is a pressure threshold measured in units of pressure). By using the intensity of contact as an attribute of user input, it becomes possible for users to access additional device functions that might otherwise be inaccessible (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 control such as a knob or button) on reduced-size devices where the implementation area for displaying affordances is limited.

[0053] As used herein and in the claims, the term “tactile output” means the physical displacement of a device relative to its previous position, the physical displacement of a component of a device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or the displacement of a component relative to the center of mass of a device, which will be detected by the user through the user’s sense of touch. For example, in a situation where a device or component of a device is in contact with a touch-sensitive user’s surface (e.g., the user’s fingers, palm, or other part of their 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 the physical properties of the device or component of the device. For example, the movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) may be optionally interpreted by the user as a “down-click” or “up-click” of a physical actuator button. In some cases, the user may feel a tactile sensation such as a “down-click” or “up-click” even when there is no movement of a physical actuator button associated with a touch-sensitive surface that is physically pressed (e.g., displaced) by the user’s action. As another example, movement of a touch-sensitive surface can be optionally interpreted or perceived by a user as "roughness" of that surface, even if there is no change in the smoothness of the touch-sensitive surface. Such user interpretations of touch depend on the user's personal sensory perception, but there are many touch sensory perceptions common to the majority of users. Therefore, when a haptic output is described as corresponding to a user's specific sensory perception (e.g., "up-click," "down-click," "roughness"), unless otherwise stated, the generated haptic output corresponds to the physical displacement of the device or its components that produce the described sensory perception of a typical (or average) user.

[0054] It should be understood that device 100 is merely an example of a portable multifunction device, and that device 100 may optionally have more or fewer components than those shown, may optionally combine two or more components, or may optionally have different configurations or arrangements of those components. The various components shown in Figure 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.

[0055] 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. Memory controller 122 optionally controls access to memory 102 by other components of device 100.

[0056] The peripheral interface 118 can be used to connect the device's input and output peripherals to the CPU 120 and memory 102. One or more processors 120 operate or execute various software programs (such as computer programs (including instructions)) and / or instruction sets stored in memory 102 to perform various functions for device 100 and process data. In some embodiments, the peripheral interface 118, CPU 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, they are optionally implemented on separate chips.

[0057] The RF (radio frequency) circuit 108 transmits and receives RF signals, also known as electromagnetic signals. The RF circuit 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 circuit 108 optionally includes well-known circuits for performing these functions, which include, but are not limited to, antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, CODEC chipsets, subscriber identity module (SIM) cards, and memory. The RF circuit 108 optionally communicates wirelessly with networks such as the Internet, also known as the World Wide Web (WWW), intranets, and / or wireless networks such as cellular telephone networks, wireless local area networks (LANs), and / or metropolitan area networks (MANs), as well as with other devices. The RF circuit 108 optionally includes a well-known circuit for detecting a near-field communication (NFC) field using a short-range communication radio. Wireless communication is not limited to this, but optionally includes 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-HSPADA), and long-term evolution.Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, Email protocols (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), Instant messaging (e.g., Extensible Messaging and Presence Protocol) Using any of several communication standards, protocols, and technologies, including the XMPP protocol, the Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), the Instant Messaging and Presence Service (IMPS), and / or the Short Message Service (SMS), or any other suitable communication protocol, including a communication protocol not yet developed as of the filing date of this specification.

[0058] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral interface 118, converts this audio data into an electrical signal, and transmits this 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 this audio data to the peripheral interface 118 for processing. The audio data is optionally retrieved by the peripheral interface 118 from and / or transmitted to the memory 102 and / or RF circuit 108. In some embodiments, the audio circuit 110 also includes a headset jack (e.g., 212 in Figure 2). The headset jack provides an interface between the audio circuit 110 and detachable audio input / output peripherals such as output-only headphones or headsets that have both output (e.g., headphones for one or both ears) and input (e.g., a microphone).

[0059] The I / O subsystem 106 connects input / output peripherals on device 100, such as the touchscreen 112 and other input control devices 116, to the peripheral interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, a depth camera controller 169, an intensity sensor controller 159, a haptic feedback controller 161, and one or more input controllers 160 for other input or control devices. One or more input controllers 160 receive electrical signals from / transmit electrical signals to other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons), dials, slider switches, joysticks, click wheels, etc. In some embodiments, one or more input controllers 160 are optionally connected to (or not connected to) one of the following: a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. One or more buttons (e.g., 208 in Figure 2) optionally include up / down buttons for volume control of speaker 111 and / or microphone 113. One or more buttons optionally include push buttons (e.g., 206 in Figure 2). In some embodiments, the electronic device is a computer system communicating with one or more input devices (e.g., via wireless communication over wired communication). In some embodiments, one or more input devices include a touch-sensitive surface (e.g., a trackpad as part of a touch-sensitive display). In some embodiments, one or more input devices include one or more camera sensors (e.g., one or more optical sensors 164 and / or one or more depth camera sensors 175), for example, to track user gestures as input (e.g., hand gestures and / or air gestures). In some embodiments, one or more input devices are integrated with the computer system. In some embodiments, one or more input devices are separate from the computer system.In some embodiments, an air gesture is a gesture detected without the user touching an input element that is part of the device (or independently of an input element that is part of the device), and is based on detected movement of a part of the user's body, including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground, or the distance of the user's hand relative to the ground), movement of the user's body relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of the user's other hand relative to one hand, and / or movement of the user's fingers relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (e.g., a tap gesture including hand movement in a predetermined pose by a predetermined amount and / or speed, or a shake gesture including rotation of a part of the user's body by a predetermined speed or amount).

[0060] As described in U.S. Patent Application No. 11 / 322,549, “Unlocking a Device by Performing Gestures on an Unlock Image,” filed December 23, 2005, U.S. Patent No. 7,657,849, which is incorporated herein by reference in its entirety, a quick press of a push button optionally releases the lock on the touchscreen 112, or optionally initiates a process to unlock the device using gestures on the touchscreen. A longer press of a push button (e.g., 206) optionally turns power on or off the device 100. The functionality of one or more of the buttons is optionally customizable by the user. The touchscreen 112 is used to implement virtual or soft buttons and one or more soft keyboards.

[0061] The touch-sensitive display 112 provides input and output interfaces between the device and the user. The display controller 156 receives electrical signals from and / or transmits electrical signals to the touchscreen 112. The touchscreen 112 displays a visual output to the user. This visual output optionally includes graphics, text, icons, videos, and any combination thereof (collectively, “graphics”). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.

[0062] The touchscreen 112 has a touch-sensing surface, sensor, or set of sensors that accept user input based on touch and / or tactile contact. The touchscreen 112 and the display controller 156 (together with any associated modules and / or instruction sets in memory 102) detect contact (and any movement or interruption of contact) on the touchscreen 112 and translate the detected contact into interaction with user interface objects displayed on the touchscreen 112 (e.g., one or more soft keys, icons, web pages, or images). In an exemplary embodiment, the point of contact between the touchscreen 112 and the user corresponds to the user's finger.

[0063] The touchscreen 112 optionally uses LCD (liquid crystal display) technology, LPD (polymer light-emitting display) technology, or LED (light-emitting diode) technology, but other display technologies may also be used in other embodiments. The touchscreen 112 and the display controller 156 optionally, but not limited to, use any of a number of currently known or future-developed touch sensing technologies, including capacitive, resistive, infrared, and surface acoustic technologies, as well as other proximity sensor arrays or other elements that determine one or more points of contact with the touchscreen 112, to detect contact and any movement or interruption thereof. In exemplary embodiments, projected mutual capacitive sensing technology is used, such as that found in the iPhone® and iPod Touch® from Apple Inc. of Cupertino, California.

[0064] The touch-sensitive displays in some embodiments of the touchscreen 112 are optionally similar to the multi-touch-sensitive touchpads described in U.S. Patent No. 6,323,846 (Westerman et al.), No. 6,570,557 (Westerman et al.), and / or No. 6,677,932 (Westerman), and / or U.S. Patent Application Publication No. 2002 / 0015024(A1), which are each incorporated herein by reference in their entirety. However, the touchscreen 112 displays visual output from device 100, whereas the touch-sensitive touchpad does not provide visual output.

[0065] The touch-sensitive displays in some embodiments of the touchscreen 112 are described in the following applications: (1) U.S. Patent Application No. 11 / 381,313, filed May 2, 2006, "Multipoint Touch Surface Controller"; (2) U.S. Patent Application No. 10 / 840,862, filed May 6, 2004, "Multipoint Touchscreen"; (3) U.S. Patent Application No. 10 / 903,964, filed July 30, 2004, "Gestures For Touch Sensitive Input Devices"; (4) U.S. Patent Application No. 11 / 048,264, filed January 31, 2005, "Gestures For Touch Sensitive Input Devices"; (5) U.S. Patent Application No. 11 / 038,590, filed January 18, 2005, "Mode-Based Graphical User Interfaces For Touch Sensitive Input These are described in (6) U.S. Patent Application No. 11 / 228,758, filed September 16, 2005, "Virtual Input Device Placement On A Touch Screen User Interface", (7) U.S. Patent Application No. 11 / 228,700, filed September 16, 2005, "Operation Of A Computer With A Touch Screen Interface", (8) U.S. Patent Application No. 11 / 228,737, filed September 16, 2005, "Activating Virtual Keys Of A Touch-Screen Virtual Keyboard", and (9) U.S. Patent Application No. 11 / 367,749, filed March 3, 2006, "Multi-Functional Hand-Held Device". All of these applications are incorporated herein by reference in their entirety.

[0066] The touchscreen 112 optionally has a video resolution greater than 100 dpi. In some embodiments, the touchscreen has a video resolution of approximately 160 dpi. The user optionally touches the touchscreen 112 using any suitable object or attachment such as a stylus or finger. In some embodiments, the user interface is designed to operate primarily using finger-based touch and gestures, which may be less precise than stylus-based input due to the larger contact area of ​​the finger on the touchscreen. In some embodiments, the device translates coarse finger input into a precise pointer / cursor position or command to perform an action desired by the user.

[0067] In some embodiments, in addition to the touchscreen, the device 100 optionally includes a touchpad for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensing area of ​​the device that, unlike the touchscreen, does not display a visual output. The touchpad is optionally a touch-sensing surface separate from the touchscreen 112 or an extension of the touch-sensing surface formed by the touchscreen.

[0068] Device 100 also includes a power system 162 that supplies power to various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., battery, alternating current (AC)), a recharge system, a power failure detection circuit, a power converter or inverter, a power status indicator (e.g., a light-emitting diode (LED)), and any other components associated with generating, managing, and distributing power within the portable device.

[0069] The device 100 also optionally includes one or more optical sensors 164. Figure 1A shows an optical sensor coupled to an optical sensor controller 158 in the I / O subsystem 106. The optical sensor 164 optionally includes a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives light from the environment projected through one or more lenses and converts that light into data representing an image. The optical sensor 164 works in conjunction with an imaging module 143 (also called a camera module) to optionally capture still images or video. In some embodiments, the optical sensor is located on the back of the device 100 opposite the touchscreen display 112 on the front of the device, so that the touchscreen display can be used as a viewfinder for acquiring still images and / or video. In some embodiments, the optical sensor is located on the front of the device so that the user's image is optionally acquired for video conferencing while the user is viewing other video conference participants on the touchscreen display. In some embodiments, the position of the optical sensor 164 can be changed by the user (for example, by rotating the lens and sensor within the device housing), so that a single optical sensor 164 can be used for both video conferencing and acquiring still images and / or videos, together with the touchscreen display.

[0070] Device 100 also optionally includes one or more depth camera sensors 175. Figure 1A shows a depth camera sensor coupled to a depth camera controller 169 in the I / O subsystem 106. The depth camera sensor 175 receives data from the environment to create a three-dimensional model of an object in the scene (e.g., a face) from a viewpoint (e.g., the depth camera sensor). In some embodiments, in conjunction with an imaging module 143 (also called a camera module), the depth camera sensor 175 is optionally used to determine depth maps of different parts of an image captured by the imaging module 143. In some embodiments, the depth camera sensor is positioned on the front of Device 100 to optionally acquire an image of the user with depth information for video conferencing while the user views other video conference participants on a touchscreen display, and also to capture a selfie image with depth map data. In some embodiments, the depth camera sensor 175 is positioned on the back of the device, or on both the back and front of Device 100. In some embodiments, the position of the depth camera sensor 175 can be changed by the user (for example, by rotating the lens and sensor within the device housing), so that the depth camera sensor 175, together with the touchscreen display, can be used for both video conferencing and the acquisition of still images and / or videos.

[0071] Device 100 also optionally includes one or more contact intensity sensors 165. Figure 1A shows a contact intensity sensor coupled to an intensity sensor controller 159 in the I / O subsystem 106. The contact intensity sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electric force sensors, pressure-power sensors, optical force sensors, capacitive touch-sensing surfaces, or other intensity sensors (e.g., sensors used to measure the force (or pressure) of contact on a touch-sensing surface). The 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 positioned juxtaposed with or adjacent to a touch-sensing surface (e.g., a touch-sensing display system 112). In some embodiments, at least one contact intensity sensor is positioned on the back of Device 100, opposite the touchscreen display 112 located on the front of Device 100.

[0072] The device 100 also optionally includes one or more proximity sensors 166. Figure 1A shows a proximity sensor 166 coupled to a peripheral interface 118. Alternatively, the proximity sensor 166 is optionally coupled to an input controller 160 in the I / O subsystem 106. The proximity sensor 166 optionally functions as described in U.S. Patent Applications 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,” which are all incorporated herein by reference. In some embodiments, if the multifunction device is placed near the user's ear (for example, when the user is making a phone call), the proximity sensor turns off and disables the touchscreen 112.

[0073] Device 100 also optionally includes one or more tactile output generators 167. Figure 1A shows a tactile output generator coupled to a tactile feedback controller 161 in the I / O subsystem 106. The tactile output generators 167 optionally include one or more electroacoustic devices such as speakers or other audio components, and / or electromechanical devices that convert energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other tactile output generating components (e.g., components that convert electrical signals into tactile output on the device). The contact intensity sensor 165 receives a tactile feedback generation command from the tactile feedback module 133 and generates a tactile output on device 100 that can be sensed by the user of device 100. In some embodiments, at least one haptic output generator is positioned alongside or adjacent to a touch-sensing surface (e.g., a touch-sensing display system 112) and optionally generates haptic output by moving the touch-sensing surface vertically (e.g., inward / outward from the surface of device 100) or horizontally (e.g., forward / backward in the same plane as the surface of device 100). In some embodiments, at least one haptic output generator sensor is positioned on the back of device 100, opposite the touchscreen display 112 which is positioned on the front of device 100.

[0074] The device 100 also optionally includes one or more accelerometers 168. Figure 1A shows an accelerometer 168 coupled to a peripheral interface 118. Alternatively, the accelerometer 168 is optionally coupled to an input controller 160 in the I / O subsystem 106. The accelerometer 168 optionally functions as described in U.S. Patent Application Publication 20050190059, "Acceleration-based Theft Detection System for Portable Electronic Devices," and U.S. Patent Application Publication 20060017692, "Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer," both of which are incorporated herein by reference in their entirety. In some embodiments, information is displayed on a touchscreen display in portrait or landscape orientation based on an analysis of data received from one or more accelerometers. In addition to one or more accelerometers 168, device 100 optionally includes a magnetometer and a GPS (or GLONASS or other global navigation system) receiver for acquiring information regarding the position and orientation of device 100 (e.g., vertical or horizontal).

[0075] In some embodiments, the software components stored in memory 102 include an operating system 126, a communications module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a Global Positioning System (GPS) module (or instruction set) 135, and an application (or instruction set) 136. Furthermore, in some embodiments, memory 102 (Figure 1A) or 370 (Figure 3) stores a device / global internal state 157, as shown in Figures 1A and 3. The device / global internal state 157 includes one or more of the following: an active application state indicating which application is active, if there is an application currently active; a display state indicating which applications, views, or other information occupy different areas of the touchscreen display 112; a sensor state including information obtained from various sensors and input control devices 116 of the device; and location information relating to the device's position and / or orientation.

[0076] An operating system 126 (for example, an embedded operating system such as Darwin, RTXC, LINUX, UNIX®, OS X®, iOS, WINDOWS®, or VxWorks) includes various software components and / or drivers that control and manage general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitate communication between various hardware components and software components.

[0077] The communication module 128 facilitates communication with other devices via one or more external ports 124 and also includes various software components for processing data received by the RF circuit 108 and / or the external ports 124. The external ports 124 (e.g., Universal Serial Bus (USB), FireWire®, etc.) are adapted to connect to other devices directly or indirectly via a network (e.g., the Internet, Wi-Fi, etc.). In some embodiments, the external ports are multi-pin (e.g., 30-pin) connectors that are the same as and / or compatible with the 30-pin connector used on iPod® (a trademark of Apple Inc.) devices.

[0078] The contact / motion module 130 optionally detects contact with the touchscreen 112 and other touch-sensitive devices (e.g., a touchpad or physical click wheel) (in cooperation with the display controller 156). The contact / motion module 130 includes various software components for performing various contact detection operations, such as determining whether contact has occurred (e.g., detecting a finger down event), determining the intensity of the contact (e.g., the force or pressure of the contact, or a substitute for the force or pressure of the contact), determining whether there is movement of contact and tracking movement across the touch-sensitive surface (e.g., detecting one or more events of a finger dragging), and determining whether contact has stopped (e.g., detecting a finger up event or interruption of contact). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point, represented by a series of contact data, optionally includes determining the speed (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point. These actions can be optionally applied to a single contact (e.g., a single finger contact) or multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts). In some embodiments, the contact / motion module 130 and the display controller 156 detect contact on the touchpad.

[0079] 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 (for example, to determine whether a user has "clicked" on an icon). In some embodiments, at least one subset of the intensity thresholds is determined according to a software parameter (for example, the intensity thresholds can be adjusted without modifying the physical hardware of device 100, rather than being determined by the activation threshold of a particular physical actuator). For example, the mouse "click" threshold for a trackpad or touchscreen display can be set to one of a range of default thresholds without modifying the trackpad or touchscreen display hardware. In addition, in some implementations, the user of the device is provided with software settings to adjust one or more of the set of intensity thresholds (for example, by adjusting individual intensity thresholds and / or by adjusting multiple intensity thresholds at once using a system-level click "intensity" parameter).

[0080] The contact / motion module 130 optionally detects gesture input from the user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motion, timing, and / or intensity of the detected contact). Therefore, gestures are optionally detected by detecting a specific contact pattern. For example, detecting a finger tap gesture involves detecting a finger down event, followed by a finger up (lift-off) event at the same location (or substantially the same location) as the finger down event (e.g., the location of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface involves detecting a finger down event, followed by one or more finger drag events, and then a finger up (lift-off) event.

[0081] The graphics module 132 includes various known software components for rendering and displaying graphics on the touchscreen 112 or other display, including components for changing the visual effects of the displayed graphics (e.g., brightness, transparency, saturation, contrast, or other visual properties). In this specification, the term “graphics” includes, but is not limited to, any object that can be displayed to the user, including characters, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc.

[0082] In some embodiments, the graphics module 132 stores data representing the graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes from an application or the like, as needed, along with coordinate data and other graphic characteristic data, specifying the graphics to be displayed, and then generates screen image data to output to the display controller 156.

[0083] The haptic feedback module 133 includes various software components for generating commands used by a haptic output generator(s) 167, and generates haptic outputs at one or more locations on the device 100 in response to the user's interaction with the device 100.

[0084] The text input module 134 is optionally a component of the 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 applications that require text input).

[0085] The GPS module 135 determines the device's location and provides this information for use in various applications (for example, to the phone 138 for use in location-based dialing, to the camera 143 as picture / video metadata, and to applications that provide location-based services such as weather widgets, local yellow pages widgets, and map / navigation widgets).

[0086] Application 136 optionally includes the following modules (or instruction sets) or subsets or supersets thereof: ● Contact module 137 (sometimes called the address book or contact list), ●Telephone module 138, ●Video conferencing module 139, ● Email client module 140, ● Instant messaging (IM) module 141, ●Training support module 142, ● 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, ●Optionally, a widget module 149 may include one or more of the following: weather widget 149-1, stock price widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, other widgets obtained by the user, and user-created widgets 149-6. ●Widget creator module 150 for creating user-created widget 149-6, ● Search module 151, ●Video and music player module 152, which integrates a video player module and a music player module. ●Memo Module 153, ●Map module 154, and / or, ● Online video module 155.

[0087] Examples of other applications 136 that may be 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, speech recognition, and speech duplication.

[0088] In conjunction with the touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, the contact module 137 optionally includes adding names(s) to the address book, deleting names(s) from the address book, associating telephone numbers(s) or email addresses(s) or other information with names, associating images with names, categorizing and sorting names, and providing telephone numbers or email addresses to initiate and / or facilitate communication via telephone 138, video conferencing module 139, email 140, or IM 141. It is used to manage the address book or contact list (for example, stored in the application internal state 192 of the contact module 137 in memory 102 or memory 370).

[0089] The telephone module 138 works in conjunction with the RF circuit 108, audio circuit 110, speaker 111, microphone 113, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134 to optionally input a series of characters corresponding to a telephone number, access one or more telephone numbers in the contact module 137, modify an entered telephone number, dial a specific telephone number, make a call, and disconnect and terminate a call at the end of the call. As previously mentioned, wireless communication may optionally use any of several communication standards, protocols, and technologies.

[0090] The video conferencing module 139 works in conjunction with the RF circuit 108, audio circuit 110, speaker 111, microphone 113, touchscreen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132, text input module 134, contact module 137, and telephone module 138 to include executable commands for starting, running, and ending video conferences between the user and one or more other participants in accordance with the user's commands.

[0091] The email client module 140, in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, includes executable commands for creating, sending, receiving, and managing emails in response to user commands. In conjunction with the image management module 144, the email client module 140 makes it extremely easy to create and send emails containing still or video images captured by the camera module 143.

[0092] The instant messaging module 141, in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, includes executable commands for inputting a series of characters corresponding to an instant message, modifying previously entered characters, sending a specific instant message (for example, using the Short Message Service (SMS) or Multimedia Message Service (MMS) protocol for telephone-based instant messaging, or XMPP, SIMPLE, or IMPS for internet-based instant messaging), receiving an instant message, and viewing a received instant message. In some embodiments, the instant messages sent and / or received optionally include graphics, photographs, audio files, video files, and / or other attachments, such as those supported by MMS and / or Enhanced Messaging Service (EMS). In this specification, “instant messaging” refers to both telephone-based messaging (e.g., messages sent using SMS or MMS) and internet-based messaging (e.g., messages sent using XMPP, SIMPLE, or IMPS).

[0093] The training support module 142 works in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music player module to create training (e.g., with time, distance, and / or calorie burn goals), communicate with training sensors (sports devices), receive training sensor data, calibrate sensors used to monitor training, select and play music for training, and includes executable commands for displaying, storing, and transmitting training data.

[0094] The camera module 143 works in conjunction with the touchscreen 112, display controller 156, optical sensor(s) 164, optical sensor controller 158, contact / motion module 130, graphics module 132, and image management module 144 to include executable commands for capturing still images or videos (including video streams) and storing them in memory 102, modifying the characteristics of still images or videos, or deleting still images or videos from memory 102.

[0095] The image management module 144 works in conjunction with the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and camera module 143 to include executable commands for arranging, modifying (e.g., editing), or otherwise manipulating still images and / or videos, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing them.

[0096] The browser module 147, in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, includes executable commands for browsing the internet according to user commands, including searching, linking, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.

[0097] The calendar module 148 works in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, email client module 140, and browser module 147 to include executable commands for creating, displaying, modifying, and storing a calendar and data associated with the calendar (e.g., calendar items, to-do lists, etc.) in accordance with user commands.

[0098] The widget module 149 works in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and browser module 147 to optionally download and use 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) or mini-applications created by the user (e.g., user-created widget 149-6). In some embodiments, the widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, the widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., Yahoo! Widgets®).

[0099] The widget creator module 150 works in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and browser module 147 to be used by the user to optionally create widgets (for example, to turn a user-specified portion of a web page into a widget).

[0100] The search module 151 works in conjunction with the touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134 to include executable commands for searching for characters, music, sounds, images, videos, and / or other files in memory 102 that match one or more search criteria (e.g., one or more user-specified search terms) according to user commands.

[0101] The video and music player module 152 works in conjunction with the touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, and browser module 147 to include executable commands that allow the user to download and play recorded music and other sound files stored in one or more file formats such as MP3 or AAC files, as well as executable commands for displaying, presenting, or otherwise playing videos (for example, on the touchscreen 112 or on an external display connected via the external port 124). In some embodiments, the device 100 optionally includes the functionality of an MP3 player such as an iPod (a trademark of Apple Inc.).

[0102] The memo module 153 works in conjunction with the touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134 to include executable commands for creating and managing memos, to-do lists, etc., according to user commands.

[0103] The map module 154 works in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147 to optionally receive, display, modify, and store maps and map-related data (e.g., driving directions, data on shops and other points of interest at or near a specific location, and other location-based data) in accordance with user commands.

[0104] The online video module 155, in conjunction with the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, text input module 134, email client module 140, and browser module 147, includes instructions that enable the user to access, browse, 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 specific online videos, and perform other management of online videos in one or more file formats such as H.264. In some embodiments, an instant messaging module 141 is used instead of the email client module 140 to send links to specific online videos. For further information regarding online video applications, please refer to U.S. Provisional Patent Application No. 60 / 936,562, “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, “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” filed December 31, 2007, the entire contents of which are incorporated herein by reference.

[0105] Each of the modules and applications identified above corresponds to a set of executable instructions that perform one or more of the functions described above and the methods described in this application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., instruction sets) do not need to be implemented as separate software programs (e.g., computer programs containing instructions), procedures, or modules, and therefore in various embodiments, various subsets of these modules may be optionally combined or otherwise reconfigured. For example, a video player module may optionally be combined with a music player module to form a single module (e.g., the video and music player module 152 in Figure 1A). In some embodiments, memory 102 may optionally store a subset of the modules and data structures identified above. Furthermore, memory 102 may optionally store additional modules and data structures not described above.

[0106] In some embodiments, device 100 is a device in which the operation of a default set of functions in the device is performed solely via a touchscreen and / or touchpad. By using a touchscreen and / or touchpad as the primary input control device for device 100 to operate, the number of physical input control devices (push buttons, dials, etc.) on device 100 is optionally reduced.

[0107] A default set of functions, which are performed only through the touchscreen and / or touchpad, optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by the user, navigates the device 100 from any user interface displayed on the device 100 to the main menu, home menu, or root menu. 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.

[0108] Figure 1B is a block diagram showing exemplary components for event processing according to several embodiments. In some embodiments, memory 102 (Figure 1A) or 370 (Figure 3) includes an event sorting unit 170 (e.g., within the operating system 126) and a specific application 136-1 (e.g., any of the aforementioned applications 137-151, 155, 380-390).

[0109] The event sorting unit 170 receives event information and determines the application 136-1 that distributes the event information, and the application view 191 of application 136-1. The event sorting unit 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes an application internal state 192 that indicates the current application view(s) displayed on the touch-sensitive display 112 when the application is active or running. In some embodiments, a device / global internal state 157 is used by the event sorting unit 170 to determine which application(s) are currently active, and the application internal state 192 is used by the event sorting unit 170 to determine the application view(s) to which the event information is distributed.

[0110] In some embodiments, the application internal state 192 includes additional information such as resume information to be used when the application 136-1 resumes execution, user interface state information that indicates or is ready to display information displayed by the application 136-1, a state queue that allows the user to return to a previous state or view of the application 136-1, and one or more redo / undo queues of previous actions performed by the user.

[0111] The event monitor 171 receives event information from the peripheral interface 118. The event information includes information about sub-events (for example, user touch as part of a multi-touch gesture on the touch-sensitive display 112). The peripheral interface 118 transmits information received from the I / O subsystem 106, or from sensors such as the proximity sensor 166, one or more accelerometers 168, and / or the microphone 113 (via the audio circuit 110). The information received by the peripheral interface 118 from the I / O subsystem 106 includes information from the touch-sensitive display 112 or the touch-sensitive surface.

[0112] In some embodiments, the event monitor 171 sends requests to the peripheral interface 118 at predetermined intervals. In response, the peripheral interface 118 transmits event information. In other embodiments, the peripheral interface 118 transmits event information only when there is a significant event (e.g., reception of input exceeding a predetermined noise threshold and / or exceeding a predetermined duration).

[0113] In some embodiments, the event sorting unit 170 also includes a hit view determination module 172 and / or an active event recognition unit determination module 173.

[0114] The hit view determination module 172 provides a software procedure for determining where in one or more views a sub-event occurred when the touch-sensitive display 112 is displaying two or more views. A view consists of control devices and other elements that the user can see on the display.

[0115] Another aspect of the user interface associated with an application is a set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application view (of a particular application) in which a touch is detected optionally corresponds to the program level within the application's program hierarchy or view hierarchy. For example, the lowest-level view in which a touch is detected is optionally called a hit view, and the set of events recognized as appropriate input is optionally determined at least in part based on the hit view of the initial touch that initiates a touch gesture.

[0116] The hit view determination module 172 receives information related to sub-events of touch-based gestures. When an application has multiple views arranged in a hierarchy, the hit view determination module 172 identifies the hit view as the lowest-level view in the hierarchy from which the sub-events should be processed. In most situations, the hit view is the lowest-level view from which the initiating sub-event (e.g., the first sub-event in a series of sub-events that form an event or potential event) occurs. Once a hit view is identified by the hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source that was identified as the hit view.

[0117] The active event recognition determination module 173 determines which view(s) in the view hierarchy should receive a particular set of sub-events. In some embodiments, the active event recognition determination module 173 determines that only the hit view should receive a particular set of sub-events. In other embodiments, the active event recognition determination module 173 determines that all views, including the physical location of the sub-events, are actively involved views, and therefore all actively involved views should receive a particular set of sub-events. In other embodiments, even if the touch sub-event is entirely confined to an area associated with one particular view, higher-level views in the hierarchy still remain actively involved views.

[0118] The event dispatcher module 174 dispatches event information to an event recognition unit (e.g., an event recognition unit 180). In embodiments including an active event recognition unit determination module 173, the event dispatcher module 174 distributes the event information to the event recognition unit determined by the active event recognition unit determination module 173. In some embodiments, the event dispatcher module 174 stores event information acquired by a specific event receiving unit 182 in an event queue.

[0119] In some embodiments, the operating system 126 includes an event sorting unit 170. Alternatively, application 136-1 includes an event sorting unit 170. In yet another embodiment, the event sorting unit 170 is a standalone module or part of another module stored in memory 102, such as a contact / motion module 130.

[0120] In some embodiments, application 136-1 includes a plurality of event processing units 190 and one or more application views 191, each containing instructions for handling touch events occurring within a particular view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognition units 180. Typically, a particular application view 191 includes a plurality of event recognition units 180. In other embodiments, one or more of the event recognition units 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, a particular event processing unit 190 includes one or more event data 179 received from a data update unit 176, an object update unit 177, a GUI update unit 178, and / or an event sorting unit 170. The event processing unit 190 optionally uses or calls the data update unit 176, the object update unit 177, or the GUI update unit 178 to update the application's internal state 192. Alternatively, one or more of the application views 191 include one or more specific event processing units 190. In some embodiments, one or more of the data update unit 176, object update unit 177, and GUI update unit 178 are included in a specific application view 191.

[0121] A specific event recognition unit 180 receives event information (e.g., event data 179) from the event sorting unit 170 and identifies an event from the event information. The event recognition unit 180 includes an event receiving unit 182 and an event comparison unit 184. In some embodiments, the event recognition unit 180 also includes at least a subset of metadata 183 and event distribution commands 188 (optionally including sub-event distribution commands).

[0122] The event receiving unit 182 receives event information from the event sorting unit 170. The event information includes information about sub-events, such as touches or the movement of touches. Depending on the sub-event, the event information also includes additional information such as the position of the sub-event. When the sub-event involves the movement of a touch, the event information also optionally includes the speed and direction of the sub-event. In some embodiments, an event includes the 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 called the device's orientation).

[0123] The event comparison unit 184 compares event information with a predefined definition of an event or sub-event, and based on the comparison, determines the event or sub-event, or determines or updates the state of the event or sub-event. In some embodiments, the event comparison unit 184 includes an event definition 186. The event definition 186 includes definitions of events (e.g., a default set of sub-events), such as event 1 (187-1) and event 2 (187-2). In some embodiments, sub-events within event (187) include, for example, touch start, touch end, touch movement, touch cancel, and multiple touches. In one embodiment, the definition for event 1 (187-1) is a double tap on a displayed object. A double tap includes, for example, a first touch on the displayed object for a predetermined stage (touch start), a first lift-off for the predetermined stage (touch end), a second touch on the displayed object for the predetermined stage (touch start), and a second lift-off for the predetermined stage (touch end). In another embodiment, event 2(187-2) is defined as a drag on a displayed object. The drag includes, for example, a touch (or contact) on the displayed object to a predetermined stage, movement of the touch across the touch-sensitive display 112, and lift-off of the touch (end of touch). In some embodiments, the event also includes information about one or more associated event processing units 190.

[0124] In some embodiments, the event definition 187 includes an event definition for a specific user interface object. In some embodiments, the event comparison unit 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view where three user interface objects are displayed on the touch-sensitive display 112, when a touch is detected on the touch-sensitive display 112, the event comparison unit 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 specific event processing unit 190, the event comparison unit uses the results of the hit test to determine which event processing unit 190 should be activated. For example, the event comparison unit 184 selects the sub-event and the event processing unit associated with the object that triggers the hit test.

[0125] In some embodiments, the definition of a particular event 187 also includes a delay action that delays the transmission of event information until it is determined whether a series of sub-events correspond to an event type in the event recognition unit.

[0126] If a specific event recognition unit 180 determines that a series of sub-events does not match any of the events in the event definition 186, the specific event recognition unit 180 enters an event impossible, event failed, or event terminated state, and thereafter ignores subsequent sub-events of the touch-based gesture. In this situation, if there are other event recognition units that remain active for the hit view, those event recognition units continue to track and process the sub-events of the ongoing touch-based gesture.

[0127] In some embodiments, a particular event recognition unit 180 includes metadata 183 having configurable properties, flags, and / or lists that indicate to the actively involved event recognition unit how the event distribution system should perform sub-event distribution. In some embodiments, the metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognition units interact with each other, or how they can interact with each other. In some embodiments, the metadata 183 includes configurable properties, flags, and / or lists that indicate how sub-events are distributed to various levels in the view hierarchy or program hierarchy.

[0128] In some embodiments, a specific event recognition unit 180 activates an event processing unit 190 associated with an event when one or more specific sub-events of an event are recognized. In some embodiments, the specific event recognition unit 180 delivers event information associated with the event to the event processing unit 190. Activating the event processing unit 190 is separate from sending (and delaying the sending of) sub-events to a specific hit view. In some embodiments, the event recognition unit 180 sets a flag associated with the recognized event, and the event processing unit 190 associated with that flag captures the flag and executes a default process.

[0129] In some embodiments, the event distribution command 188 includes a sub-event distribution command that distributes event information about a sub-event without activating an event processing unit. Instead, the sub-event distribution command distributes event information to an event processing unit associated with a set of sub-events, or to an actively involved view. The event processing unit associated with the set of sub-events or the actively involved view receives the event information and executes a predetermined process.

[0130] In some embodiments, the data update unit 176 creates and updates data used in application 136-1. For example, the data update unit 176 updates telephone numbers used in contact module 137 or stores video files used in video player module. In some embodiments, the object update unit 177 creates and updates objects used in application 136-1. For example, the object update unit 177 creates new user interface objects or updates the position of user interface objects. The GUI update unit 178 updates the GUI. For example, the GUI update unit 178 prepares display information and sends it to graphics module 132 for display on touch-sensitive display.

[0131] In some embodiments, the event processing unit(s) 190 includes or has access to a data update unit 176, an object update unit 177, and a GUI update unit 178. In some embodiments, the data update unit 176, the object update unit 177, and the GUI update unit 178 are contained within a single module of a specific application 136-1 or application view 191. In other embodiments, they are contained within two or more software modules.

[0132] The foregoing description regarding the handling of user touch events on a touch-sensitive display also applies to other forms of user input for operating the multifunction device 100 using input devices, but it should be understood that not all of these begin on the touchscreen. For example, mouse movement and mouse button presses, touch movements such as taps, drags, and scrolls on a touchpad, pen stylus input, device movement, verbal commands, detected eye movements, biometric input, and / or any combination thereof may be optionally used as inputs corresponding to sub-events that define the events to be recognized.

[0133] Figure 2 shows a portable multifunction device 100 having a touchscreen 112 according to several embodiments. The touchscreen optionally displays one or more graphics within a user interface (UI) 200. In this embodiment, and in other embodiments described below, the user can select one or more of the graphics by performing gestures on the graphics using, for example, one or more fingers 202 (not shown in the figure to an exact scale) or one or more styluses 203 (not shown in the figure to an exact scale). In some embodiments, the selection of one or more graphics is performed when the user interrupts contact with that one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (from left to right, right to left, upward and / or downward) and / or rolling (from right to left, left to right, upward and / or downward) with a finger in contact with the device 100. In some implementations or situations, accidental contact with a graphic does not constitute a selection of that graphic. For example, if the gesture corresponding to selection is a tap, a swipe gesture sweeping over an application icon does not arbitrarily select the corresponding application.

[0134] Device 100 also optionally includes one or more physical buttons, such as a "Home" button or a menu button 204. As previously mentioned, the menu button 204 is optionally used to navigate to any application 136 within a set of applications running on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on the touchscreen 112.

[0135] In some embodiments, device 100 includes a touchscreen 112, a menu button 204, a push button 206 for turning the device on / off and locking the device, one or more volume buttons 208, a subscriber identification module (SIM) card slot 210, a headset jack 212, and an external port 124 for docking / charging. The push button 206 is optionally used to turn the device on / off by pressing down and holding the button down for a predetermined period of time, to lock the device by pressing down and releasing the button before a predetermined period of time has elapsed, and / or to unlock the device or to initiate an unlocking process. In alternative embodiments, device 100 also accepts verbal input via a microphone 113 to activate or deactivate certain functions. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of contact on the touchscreen 112, and / or one or more tactile output generators 167 for generating tactile output to the user of device 100.

[0136] Figure 3 is a block diagram of an exemplary multifunctional device having a display and a touch-sensitive surface according to several embodiments. The device 300 does not need to be portable. In some embodiments, the device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a children's learning toy), a game system, or a control device (e.g., a home or commercial controller). The 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. The communication buses 320 optionally include circuitry (sometimes called a chipset) that interconnects and controls communication between system components. The device 300 includes an input / output (I / O) interface 330 including a display 340, the display 340 is typically a touchscreen display. The I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 that generates tactile output on device 300 (for example, similar to the tactile output generator(s) 167 described above with reference to Figure 1A), and a sensor 359 (for example, light, acceleration, proximity, touch sensing, and / or a contact intensity sensor similar to the contact intensity sensor(s) 165 described above with reference to Figure 1A). The 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. The memory 370 optionally includes one or more storage devices located remotely from the CPU(s) 310.In some embodiments, memory 370 stores programs, modules, and data structures similar to, or subsets thereof, that are stored in memory 102 of the portable multifunction device 100 (Figure 1A). Furthermore, memory 370 optionally stores additional programs, modules, and data structures that are not present in memory 102 of the portable multifunction device 100. For example, memory 370 of device 300 optionally stores a drawing module 380, a presentation module 382, ​​a word processing module 384, a website creation module 386, a disk authoring module 388, and / or a spreadsheet module 390, whereas memory 102 of the portable multifunction device 100 (Figure 1A) optionally does not store these modules.

[0137] Each of the elements identified above in Figure 3 is optionally stored in one or more of the memory devices described above. Each of the modules identified above corresponds to an instruction set that performs the function described above. The modules or computer programs (e.g., instruction sets or instructions) identified above do not need to be implemented as separate software programs (e.g., computer programs (including instructions)), procedures, or modules, and therefore in various embodiments, various subsets of these modules are optionally combined or otherwise reconfigured. In some embodiments, memory 370 optionally stores subsets of the modules and data structures identified above. Furthermore, memory 370 optionally stores additional modules and data structures not described above.

[0138] Next, we optionally turn our attention to an embodiment of a user interface implemented in, for example, a portable multi-functional device 100.

[0139] Figure 4A shows an exemplary user interface for an application menu on a portable multifunction device 100 according to several embodiments. A similar user interface is optionally implemented on device 300. In some embodiments, the user interface 400 includes the following elements, or subsets or supersets thereof. ●Signal strength indicators (single or multiple) for wireless communication (single or multiple) such as cellular signals and Wi-Fi signals 402, ●Time 404, ●Bluetooth indicator 405, ●Battery status indicator 406, ●Tray 408 containing icons for frequently used applications, as shown below. ○Optionally including an indicator 414 for the number of missed calls or voicemail messages, an icon 416 of the telephone module 138 labeled "Telephone", ○Optionally including an indicator 410 for the number of unread emails, an icon 418 of the email client module 140 labeled "Mail", ○ Icon 420 of browser module 147, labeled "Browser", and ○ Icon 422 for the video and music player module 152, also known as the iPod (trademark of Apple Inc.) module 152, which is labeled "iPod", and ● Icons of other applications, such as the following: ○ Icon 424 of IM module 141, labeled "Message", ○ Icon 426 of calendar module 148, labeled "Calendar" ○ Icon 428 of image management module 144, labeled "Photo" ○ Icon 430 of camera module 143, labeled "Camera" ○ Icon 432 of online video module 155, labeled "online video", ○ Icon 434 of stock price widget 149-2, labeled "Stock Price" ○ Icon 436 of map module 154, labeled "Map" ○ Icon 438 of weather widget 149-1, labeled "Weather" ○ Icon 440 of the alarm clock widget 149-4, labeled "Clock" ○ Icon 442 of training support module 142, labeled "Training Support" ○ Icon 444 of memo module 153, labeled as "Memo", and ○ An icon 446 labeled "Settings," which provides access to the settings of device 100 and its various applications 136, for a settings application or module.

[0140] Please note that the icon labels shown in Figure 4A are for illustrative purposes only. For example, the icon 422 for the video and music player module 152 is labeled "Music" or "Music Player". Other labels are used optionally for various application icons. In some embodiments, the label for a particular application icon includes the name of the application to which that particular application icon corresponds. In some embodiments, the label for a particular application icon is different from the name of the application to which that particular application icon corresponds.

[0141] Figure 4B shows an exemplary user interface on a device (e.g., device 300 in Figure 3) having a touch-sensitive surface 451 (e.g., tablet or touchpad 355 in Figure 3) separate from the 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) for detecting the intensity of contact on the touch-sensitive surface 451, and / or one or more tactile output generators 357 for generating tactile output to the user of device 300.

[0142] Some of the following examples are given by referring to input on a touchscreen display 112 (a combination of a touch-sensing surface and a display), but in some embodiments, the device detects input on a touch-sensing surface separate from the display, as shown in Figure 4B. In some embodiments, the touch-sensing surface (e.g., 451 in Figure 4B) has a primary axis (e.g., 452 in Figure 4B) corresponding to a primary axis (e.g., 453 in Figure 4B) on the display (e.g., 450). According to these embodiments, the device detects contact with the touch-sensing surface 451 (e.g., 460 and 462 in Figure 4B) at positions corresponding to each of the positions on the display (e.g., 460 corresponds to 468 and 462 corresponds to 470 in Figure 4B). In this way, user input (e.g., touches 460 and 462, and their movement) detected by the device on a touch-sensitive surface (e.g., 451 in Figure 4B) is used by the device to operate the user interface on the display of the multifunction device (e.g., 450 in Figure 4B) when the touch-sensitive surface is separate from the display. It should be understood that a similar method may be optionally used for other user interfaces described herein.

[0143] In addition, while the following examples are given primarily with reference to finger input (e.g., finger touch, finger tap gesture, finger swipe gesture), it should be understood that in some embodiments, one or more of the finger inputs may be replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture may optionally be replaced by a mouse click (e.g., instead of touch), followed by a mouse click with cursor movement along the swipe path (e.g., instead of touch movement). As another example, a tap gesture may optionally be replaced by a mouse click (e.g., instead of touch detection and subsequent cessation of touch detection) while the cursor is located over the tap gesture position. Similarly, it should be understood that when multiple user inputs are detected simultaneously, multiple computer mice may optionally be used simultaneously, or mouse and finger touch may optionally be used simultaneously.

[0144] Figure 5A shows an exemplary personal electronic device 500. Device 500 includes a body 502. In some embodiments, device 500 may include some or all of the features described with respect to devices 100 and 300 (e.g., Figures 1A to 4B). In some embodiments, device 500 has a touch-sensitive display screen 504, hereafter referred to as touchscreen 504. Alternatively, in addition to touchscreen 504, device 500 may have a display and a touch-sensitive surface. Similar to devices 100 and 300, in some embodiments, the touchscreen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors that detect the intensity of the applied contact (e.g., touch). One or more intensity sensors on the touchscreen 504 (or touch-sensitive surface) may provide output data representing the intensity of the touch. The user interface of device 500 may respond to touches based on their intensity, meaning that touches of different intensity may invoke different user interface behaviors on device 500.

[0145] For example, see, for instance, International Patent Application PCT / US2013 / 040061, “Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application,” filed 8 May 2013, published as International Publication WO / 2013 / 169849, and International Patent Application PCT / US2013 / 069483, “Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships,” filed 11 November 2013, published as International Publication WO / 2014 / 105276.

[0146] In some embodiments, the device 500 has one or more input mechanisms 506 and 508. The input mechanisms 506 and 508 may be physical, if included. Examples of physical input mechanisms include push buttons and rotatable mechanisms. In some embodiments, the device 500 has one or more attachment mechanisms. Such attachment mechanisms, if included, can allow the device 500 to be attached to, for example, hats, eyeglasses, earrings, necklaces, shirts, jackets, bracelets, watch bands, chains, trousers, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow the user to wear the device 500.

[0147] Figure 5B shows an exemplary personal electronic device 500. In some embodiments, the device 500 may include some or all of the components described with respect to Figures 1A, 1B, and 3. The device 500 has a bus 512 that operably connects an I / O section 514 to one or more computer processors 516 and memory 518. The I / O section 514 may be connected to a display 504, which may 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 may 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 technologies. The device 500 may include input mechanisms 506 and / or 508. The input mechanism 506 may optionally be, for example, a rotatable input device or a pressable and rotatable input device. In some embodiments, the input mechanism 508 is optionally a button.

[0148] In some embodiments, 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, a direction sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or a combination thereof, all of which can be operably connected to the I / O section 514.

[0149] The memory 518 of the personal electronic device 500 may include one or more non-temporary computer-readable storage media for storing computer-executable instructions, which, when executed by one or more computer processors 516, can cause the computer processors to execute techniques described below, including, for example, processes 1500 and 1600 (Figures 15-16). The computer-readable storage media may be any medium capable of tangibly containing or storing computer-executable instructions used by or in connection with an instruction execution system, apparatus, or device. In some embodiments, the storage medium is a temporary computer-readable storage medium. In some embodiments, the storage medium is a non-temporary computer-readable storage medium. The non-temporary computer-readable storage medium may include, but is not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, CDs, DVDs, or optical disks based on Blu-ray® technology, as well as persistent solid-state memories such as flash and solid-state drives. The personal electronic device 500 is not limited to the components and configurations shown in Figure 5B, and may include other or additional components in multiple configurations.

[0150] As used herein, the term “affordance” refers to user-interactive graphical user interface objects that are optionally displayed on the display screens of devices 100, 300, and / or 500 (Figures 1A, 3, and 5A-5B). For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) each optionally constitute an affordance.

[0151] As used herein, the term “focus selector” refers to an input element that indicates the current part of the user interface that the user is interacting with. In some implementations, including a cursor or other position marker, the cursor acts as a “focus selector,” and therefore, when an input (e.g., a press input) is detected on a touch-sensitive surface (e.g., touchpad 355 in Figure 3 or touch-sensitive surface 451 in Figure 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, including a touchscreen display that enables direct interaction with user interface elements on the touchscreen display (e.g., touch-sensitive display system 112 in Figure 1A or touchscreen 112 in Figure 4A), a detected contact on the touchscreen acts as a “focus selector,” and therefore, when an input (e.g., a press input by touch) 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 area of ​​the user interface to another without the corresponding cursor movement or touch movement on the touchscreen display (for example, by using the tab key or arrow keys to move focus from one button to another), and in these implementations, the focus selector moves in accordance with the movement of focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is generally a user interface element (or touch on the touchscreen display) controlled by the user to communicate the user's intended interaction with the user interface (for example, by pointing to the device an element of the user interface through which the user intends to interact).For example, the position of a focus selector (e.g., cursor, touch, or selection box) over a particular button while pressure input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen) indicates that the user intends to activate that particular button (rather than other user interface elements displayed on the device's display).

[0152] As used herein and in the claims, the term “characteristic intensity” of a contact refers to the characteristics of that contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity is optionally based on a set of intensity samples collected over a predetermined time period (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10 seconds) associated with a predetermined event (e.g., after detection of contact, before detection of lift-off of contact, before or after detection of the start of movement of contact, before detection of the end of contact, before or after detection of an increase in contact intensity, and / or before or after detection of a decrease in contact intensity). The characteristic intensity of a contact is optionally based on one or more of the following: the maximum value of the contact intensity, the mean value of the contact intensity, the average value of the contact intensity, the top 10 percentile value of the contact intensity, the maximum half value of the contact intensity, the maximum 90 percent value of the contact intensity, and so on. In some embodiments, the duration of contact is used when determining characteristic intensity (for example, when characteristic intensity is the average intensity of contact over time). In some embodiments, characteristic intensity is compared to a set of one or more intensity thresholds to determine whether an action has been 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, contact with a characteristic intensity not exceeding the first threshold results in a first action, contact with a characteristic intensity above the first intensity threshold but not exceeding the second intensity threshold results in a second action, and contact with a characteristic intensity above the second threshold results in a third action. In some embodiments, the comparison between characteristic intensity and one or more thresholds is not used to determine whether a first action should be performed or a second action should be performed, but rather to determine whether one or more actions should be performed at all (for example, whether a particular action should be performed or whether a particular action should be refrained from).

[0153] Figure 6 shows an exemplary set of hand gestures according to several embodiments. The user interfaces in these figures are used to illustrate the processes described later, including the processes in Figures 15 and 16.

[0154] Figure 6 shows an exemplary set of hand gestures that can be detected by the computer system 600. The computer system 600 includes an input mechanism 602a (e.g., the crown of a watch), an input mechanism 602b (e.g., a side button), and a display screen 602c. In some embodiments, the computer system 600 includes one or more components of devices 100, 300, and / or 500. In some embodiments, the computer system 600 is a wearable device such as a watch. In some embodiments, the input mechanisms 602a and 602b may include one or more components and / or characteristics of the input mechanisms 506 and 608 described above in relation to Figure 5A. In some embodiments, the display screen 602c is a touch-sensitive display and includes one or more components and / or characteristics as described above in relation to the touch screen 504.

[0155] As shown in Figure 6, the computer system 600 is worn around the user's wrist and separate from the hand 622. The computer system 600 includes one or more accelerometers, gyroscopes, and / or biometric sensors to detect various hand gestures and / or movements (e.g., tilt). In Figure 6, one or more of the biometric sensors include optical sensors and / or heart rate sensors that the computer system 600 utilizes to detect various hand gestures. In some embodiments, the computer system 600 may use one or more sensors other than the optical / heart rate sensors to detect hand gestures.

[0156] Figure 6 shows exemplary hand gestures that can be detected by the computer system 600 (e.g., via optical / heart rate sensors). As shown in Figure 6, the hand gestures include a neutral gesture / position 610, a clench gesture 620, a double clench gesture 630, a pinch gesture 640, and a double pinch gesture 650. These hand gestures (e.g., 610, 620, 630, 640, and 650) are discussed throughout this application, but hand gestures (e.g., multi-finger tap hand gestures and / or triple (quadruple, quintuple) clench / pinch gestures) and one or more combinations of these hand gestures are considered to be detectable by the computer system 600 (e.g., via optical / heart rate sensors) and / or used to perform one or more actions as described below. Therefore, the hand gestures provided herein are for illustrative purposes only, and the embodiments described herein are not limited to these specific hand gestures. Furthermore, the hand gestures described herein are not directed towards one or more cameras of the computer system 600 (e.g., not captured by a camera). Furthermore, the hand gestures described herein do not touch the display screen 602c and / or are not performed in front of the display screen 602c (e.g., for the hand gesture to be detected by the computer system 600).

[0157] As shown in Figure 6, the neutral hand gesture / position 610 is a hand gesture / position in which none of the fingertips of hand 622 are touching any part of hand 622. The clench gesture 620 is a hand gesture in which one or more fingers of hand 622 are touching another part of the user's hand, such that the user's palm touches another part of the user's hand when the user is making a fist. The double clench gesture 630 is a combination (and / or sequence) of the neutral gesture / position 610 and the clench gesture 620, in which the fingers of hand 622 are closed to form a first clench gesture (e.g., a first part 630a), opened to form a neutral gesture / position (e.g., a second part 630b), and closed again to form a second clench gesture (e.g., a third part 630c). Therefore, a double clench gesture is a gesture that includes multiple (e.g., two) instances (e.g., a first part 630a and a third part 630c) of a clench gesture detected within a predetermined period (e.g., 0 to 2 seconds). A pinch gesture 640 is a hand gesture in which one or more (e.g., two) fingers of hand 622 are touching each other. A pinch gesture is different from a clench gesture because a fist is not formed when performing a pinch gesture, but is formed when performing a clench gesture. A double pinch gesture 650 is a combination (and / or sequence) of a neutral gesture / position 610 and a pinch gesture 640, in which the fingers of hand 622 touch to form a first pinch gesture (e.g., first portion 650a), open to form a neutral gesture / position (e.g., second portion 650b), and then close again to form a second pinch gesture (e.g., third portion 650c). Thus, a double pinch gesture is a gesture that includes multiple (e.g., two) instances (e.g., first portion 650a and third portion 650c) of a pinch gesture detected within a predetermined period (e.g., 0 to 2 seconds).As shown in Figure 6, the double clench gesture 630 and the clench gesture 620 do not include multiple instances of the pinch gesture 640, and the double pinch gesture 650 and the pinch gesture 640 do not include multiple instances of the clench gesture 620. In some embodiments, if two pinch gestures are detected within a predetermined period, the computer system 600 registers (or detects) the two gestures as a double pinch gesture. In some embodiments, if two pinch gestures are not detected within a predetermined period, the computer system 600 registers (or detects) the two gestures as two separate pinch gestures (e.g., without registering a double pinch gesture). In some embodiments, if two clench gestures are detected within a predetermined period, the computer system 600 registers (or detects) the two gestures as a double clench gesture. In some embodiments, if two clench gestures are not detected within a predetermined period, the computer system 600 registers (or detects) the two gestures as two separate clench gestures (for example, without registering a double clench gesture).

[0158] Figures 7A to 7AA show exemplary user interfaces for navigating the user interface using hand gestures, according to several embodiments. The user interfaces in these figures are used to illustrate the processes described later, including the processes shown in Figures 15 to 16.

[0159] Figures 7A to 7G show exemplary user interfaces for responding to incoming alerts (e.g., timer alerts) using hand gestures. Figure 7A shows a computer system 600 displaying a clock user interface 710, including the current time (e.g., 10:09), on a display screen 602c. While the computer system 600 is displaying the clock user interface 710, the hand 622 is in a neutral position (e.g., 610 in Figure 6). In Figure 7A, the computer system 600 receives an incoming alert from a timer application (e.g., installed on the computer system 600). As shown in Figure 7B, in response to receiving an incoming alert from the timer application, the computer system 600 displays the timer user interface 712. The timer user interface 712 includes a abort control 712a (for example, when activated, causes the computer system 600 to abort the output of an audible sound associated with an incoming alert), an repeat control 712b (for example, when activated, causes the computer system 600 to repeat the timer associated with the incoming alert), and an indication that the timer has finished (for example, "Timer finished"). In Figure 7C, the computer system 600 detects a pinch gesture 750c. However, as shown in Figure 7D, the computer system 600 maintains the display of the timer user interface 712 and does not perform any action in response to the pinch gesture 750c because the computer system 600 is not operating in hand gesture navigation mode (for example, and / or accessibility mode). In some embodiments, the computer system 600 does not detect the pinch gesture 750c because the computer system 600 is not operating in hand gesture navigation mode.

[0160] In Figure 7D, the computer system 600 detects a double clench gesture 750d. In Figure 7E, in response to the detection of the double clench gesture 750d, the computer system 600 begins operating in hand gesture navigation mode. In Figure 7E, the computer system 600 detects a pinch gesture 750e (e.g., a second pinch gesture). As shown in Figure 7F, in response to the detection of the pinch gesture 750e, the computer system 600 displays a focus indicator around the abort control 712a because the computer system 600 is operating in hand gesture navigation mode. The computer system 600 displays the focus indicator around the abort control 712a to indicate that the computer system 600 can activate the abort control 712a in response to the detection of a particular hand gesture. In contrast, the computer system 600 does not display a focus indicator around the iterative control 712b in Figure 7F. Therefore, the repetition control 712b cannot be activated in response to the computer system 600 detecting a specific hand gesture (for example, before the repetition control 712b is displayed along with the focus indicator). In Figure 7F, the computer system 600 detects a clench gesture 750f. In Figure 7G, in response to the detection of the clench gesture 750f, the computer system 600 activates the abort control 712a. Upon activating the abort control 712a, the computer system 600 stops displaying the timer user interface 712, stops outputting the audible sound associated with the incoming alert, and redisplays the clock user interface 710 (for example, as shown in Figure 7G).

[0161] Figures 7G to 7J show exemplary user interfaces for responding to incoming alerts (e.g., incoming calls) using hand gestures. As described above, Figure 7G shows a computer system 600 displaying a clock user interface 710 while operating in hand gesture navigation mode. In Figure 7G, the computer system 600 receives an alert corresponding to an incoming telephone call. As shown in Figure 7H, in response to receiving the alert, the computer system 600 displays a telephone user interface 714 that includes a call identifier 714a (e.g., "John Appleseed Incoming Call") indicating that the computer system 600 has received an incoming call from John Appleseed. The telephone user interface 714 also includes reject control 714b (e.g., when activated, causes the computer system 600 to reject the telephone call), answer control 714c (e.g., when activated, causes the computer system 600 to answer the telephone call), and additional options control 714d (e.g., when activated, causes the computer system 600 to display additional options for answering the incoming telephone call). As shown in Figure 7H, the computer system 600 displays a hand gesture notification 716, which indicates that the user can answer the phone by providing a double crumble gesture (instead of providing multiple gestures to answer the phone (e.g., one or more pinch gestures to navigate to answer control 714c and a clench gesture to navigate to answer control 714c using one or more techniques described in relation to Figures 7C-7G)). In some embodiments, the computer system 600 displays the hand gesture notification 716 because a determination is made that the computer system 600 is operating in hand gesture navigation mode and / or the computer system 600 is operating in a usage context in which certain types of actions (e.g., answering a phone call, canceling an alarm, and / or responding to a text message) can be completed via a single hand gesture (e.g., a given hand gesture).In some embodiments, the computer system 600 displays other and / or different hand gesture notifications (e.g., from hand gesture 716) to inform the user that they can perform an action using one or more other gestures.

[0162] In Figure 7I, the computer system 600 detects a double clench gesture 750i. As shown in Figure 7J, in response to the detection of the double clench gesture 750i, the computer system 600 replaces the call identifier 714a with an elapsed time indicator 714e indicating that the incoming telephone call has been answered, and displays a volume control 714f (which, when activated, adjusts the volume level of one or more speakers of the computer system 600). In other words, in response to the detection of the double clench gesture 750i, the computer system 600 answers the incoming telephone call. In some embodiments, in response to the detection of a double clench gesture while an incoming call alert has not been received (and / or has not been received within a predetermined period), the computer system 600 performs a different action (e.g., as described in relation to Figures 7D-7E and 7L-7M) than the action performed while an incoming call alert has been received (and / or has been received within a predetermined period) (e.g., as described in relation to Figures 7I-7L).

[0163] Figures 7I–7U show exemplary user interfaces for navigating the user interface using hand gestures and a move cursor. In particular, Figures 7I–7U show exemplary scenarios for exiting the training tracker using hand gestures and a move cursor. Figure 7K shows a computer system 600 displaying a training user interface 718 containing a list of training metrics. While displaying the training user interface 718, the computer system 600 detects a double clench gesture 750l in Figure 7L. In response to the detection of the double clench gesture 750l, as shown in Figure 7M, the computer system 600 displays a menu 732 containing digital hardware operation controls 732a, move cursor controls 732b, interaction controls 732c, and additional options controls 732d. The menu 732 includes a control identifier 708 ("DIGITAL CROWN") that identifies the currently focused control (e.g., the black box around the digital hardware operation control 732a in Figure 7M). Upon detecting the activation of the digital hardware operation control 732a, the computer system 600 begins operating in a digital hardware operation mode (e.g., a different hand gesture navigation mode). Upon detecting the activation of the interaction control 732c, the computer system 600 replaces menu 732 with a menu that has controls to cause the computer system 600 to perform different actions corresponding to various gestures detected at a position on the computer system 600 when activated (e.g., as described below in relation to Figure 7Z). Upon detecting the activation of the additional options control 732d, the computer system 600 replaces menu 732 with a menu that includes additional controls (e.g., as described below in relation to Figure 7Z).

[0164] As shown in Figure 7M, in response to the detection of a double clench gesture 750l, the computer system 600 displays a focus indicator around the digital hardware operation control 732a to indicate that the computer system 600 can activate the digital hardware operation control 732a in response to the detection of one or more hand gestures. In Figure 7M, the computer system 600 detects a pinch gesture 750m. As shown in Figure 7N, in response to the detection of the pinch gesture 750m, the computer system 600 moves the focus indicator to the right so that the focus indicator is around the move cursor control 732b and no longer around the digital hardware operation control 732a. In particular, in response to the detection of the pinch gesture 750m, the computer system 600 moves the focus indicator on the user interface from one control to the next (e.g., with respect to position). In Figure 7N, the computer system 600 detects a clench gesture 750n while the focus indicator is displayed around the move cursor control 732b.

[0165] As shown in Figure 7O, in response to the detection of the clench gesture 750n, the computer system 600 stops displaying the menu 732 and displays the cursor 742 at the position on the training user interface 718. In Figure 7O, in response to the detection of the clench gesture 750n, the computer system 600 starts operating in a moving cursor operation mode (e.g., another hand gesture operation mode). In Figure 7P, the computer system 600 detects that the computer system 600 is tilted to the left (e.g., 750p) (e.g., being moved) (e.g., via one or more accelerometers and / or gyroscopes, via sensors different from the optical / heart rate sensors, and / or sensors different from the sensors that detect one or more hand gestures). In Figure 7P, in response to the detection that the computer system 600 is tilted to the left, the computer system 600 moves the cursor 742 to the left based on the amount of tilt and / or the speed of tilt detected by the computer system 600. As shown in Figure 7P, the cursor 742 is moved toward the left edge of the training user interface 718. In Figure 7P, it is determined that the cursor 742 is located at (for example, and / or near) the left edge of the training user interface 718 (for example, for a predetermined period of time). As shown in Figures 7Q to 7R, since it has been determined that the cursor 742 is located at the left edge of the training user interface 718, the computer system 600 displays an animation in which the training user interface 718 is slid away from the right edge of the display screen 602c and the training control user interface is slid onto the display screen 602c from the left edge of the display screen (for example, slid to the right). Thus, since it has been determined that the cursor 742 is located (for example, and / or near), the computer system 600 replaces the currently displayed user interface with another user interface.

[0166] As shown in Figure 7R, the training control user interface 720 includes a lock control 720a (for example, when activated, causes the computer system 600 to ignore touch input detected on the computer system 600), a new control 720b (for example, when activated, causes the computer system 600 to start a new training tracker), an end control 720c (for example, when activated, causes the computer system 600 to stop the training tracker currently tracking training activity), and a pause control 730d (for example, when activated, causes the computer system 600 to pause the training tracker currently tracking training activity). As shown in Figure 7R, the hand 622 is in a neutral position (for example, 610 in Figure 6), and the cursor 742 is positioned over the end control 720c. In Figure 7S, some time has passed since the cursor 742 was first positioned over the end control 720c (and / or at the cursor 742's current position) (for example, the hand 622 remains in a neutral position). As shown in Figure 7S, the computer system 600 displays the cursor 742 along with an indication 744. The indication 744 indicates the amount of time before an action corresponding to the position of the cursor 742 (e.g., an activation action) is performed, such as activating the termination control 720c and / or displaying a menu (e.g., menu 732 in Figure 7M) containing one or more controls for performing an action corresponding to the position of the cursor 742. Thus, while the cursor 742 is positioned to correspond to a user interface object such as a control, the computer system 600 displays an animation of the size of the indication 744 and / or blocks the cursor 742 for a period of time (e.g., a period indicating the remaining time before the action is performed). In Figure 7S, the indication 744 blocking approximately half of the cursor 742 indicates that approximately half the time has elapsed before the computer system 600 can perform the action corresponding to the position of the cursor 742 (e.g., since the cursor 742 was positioned over the termination control 720c).Looking back at Figures 7Q to 7R, regardless of the length of time the computer system 600 was displayed in a particular position, the computer system 600 did not display an indication with the cursor 742 while the computer system 600 was not displayed on the user interface and / or at the edge of the display. Therefore, in some embodiments, the computer system 600 displays an animation including an indication 744 only when the moving cursor 742 is over a user interface object (e.g., a selectable and / or (activatable) user interface object, a user interface object that can be activated via one or more gestures detected on the display screen 602c).

[0167] In Figure 7S, more time has passed since the cursor 742 was first positioned over the termination control 720c (for example, the hand 622 remains in the neutral position). As shown in Figure 7T, the computer system 600 updates the indicator 744 so that it completely covers the cursor 742. In Figure 7T, it is determined that the cursor 742 has been positioned over the termination control 720c for a predetermined period (for example, 1 to 5 seconds). In Figure 7U, since it has been determined that the cursor 742 has been positioned over the termination control 720c for a predetermined period, the computer system 600 activates the termination control 720c. Once the termination control 720c is activated, the computer system 600 displays a completion user interface 770 indicating that the training tracker has finished.

[0168] Figures 7U to 7AA illustrate exemplary user interfaces for navigating the user interface using hand gestures and a move cursor. In particular, Figures 7U to 7AA illustrate exemplary scenarios in which the computer system 600 enters move cursor operation mode in response to the detection of a shake gesture (for example, instead of activating the move cursor control 732b on menu 732 via one or more hand gestures, as described above in relation to Figure 7N). Figure 7U shows the computer system 600 displaying a clock user interface 710 including the current time (e.g., 10:09). In Figure 7W, the computer system 600 detects that it is being shaken (or has been shaken) (e.g., via one or more accelerometers and / or gyroscopes) (e.g., 750w). In Figure 7X, in response to the computer system 600 detecting that it is being shaken (or has been shaken), the computer system 600 begins operating in move cursor mode (e.g., transitioning from a state not operating in move cursor mode to a state operating in move cursor mode). In response to detecting that the computer system 600 is being shaken (or has been shaken), the computer system 600 displays the cursor 742. In Figure 7Y, the computer system 600 detects that it is tilted to the right (e.g., moved to 750y). In response to detecting that the computer system 600 is tilted to the right in Figure 7Y, the computer system 600 moves the cursor 742 to the right based on the amount and / or speed of the tilt detected by the computer system 600. As shown in Figure 7Y, the cursor 742 is moved toward the right edge of the clock user interface 710. In Figure 7Y, it is determined that the cursor 742 is positioned at (e.g., near) the right edge of the clock user interface 710.As shown in Figures 7Z to 7AA, since it has been determined that the cursor 742 is located at the left edge of the training user interface 718, the computer system 600 displays an animation of the clock user interface sliding away from the left edge of the display screen 602c (for example, away from the edge where the cursor 742 is located), and displays the analog clock user interface 780 sliding away from the right edge of the display screen 602c and moving towards the left edge of the display screen 602c.

[0169] Figures 8A to 8J show exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. The user interfaces in these figures are used to illustrate the processes described later, including the processes shown in Figures 15 and 16.

[0170] In particular, Figures 8A to 8J illustrate exemplary scenarios in which the computer system 600 displays menu 732 in response to cursor 742 being positioned (e.g., displayed) over a user interface object (instead of activating the user interface object as described above in relation to Figures 7I to 7U, for example). Figure 8A shows the computer system 600 displaying a clock user interface 810, which includes application controls 810a to 810d (e.g., each of which, when activated, causes the computer system 600 to launch an application). In Figure 8A, the computer system 600 detects that it is being shaken (or has been shaken) (e.g., using one or more techniques as described above in relation to Figures 7U to 7AA, for example) (e.g., 850a). In Figure 8B, in response to the computer system 600 detecting that it is being shaken (or has been shaken), the computer system 600 begins operating in moving cursor mode and displays cursor 742 over the clock user interface 810.

[0171] In Figure 8C, the cursor 742 is displayed in the same position (e.g., the position shown in Figure 8B) for a predetermined period of time. However, in Figure 8C, the computer system 600 does not display an animation of the cursor 742 filling in because the cursor 742 is not positioned to correspond to a user interface object (e.g., a selectable object and / or a user interface object that can be activated and / or a user interface object that can be activated when the computer system 600 detects one or more inputs on a user interface object, and in some embodiments when the computer system is operating in normal operating mode and / or when no hand gestures are detected) (e.g., using one or more techniques described in relation to Figures 7I-7U). In Figure 8C, the computer system 600 detects that it is tilted downward (e.g., 850c) (e.g., using one or more techniques described in relation to Figures 7I-7U). As shown in Figure 8D, in response to detecting that the computer system 600 is tilted downward, the computer system 600 moves the cursor 742 over the application icon 810d.

[0172] As shown in Figures 8E to 8G, the computer system 600 displays an animated cursor of an indication 744 that fills the cursor 742 for a certain period of time, since the cursor 742 is positioned over an application icon 810d (e.g., a selectable user interface object) (for example, using one or more of the techniques described above in relation to Figures 7I to 7U). As shown in Figure 8G, the indication 744 completely fills the cursor 742. In Figure 8G, it is determined that the cursor 742 has been positioned over the application icon 810d for a predetermined period of time (e.g., 1 to 5 seconds), and then it is determined that the cursor 742 has been displayed.

[0173] As shown in Figure 8H, once it is determined that the cursor 742 has been positioned over the application icon 810d for a predetermined period of time, the computer system 600 displays the menu 732 (for example, in some embodiments, without activating the application icon 810d, the computer system 600 selects the application icon 810d and / or the position of the application icon 810d (for example, so that an operation can be performed using the application icon 810d and / or the position of the application icon 810d)). Also in Figure 8H, the computer system 600 displays the cursor 742 positioned on the interaction control 732c. In some embodiments, one or more settings control whether the computer system 600 activates a user interface object when it is determined that the cursor 742 has been positioned over a particular user interface object for a predetermined period of time, whether the computer system 600 displays a menu when it is determined that the cursor 742 has been positioned over a particular user interface object for a predetermined period of time, or both. In some embodiments, the computer system 600 displays the menu 732 at a location on the display further away from where the cursor 742 is positioned over the application icon 810d (so as not to obscure the user interface object over which the cursor 742 was hovering).

[0174] As shown in Figure 8I, the computer system 600 displays an indication 744 that fills the cursor 742 (for example, using one or more techniques as described in relation to Figures 8E-8G). In Figure 8I, a determination is made that the cursor 742 has been detected on the interactive control 732c for a predetermined period of time. In Figure 8J, since a determination has been made that the cursor 742 has been detected on the cursor 742 for a predetermined period of time, the computer system 600 activates the interactive control 732c. In response to the activation of the interactive control 732c, the computer system 600 displays additional controls, including a tap control 832a. In particular, if it is determined that the cursor 742 has been detected on a selectable user interface object for a predetermined period of time while menu 732 is displayed, the computer system 600 activates the user interface object (and does not redisplay menu 732, regardless of one or more settings of the computer system 600).

[0175] In Figure 8J, the computer system 600 displays a cursor on the tap control 832a. In some embodiments, when it is determined that the cursor 742 has been detected on the tap control 832a, the computer system 600 activates the tap control 832a. In some embodiments, upon detecting the activation of the tap control 832a, the computer system 600 detects and / or performs the action that would have been performed if a tap gesture had been detected at the position where the cursor 742 displayed the menu 732 (for example, in Figures 8G to 8I). For example, in Figure 8J, upon detecting the activation of the tap control 832a, the computer system 600 launches the application corresponding to the application icon 810d (for example, the user interface in Figure 10F). In some embodiments, when the computer system 600 performs an action that would have been performed if a specific gesture (e.g., a long-press gesture, a drag gesture) had been detected at the position where the cursor 742 was displayed at the position where the menu 732 was displayed (e.g., an action different from the one performed when a tap gesture was detected) (e.g., a gesture to display the clock face menu, a gesture to move an application icon from one position to another on the clock user interface 810, a gesture to remove an application icon from the clock user interface 810), other gesture controls can be displayed and activated.

[0176] Figures 9A to 9H show exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. The user interfaces in these figures are used to illustrate the processes described later, including the processes shown in Figures 15 and 16.

[0177] In particular, Figures 9A to 9H illustrate exemplary scenarios in which the computer system 600 navigates through the user interface in response to hand gesture detection (for example, using techniques similar to those described above in relation to Figures 7A to 7G). Figure 9A shows the computer system 600 displaying the media user interface 910 while not operating in hand gesture navigation mode. The media user interface 910 includes a back control 910a (for example, when activated, causes the computer system 600 to display a previously displayed user interface), a reverse control 910b (for example, when activated, configures the computer system 600 to play a previous media item in the list of media items), a pause control 910c (for example, when activated, causes the computer system 600 to pause playback of a media item), a forward control 910d (for example, when activated, configures the computer system 600 to play the next media item in the list of media items), an additional option control 910e (for example, when activated, causes the computer system 600 to display one or more additional controls not currently displayed in Figure 9A), a queue control 910f (for example, when activated, causes the computer system 600 to display a list of queued media items), and a connection control 910g (for example, when activated, causes the computer system 600 to display a user interface for connecting the computer system 600 to one or more external computer systems). In Figure 9A, the computer system 600 detects a double clench gesture 950a.

[0178] In Figure 9B, upon detection of a double clench gesture 950a, the computer system 600 begins operating in hand gesture navigation mode (for example, using one or more techniques as described above in relation to Figures 7D-7E). As shown in Figure 9B, upon detection of a double clench gesture 950a, the computer system 600 displays a focus indicator around the forward control 910d (for example, using one or more techniques as described above in relation to Figure 7D). In some embodiments, upon detection of a double clench gesture 950a, the computer system 600 displays a focus indicator around a control that is different from and / or not a forward control of the forward control 910d (e.g., controls 910a-910d or 910e-910g) on ​​the media user interface 910.

[0179] In Figure 9B, the computer system 600 detects a double pinch gesture 950b. As shown in Figure 9C, in response to the detection of the double pinch gesture 950b, the computer system 600 moves the focus indicator to the left so that the focus indicator is displayed around the pause control 910c and not around the forward control 910d. In Figure 9C, in response to the detection of the double pinch gesture 950b, the computer system 600 moves the focus indicator around the control that the computer system 600 has determined to be the previous control on the media user interface 910 with respect to the forward control 910d. In some embodiments, the computer system 600 determines a previous control by identifying a control in the direction on the media user interface 910 that moves from the position of a forward control 910d (e.g., a previous control around which the focus indicator was) toward the start row on the media user interface 910 (e.g., a position near the top and / or on the top row of the media user interface 910, and / or on the row with a selectable user interface object (e.g., a control) that is furthest to the left / right of the media user interface 910 and near the top). In some embodiments, in Figure 9C, the pause control 910c is adjacent to the forward control 910d (e.g., adjacent with no other control between the two controls) and is closer to the start row of the media user interface 910 than the forward control 910d (or, in some embodiments, other adjacent controls (e.g., queue control 910f, additional option control 910e)), so the pause control 910c is determined to be the control before the forward control 910d. In Figure 9C, the computer system 600 detects a clench gesture 950c.

[0180] In Figure 9D, upon detection of a clench gesture 950c, the computer system 600 activates a pause control 910c, pausing playback of the media (e.g., "Important Things" by "Popstar"). As shown in Figure 9D, upon detection of a clench gesture 950c, the pause control 910c is replaced by a play control 910h (e.g., which, when activated, starts playback of the media item). As shown in Figure 9D, upon detection of a clench gesture 950c, the computer system 600 maintains the focus indicator in the same position on the media user interface 910. Thus, in some embodiments, when the computer system 600 detects a clench gesture 950c and / or activates a control in response to a hand gesture, it does not move the focus control, regardless of whether the control is replaced by another control. In Figure 9E, the computer system 600 detects a pinch gesture 950e.

[0181] As shown in Figure 9F, in response to the detection of a pinch gesture 950e, the computer system 600 moves the focus indicator to the right so that the focus indicator is displayed around the forward control 910d and not around the playback control 910h. In Figure 9F, in response to the detection of a pinch gesture 950e, the computer system 600 moves the focus indicator around the control that the computer system 600 has determined to be the next control on the media user interface 910 in relation to the playback control 910h. In some embodiments, the computer system 600 determines the next control by identifying the control in the direction on the media user interface 910 that moves from the position of the forward control 910d (e.g., the previous control around which the focus indicator was) toward the end row on the media user interface 910 (e.g., a position near the bottom and / or on the bottom row of the media user interface 910, and / or on the row with a selectable user interface object (e.g., a control) that is furthest to the left / right and near the top of the media user interface 910). In some embodiments, in Figure 9F, forward control 910d is adjacent to forward control 910d (for example, adjacent with no other control between the two controls) and is closer to the start line of the media user interface 910 than playback control 910h, so forward control 910d is determined to be the control following playback control 910h.

[0182] In particular, the double pinch gesture 950b in Figure 9B includes multiple instances of the pinch gesture 950e in Figure 9E. Furthermore, the computer system 600 performs the opposite action (e.g., navigation to the previous control) in response to the action performed by the computer system 600 in response to the detection of the pinch gesture 950e, in response to the detection of the double pinch gesture 950b. Thus, in some embodiments, the computer system 600 performs the opposite action in response to the detection of gestures that include multiple instances of each other. In some embodiments, the opposite gestures help the user navigate the user interface more easily due to the connection between different gestures (e.g., similarity between them). Returning to Figure 9F, the computer system 600 detects the pinch gesture 950f.

[0183] As shown in Figure 9G, in response to the detection of a pinch gesture 950f, the computer system 600 moves the focus indicator downward so that the focus indicator is displayed around the additional option control 910e and not around the forward control 910d. Here, the computer system 600 moves the focus indicator downward because the additional option control 910e is the next control. In Figure 9G, the computer system 600 does not display the focus indicator around the connection control 910g because the connection control 910g is not adjacent to the forward control 910d (for example, it is not determined that the connection control 910g is the next control). In some embodiments, the computer system 600 moves the focus around the user interface in a pattern based on a specific layout of controls on a particular user interface. Returning to Figure 9A, in some embodiments, the computer system 600 moves the focus indicator around the media user interface 910 in the order of identifying controls (910a, 910b, 910c, 910d, 910e, 910f, and 910g sequentially (or in reverse)). In some embodiments, when the focus indicator is around the last control (e.g., 910g), the computer system 600 moves the focus indicator around the first control (e.g., 910a) in response to the detection of a pinch gesture (or a gesture that moves to the next control). In some embodiments, when the focus indicator is around the first control (e.g., 910a), the computer system 600 moves the focus indicator around the last control (e.g., 910g) in response to the detection of a double pinch gesture (or a gesture that moves to the previous control). Returning to Figure 9G, the computer system 600 detects a clench gesture 950g while the focus indicator is around the additional option control 910e.

[0184] As shown in Figure 9H, in response to the detection of a clench gesture 950g, the computer system 600 displays the additional options user interface 920 and stops displaying the media user interface 910. As shown in Figure 9H, in response to the detection of a clench gesture 950g, the computer system 600 displays a focus indicator around the controls of the additional options user interface 920 (e.g., the control of the starting row position). In some embodiments, in response to the detection of one or more hand gestures (e.g., a pinch gesture and / or a double pinch gesture) to move the focus indicator around the additional options user interface 920, the computer system 600 moves the focus indicator around different controls included in the additional options user interface 920. In some embodiments, the computer system 600 moves the focus indicator around different controls included in the additional options user interface 920 in a different pattern (e.g., a vertical pattern) than the pattern (e.g., a meandering pattern) in which the computer system 600 moved the focus indicator around the controls included in the media user interface 910 (e.g., as described above in relation to Figures 9A to 9G).

[0185] Figures 10A to 10F show exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. The user interfaces in these figures are used to illustrate the processes described later, including the processes shown in Figures 15 and 16.

[0186] In particular, Figures 10A to 10F illustrate exemplary scenarios in which the computer system 600 navigates through the user interface in response to hand gesture detection (for example, using techniques similar to those described above in relation to Figures 7A to 7G). Figure 10A shows the computer system 600 displaying the media user interface 1010 while not operating in hand gesture navigation mode. The media user interface 1010 includes application icons 1010a to 1010d (for example, when activated, causing the computer system 600 to display the user interface for the specific application icon that was activated). In Figure 10A, the computer system 600 is operating in hand navigation mode (for example, as described above in relation to Figures 7A to 7G and Figures 9A to 9H). In some embodiments, the computer system 600 navigates through the media user interface 1010 using one or more techniques described above in relation to Figures 7A to 7G and 9A to 9H. In Figure 10B, the computer system 600 detects a double clench gesture 1050b.

[0187] As shown in Figure 10C, in response to the detection of the double clench gesture 1050b, the computer system 600 displays a menu 732 containing controls 732a to 732d (for example, as described above in relation to Figure 7D). The menu 732 includes a control identifier 708 ("DIGITAL CROWN") that identifies the currently focused control (for example, the black box around the digital hardware operation control 732a in Figure 10C). As shown in Figure 10C, the computer system 600 displays focus indicators around both the digital hardware operation control 732a and the application icon 1010c because the application icon 1010c was selected before the double clench gesture 1050b was detected, and / or the computer system 600 can perform an action at the location of the application icon 1010c (for example, activating the application icon 1010c as described above in relation to Figure 8J). In Figure 10C, the computer system detects the double clench gesture 1050c.

[0188] As shown in Figure 10D, in response to the detection of a double clench gesture 1050c, the computer system 600 stops displaying menu 732 (for example, while the computer system 600 continues to operate in hand gesture navigation mode). In Figure 10D, the computer system 600 detects a pinch gesture 1050d. As shown in Figure 10E, in response to the detection of the pinch gesture 1050d, the computer system 600 moves the focus indicator downward and to the left so that the focus indicator is displayed around application icon 1010d and not around application icon 1010c. The computer system 600 displays the focus indicator around application icon 1010d because it has been determined (for example, in response to the detection of the pinch gesture 1050d) that application icon 1010d was the next control. In some embodiments, this determination was made using one or more of the techniques described above in relation to Figures 9A-9H. In Figure 10E, the computer system 600 detects a clench gesture 1050e. In Figure 10F, upon detection of the clinch gesture 1050e, the computer system 600 activates the application icon 1010d and displays the application corresponding to the application icon 1010d (e.g., the breathing application icon) (e.g., the breathing application).

[0189] Figures 11A to 11H show exemplary user interfaces for navigating the user interface using hand gestures according to several embodiments. The user interfaces in these figures are used to illustrate the processes described later, including the processes in Figures 15 to 16. In particular, Figures 11A to 11H show exemplary scenarios in which the computer system 600 automatically scrolls the user interface and performs different actions in response to the detection of one or more hand gestures. In some embodiments, the computer system 600 automatically scrolls the user interface using one or more techniques as described in relation to Figures 11A to 11H when the computer system is operating in a digital hardware operating mode (e.g., hand gesture navigation mode). In some embodiments, the computer system 600 starts operating in a digital hardware operating mode in response to the activation of the digital hardware operation control 732a. In some embodiments, the computer system 600 automatically scrolls the user interface with actions (one or more) similar to and / or the same actions as performed in response to the computer system 600 detecting an input on an input mechanism (e.g., a rotatable input). In some embodiments, the computer system 600 automatically scrolls the user interface when the computer system is operating in automatic scrolling mode (as described later, for example, in relation to 1412).

[0190] Figure 11A shows a computer system 600 displaying a text message user interface 1110. The text message user interface 1110 includes a text message area 1120 and one or more controls, including an animated image control 1110a. As shown in Figure 11A, the text message area 1120 contains a text message 1120a ("Where are you?"). As shown in Figure 11A, the computer system 600 displays a focus indicator around the animated image control 1110a displayed at the bottom of the text message user interface 1110. In Figure 11A, the computer system 600 detects a double clench gesture 1150a.

[0191] As shown in Figure 11B, in response to the detection of a double clench gesture 1150a, the computer system 600 displays a menu 732 containing a digital hardware operation control 732a. In Figure 11B, the computer system 600 displays the menu 732 at the top of the text message user interface 1110. In some embodiments, a focus indicator is displayed around the animated image control 1110a, and the animated image control 1110a is displayed at the bottom of the text message user interface 1110, so the computer system 600 displays the menu 732 at the top of the text message user interface 1110. In some embodiments, the computer system 600 displays the menu 732 at the bottom (or in another area of ​​the user interface) in response to the determination that a selected control (e.g., a control with a focus indicator around it) is not displayed at the bottom of the media user interface 1110. In Figure 11B, the computer system 600 detects a double clench gesture 1150b while the focus indicator is displayed around the digital hardware operation control 732a.

[0192] As shown in Figure 11C, in response to the detection of the double clench gesture 1150b, the computer system 600 begins operating in a digital hardware operating mode (e.g., and / or automatic scroll mode). While operating in digital hardware operating mode, the computer system 600 performs actions as if one or more inputs (e.g., rotation input, press input, slide input) had been received by the input mechanism of the computer system 600. After a short time, after displaying the user interface in Figure 11C, the computer system 600 performs actions that match one or more inputs detected by the input mechanism 602a without detecting any input and / or hand gestures (e.g., hand 622 is in a neutral position). As shown in Figure 11D, when performing the actions, the computer system 600 moves the focus indicator from around the animation image control 1110a to around the language control 1110b (e.g., without any input being detected on the input mechanism 602a), which is actions that match the input detected by the input mechanism 602a. After displaying the user interface in Figure 11D, the computer system 600 performs another action that matches one or more inputs detected by the input mechanism 602a without detecting any input and / or hand gestures (e.g., hand 622 is in a neutral position). As shown in Figure 11E, when performing the action, the computer system 600 scrolls the text message user interface 1110 and moves the focus indicator from around the language control 1110b to around the response control 1110c. After displaying the user interface in Figure 11E, the computer system 600 performs another action that matches one or more inputs detected by the input mechanism 602a without detecting any input and / or hand gestures (e.g., hand 622 is in a neutral position), and the computer system 600 scrolls the text message user interface 1110 (e.g., a new control is displayed) and moves the focus indicator from around the response control 1110c to around the response control 1110e.In Figure 11F, the computer system 600 detects a pinch gesture 1150f while the focus indicator is displayed around the response control 1110e. As shown in Figure 11G, in response to the detection of the pinch gesture 1150f, the computer system 600 automatically stops performing an action that matches one or more inputs detected by the input mechanism 602a (e.g., and / or pauses scrolling). In some embodiments, in response to the detection of an additional pinch gesture, the computer system 600 resumes performing an action that matches one or more inputs detected by the input mechanism 602a.

[0193] In Figure 11G, the computer system 600 detects a clench gesture 1150g while the focus indicator is displayed around the response control 1110e. As shown in Figure 11G, in response to the detection of the clench gesture 1150g, the response control 1110e is activated. In Figure 11G, in response to the detection of the clench gesture 1150g, the computer system 600 inserts a response message 1120b ("In progress") corresponding to the response control 1110e in the text message area 1120. In some embodiments, the computer system 600 sends the reply message 1120b, which is part of a text message conversation, to one or more external computer systems.

[0194] Figures 12A to 12J show exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. The user interfaces in these figures are used to illustrate the processes described later, including the processes shown in Figures 15 and 16.

[0195] In particular, Figures 12A to 12J illustrate exemplary scenarios in which the computer system 600 automatically scrolls the user interface and performs different actions in response to the detection of one or more hand gestures. In some embodiments, the computer system 600 automatically scrolls the user interface using one or more techniques, as described in relation to Figures 12A to 12J, when the computer system is operating in a digital hardware operation mode (e.g., hand gesture navigation mode). In some embodiments, the computer system 600 begins operating in a digital hardware operation mode in response to the activation of the digital hardware operation control 732a. In some embodiments, the computer system 600 automatically scrolls the user interface with actions (one or more) similar to and / or the same actions as performed in response to the computer system 600 detecting an input on an input mechanism (e.g., a rotatable input). In some embodiments, the computer system 600 automatically scrolls the user interface when the computer system is operating in an automatic scroll mode (e.g., as described later in relation to 1412).

[0196] Figure 12A shows a computer system 600 displaying the clock face user interface 1210. The clock face user interface 1210 includes selectable controls 1210a to 1210e. In Figure 12A, the computer system 600 is operating in automatic scrolling mode. As shown in Figures 12A to 12C, the computer system 600 automatically moves the focus indicator between the selectable controls 1210a to 1210c (for example, without the computer system 600 detecting any input) (for example, at a first speed) (for example, as indicated by the hand 622 in the neutral position). In Figure 12C, the computer system 600 detects a pinch gesture 1250c while the focus indicator is displayed around the selectable control 1210c. As shown in Figure 12D, in response to the detection of a pinch gesture 1250c, the computer system 600 stops automatically moving the focus indicator between the selectable controls and continues to display the focus indicator around selectable control 1210c (for example, as indicated by the hand 622 in the neutral position). In Figure 12E, the computer system 600 detects a pinch gesture 1250e while the focus indicator is displayed around selectable control 1210c. As shown in Figures 12F to 12G, in response to the detection of a pinch gesture 1250e, the computer system 600 resumes moving the focus indicator (for example, displaying the focus indicator around selectable control 1210d and then around selectable control 1210e).

[0197] In Figure 12H, the computer system 600 moves the focus indicator to the left so that it is displayed around selectable control 1210d and not around 1210e. In Figure 12H, since 1210e is determined to be the last selectable control on the clock face user interface 1210, the computer system 600 moves the focus indicator from selectable control 1210e to selectable control 1210d. Thus, in Figure 12H, the computer system 600 reverses the direction of movement of the focus indicator around the selectable user interface objects of the clock face user interface 1210. In some embodiments, the computer system 600 displays the focus indicator around selectable control 1210c after a predetermined amount of time has elapsed. In Figure 12H, the computer system 600 detects a double pinch gesture 1250h. In Figure 12G, upon detection of a double pinch gesture 1250h, the computer system 600 reverses the direction of movement of the focus indicator around the selectable user interface object of the clock face user interface 1210. As shown in Figure 12I, upon detection of a double pinch gesture 1250h, the computer system 600 displays the focus indicator around selectable control 1210e (instead of displaying the focus indicator around selectable control 1210c, which the computer system 600 would have displayed the focus indicator around if the double pinch gesture 1250h had not been detected). In Figure 12I, while the focus indicator is displayed around selectable control 1210e, the computer system 600 detects a clench gesture 1250i. As shown in Figure 12J, upon detection of a clench gesture 1250j, the computer system 600 activates selectable control 1210e.As shown in Figure 12J, in response to the detection of the clinch gesture 1250j, the computer system 600 displays the calendar application user interface 1220, which is the user interface for the application corresponding to the selectable control 1210e.

[0198] Figures 13A to 13G show exemplary user interfaces for navigating a user interface using hand gestures, according to several embodiments. The user interfaces in these figures are used to illustrate the processes described later, including the processes shown in Figures 15 and 16.

[0199] In particular, Figures 13A to 13G show one or more exemplary settings for controlling one or more hand gesture navigation modes (for example, as described above in relation to Figures 7A to 7AA, 8A to 8J, 9A to 9H, 10A to 10F, 11A to 11H, and 12A to 12J). Figure 13A shows a computer system 600 displaying one or more settings, including accessibility setting controls 1312a, 1312b, and 1312c. In some embodiments, in response to detecting input on accessibility setting control 1312a, the computer system 600 displays one or more of the accessibility settings 1322a to 1322f (for example, as shown in Figure 13B).

[0200] As shown in Figure 13B, accessibility settings 1312a to 1312f include a hand gesture navigation control 1322h. In some embodiments, when the hand gesture navigation control 1322h is off (e.g., inactive), the computer system 600 does not perform any actions in response to the detection of a hand gesture. In some embodiments, when the hand gesture navigation control 1322h is on (e.g., active), the computer system 600 performs any actions in response to the detection of a hand gesture. In some embodiments, in response to the detection of a gesture for the hand gesture navigation control 1322h, the computer system 600 displays the user interface shown in Figure 13C.

[0201] As shown in Figure 13C, the computer system 600 displays hand gesture navigation controls 1314a to 1314h. The hand gesture navigation controls include a main setting control 1314a, a hand gesture control 1314b, a cursor movement control 1314c, a movement style control 1314d, and one or more appearance setting controls 1314e to 1314g, and a hand gesture confirmation control 1314h. In response to detecting input to the main setting control 1314a, the computer system 600 turns the hand gesture navigation mode on / off (for example, as described above in relation to the hand gesture navigation control 1322h). In response to detecting input to the hand gesture control 1314b, the computer system 600 switches the hand gesture control 1314b on / off. When the hand gesture control 1314b is on, the computer system 600 is configured to perform one or more actions in response to the detection of a hand gesture. When hand gesture control 1314b is off, the computer system 600 is not configured to perform one or more actions in response to the detection of a hand gesture. In response to the detection of input to the move cursor control 1314c, the computer system 600 switches the move cursor control on / off. When the move cursor control 1314c is on, the computer system 600 can be configured to operate in move cursor mode (for example, as described above in relation to Figures 7I-7U and 8A-8J). When the move cursor control 1314c is off, the computer system 600 cannot be configured to operate in move cursor mode (for example, in response to a shake gesture and / or in response to the detection of input on the move cursor control 732b of menu 732 in Figure 7N). In response to the detection of input to the move style control 1314d, the computer system 600 switches the move style control 1314d between different move options. The different move options include one or more of automatic move and manual move (for example, of the focus indicator on the displayed user interface).In response to detecting input to one or more appearance setting controls 1314e~1314g, the computer system 600 changes the appearance of one or more of the menus 732 (as described in relation to Figure 7N), cursors 742 (as described in relation to Figures 7A~7AA), and indications 744 (as described in relation to Figures 7A~7AA), such as the color and / or controls of one or more displayed user interface objects. In response to detecting input to the hand gesture confirmation control 1314h, the computer system 600 switches the hand gesture confirmation control 1314h on or off. When the hand gesture confirmation control 1314h is on, the computer system 600 is configured to confirm one or more actions (e.g., payment transactions) in response to the detection of one or more hand gestures. When the hand gesture confirmation control 1314h is off, the computer system 600 is not configured to confirm one or more actions in response to the detection of one or more hand gestures.

[0202] As shown in Figure 13D, the computer system 600 displays one or more configuration controls (e.g., configuration controls 1316a to 1313e) to modify one or more actions that the computer system 600 performs in response to the detection of a specific hand gesture. In some embodiments, in response to the detection of one or more gestures for the learning control 1316e, the computer system 600 displays the user interface shown in Figure 13E.

[0203] As shown in Figure 13E, the computer system 600 displays a user interface 1318. The user interface 1318 may include one or more instructions (e.g., with graphical representations) that indicate how the user can perform one or more gestures. In some embodiments, in Figure 13C, the computer system 600 displays the user interface of Figure 13F in response to detecting a gesture for the move cursor control 1314c. In some embodiments, while displaying the user interface 1318, the computer system 600 provides feedback on whether the user performed the gesture correctly and / or incorrectly during the learning mode session.

[0204] As shown in Figure 13F, the computer system 1300 displays one or more controls for controlling one or more aspects of the move cursor mode, such as sensitivity (e.g., 1322b) (e.g., how and / or how much the move cursor moves in response to the detection of movement (e.g., tilt) of the computer system 600), active time (e.g., 1322c) (e.g., a predetermined amount of time that the move cursor must be positioned over a user interface object to perform an action and / or the amount of time represented by an indication (e.g., indication 744 in Figure 7N)), movement tolerance (e.g., 1322d) (e.g., the amount of time that an action must be performed after the move cursor has moved from the position corresponding to the user interface object and before the indication 744 is reset and / or the animation display is stopped), and dwell control (e.g., 1322e) (e.g., a predetermined amount of time that the move user must be positioned over a user interface object in order to perform an action and / or whether the computer system can initiate an action in move cursor mode via one or more shake inputs). In Figure 13G, the computer system 600 displays one or more settings for changing the color of the moving cursor (e.g., 1324a to 1324c).

[0205] Figure 14 shows a number of menu controls that can be displayed on menu 732 (for example, as described above in relation to Figure 7N). Menu 732 may include a hierarchy of controls, such as the hierarchy of controls described in relation to Figure 14. In some embodiments, in response to the detection of input to an interaction control 1410, the computer system 600 displays one or more of the following: a tap control gesture 1410a (for example, as described above in relation to 832a), a move cursor control 1410b (for example, as described above in relation to move cursor control 732b), and a digital hardware operation control 1410 (for example, as described above in relation to digital hardware operation 732a). In some embodiments, in response to the detection of input to the system control 1414, the computer system 600 displays one or more of the following: icon grid 1414a (for example, when activated, displays a grid containing multiple application icons), control center 1414b (for example, when activated, displays one or more device controls such as Wi-Fi control for switching Wi-Fi settings, Bluetooth control for switching Bluetooth settings, and mute control for switching sound output), settings 1414c (for example, when activated, displays one or more settings of the computer system configured as described above in relation to Figures 13A to 13G), and dock control 1414d (for example, when activated, displays one or more controls for navigating to one or more applications (for example, open applications and / or applications running in the background)).In some embodiments, upon detection of input to an additional option control 1416 (e.g., 732d), the computer system 600 displays a wallet control 1416a (e.g., when activated, causes the computer system 600 to display one or more user interface objects for initiating a payment transaction), a side button 1416b (e.g., when activated, causes the computer system 600 to perform one or more actions that correspond to the pressing of an input mechanism 602b, such as turning off the computer system 600), and a gesture mode 1416c (e.g., when activated, causes the computer system 60 to start operating in gesture mode). In some embodiments, upon detection of input to an auto-scroll control 1412, the computer system 600 begins operating in auto-scroll mode (e.g., as described above in relation to Figures 11A-11H and 12A-12J). In some embodiments, upon detection of input to an exit control 1418, the computer system 600 stops displaying the menu 732 (e.g., as described above in relation to Figure 7N). In some embodiments, menu 732 includes one or more controls not shown in Figure 14. In some embodiments, the controls of menu 732 are in a different hierarchy than those shown in Figure 14.

[0206] Figure 15 is a flowchart illustrating Method 1500 using a computer system according to several embodiments. Method 1500 is performed in a computer system (e.g., 100, 300, 500) (e.g., a wearable device (e.g., a smartwatch)) that communicates with display generation components (e.g., a display controller, a touch-sensitive display system) and optical sensors (e.g., a hearing velocity sensor). In some embodiments, the computer system communicates with one or more sensors (e.g., one or more biometric sensors (e.g., an optical sensor (e.g., a heart rate sensor), a camera), a gyroscope, an accelerometer). In some embodiments, the computer system communicates with one or more input devices (e.g., a touch-sensitive surface, a microphone). In some embodiments, the computer system communicates with one or more output devices (e.g., one or more speakers, one or more microphones). Some operations of Method 1500 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

[0207] As described later, Method 1500 provides an intuitive way to navigate a user interface using hand gestures. This method reduces the cognitive burden on the user when navigating a user interface using hand gestures, thereby creating a more efficient human-machine interface. In the case of battery-powered computing devices, power is saved and the intervals between battery charges are extended as users can navigate the user interface faster and more efficiently.

[0208] The computer system, via display generation components, provides a first user interface object (e.g., 712a-712b, 910a-910h, or 1010a-1010d), a second user interface object (e.g., 712a-712b, 910a-910h, or 1010a-1010d), and an indication (e.g., a visual indication (e.g., its boundary)) that the first user interface object (e.g., 712a-712b, 910a-910h, or 1010a-1010d) is selected (e.g., without indicating that the second and third user interface objects are selected). A user interface is displayed that includes highlighting, text display, and zooming (for example, focus indicators described as being around 712a-712b, 910a-910h, or 1010a-1010d) (1502). In some embodiments, the first, second, and third user interface objects are different from each other. In some embodiments, the first user interface object is displayed between the second and third user interface objects. In some embodiments, the first, second, and third user interface objects are different user interface objects.

[0209] In some embodiments, while displaying a user interface including a first user interface object (e.g., 712a-712b, 910a-910h, or 1010a-1010d) (e.g., while the computer system is in a first operating mode (e.g., a first accessibility mode)), a second user interface object (e.g., 712a-712b, 910a-910h, or 1010a-1010d), a third user interface object (e.g., 712a-712b, 910a-910h, or 1010a-1010d), and an indication that the first user interface object has been selected (e.g., a focus indicator described as being near 712a-712b, 910a-910h, or 1010a-1010d), the computer system uses at least optical sensors The computer system detects hand gestures (e.g., 750e, 750f, 750i, 750l, 750m, 750n, 950a, 950b, 950c, 950e, 950f, 950g, 1050b, 1050c, 1050d, or 1050e) (e.g., first hand gestures), (e.g., not in contact with the device (e.g., not directed towards any device communicating with an object on the user interface and / or the device)), (e.g., hand gestures not detected by one or more cameras of the device) (e.g., hand gestures occurring while the user's wrist is in a single position and / or not moving, hand gestures detected while the computer system is mounted on the wrist (e.g., the user's wrist) (1504).

[0210] In some embodiments, at least via the optical sensor, hand gestures (e.g., 750e, 750f, 750i, 750l, 750m, 750n, 950a, 950b, 950c, 950e, 950f, 950g, 1050b, 1050c, 1050d, or 1050e) (and while displaying a user interface including a first user interface object, a second user interface object, a third user interface object) (e.g., while the computer system is in a first operating mode) While operating, and according to the determination that a hand gesture (e.g., 750e, 750f, 750i, 750l, 750m, 750n, 950a, 950b, 950c, 950e, 950f, 950g, 1050b, 1050c, 1050d, or 1050e) is a first type of gesture (e.g., 610, 620, 630, 640, 650) (e.g., type of hand gesture) (e.g., finger tap / pinch gesture (e.g., gesture where two or more fingers touch each other) (and in some embodiments) Depending on the first type of gesture, which is a non-finger tap / pinch gesture (e.g., a clench gesture (e.g., a fist-making gesture), multiple clench gestures (e.g., a gesture involving multiple clench gestures), finger-spreading gestures (e.g., a gesture where one or more fingers do not touch part of the hand), multiple finger-spreading gestures (e.g., a gesture involving multiple spreading gestures), and / or any combination thereof) (1506), the computer system will, via the display generation component, generate the second type - Display an indication that the interface object (e.g., 712a-712b, 910a-910h, or 1010a-1010d) is selected (e.g., a focus indicator described as being around 712a-712b, 910a-910h, or 1010a-1010d) (e.g., a visual indication (e.g., highlighting (e.g., its border), displaying text, zooming) (e.g., the newly selected user interface object) (1508) (e.g.,The indication that a first user interface object has been selected is stopped and / or without displaying an indication that a third user interface object has been selected (e.g., without indicating that both the first and third user interface objects have been selected). In some embodiments, an indication that a second user interface object has not been previously displayed precedes the first indication that the first user interface object has been displayed. In some embodiments, according to the determination that a hand gesture is a first type of gesture, the computer system moves the indication from the first user interface object (e.g., an indication that the first user interface object has been selected) (e.g., from being displayed around, next to (e.g., above, below, next to) the first user interface object) to the second user interface object (e.g., an indication that the second user interface object has been selected) (e.g., from being displayed around, next to (e.g., above, below, next to) the second user interface object).

[0211] In some embodiments, at least via the optical sensor, hand gestures (e.g., 750e, 750f, 750i, 750l, 750m, 750n, 950a, 950b, 950c, 950e, 950f, 950g, 1050b, 1050c, 1050d, or 1050e) (and while displaying a user interface including a first user interface object, a second user interface object, a third user interface object) (e.g., when the computer system is operating in a first operating mode) (for example, during) and according to the determination that a hand gesture (e.g., 750e, 750f, 750i, 750l, 750m, 750n, 950a, 950b, 950c, 950e, 950f, 950g, 1050b, 1050c, 1050d, or 1050e) is a second type of gesture (e.g., 610, 620, 630, 640, 650) that is different from a first type of gesture (e.g., type of hand gesture) (e.g., multi-finger tap / pinch gesture (e.g., a gesture in which two or more fingers touch each other multiple times)) (and In some embodiments, the first type of gesture is a non-finger tap / pinch gesture (e.g., a clench gesture (e.g., a fist-making gesture), multiple clench gestures (e.g., a gesture including multiple clench gestures), finger-spreading gestures (e.g., a gesture in which one or more fingers do not touch part of the hand), multiple finger-spreading gestures (e.g., a gesture including multiple spreading gestures), and / or any combination thereof) (1506), and the computer system generates the gesture via a display generation component. Then, an indication that a third user interface object (e.g., 712a-712b, 910a-910h, or 1010a-1010d) is selected (e.g., a focus indicator described as being around 712a-712b, 910a-910h, or 1010a-1010d) (e.g., a visual indication (e.g., highlighting (e.g., its border), displaying text, zooming) (e.g., the previously selected user interface object) is displayed (1510) (e.g.,Without indicating that the first and second user interface objects have been selected (for example, by stopping the display of an indication that the first user interface object has been selected and / or without displaying an indication that the second user interface object has been selected). In some embodiments, an indication that a third user interface object has been previously displayed precedes the first indication that the first user interface object has been displayed. In some embodiments, according to the determination that a hand gesture is a second type of gesture, the computer system moves the indication from the first user interface object (for example, an indication that the first user interface object has been selected) (for example, from being displayed around, next to (e.g., above, below, next to) the first user interface object) to the third user interface object (for example, an indication that the second user interface object has been selected) (for example, from being displayed around, next to (e.g., above, below, next to) the third user interface object). In some embodiments, at least two of the indicators indicating that a first user interface object is selected, a second user interface object is selected, and / or a third user interface object is selected are of different sizes. Choosing whether to display the indicator indicating that a second user interface object is selected or the indicator indicating that a third user interface object is selected, based on the type of hand gesture detected, provides the user with more control over the system and helps the user navigate the user interface without touching the computer system, which can lead to more efficient control of the user interface for some users.

[0212] In some embodiments, a hand gesture (e.g., 750e, 750f, 750i, 750l, 750m, 750n, 950a, 950b, 950c, 950e, 950f, 950g, 1050b, 1050c, 1050d, or 1050e) is detected based on heart rate data determined using data detected via an optical sensor. In some embodiments, a second type of gesture (e.g., 630 or 650) is a gesture that is multiple instances of the first type of gesture (e.g., 620 or 640), e.g., multiple finger taps / pinches, multiple finger spreading gestures, and / or multiple clench gestures). In some embodiments, the second type of gesture includes at least one instance of the first type of gesture. When a second type of gesture is a gesture that is multiple instances of a first type of gesture, choosing whether to display an indication that a second user interface object is selected or an indication that a third user interface object is selected, based on the type of hand gesture detected, provides the user with more control over the system and helps the user navigate the user interface to perform similar actions differently (e.g., selecting an object to the right versus selecting an object to the left) using similar hand gestures (e.g., one hand gesture containing the other) without touching the computer system, which can lead to more efficient control of the user interface for some users.

[0213] In some embodiments, the computer system, upon detecting a hand gesture (e.g., 750e, 750f, 750i, 750l, 750m, 750n, 950a, 950b, 950c, 950e, 950f, 950g, 1050b, 1050c, 1050d, or 1050e) via at least an optical sensor, and in accordance with the determination that the hand gesture is a third type of gesture (e.g., 620, 630, 640, or 650) (e.g., type of hand gesture) distinct from the first and second types of gestures, performs an action (e.g., an action) corresponding to the selection of a first user interface object (e.g., via a display generation component) (e.g., selecting a play / pause button, selecting an interaction on a menu, selecting a cancel button, selecting an answer / reject button for an incoming phone call) (e.g., without displaying a menu containing one or more selectable options). In some embodiments, in response to detecting a hand gesture (e.g., 750e, 750f, 750i, 750l, 750m, 750n, 950a, 950b, 950c, 950e, 950f, 950g, 1050b, 1050c, 1050d, or 1050e) via at least an optical sensor, and in accordance with the determination that the hand gesture is a fourth type of gesture (e.g., 620, 630, 640, or 650) (e.g., type of hand gesture) different from a first type of gesture, a second type of gesture, and a third type of gesture, the computer system displays a menu containing one or more selectable options (e.g., as described below in relation to Method 1600) via a display generation component (e.g., without performing an option corresponding to the selection of a first user interface object).Choosing whether to perform an action corresponding to the selection of a first user interface object or to display a menu containing one or more selectable options, based on the type of hand gesture detected, provides the user with more control over the system and helps them navigate the user interface without touching the computer system, which can lead to more efficient control of the user interface for some users.

[0214] In some embodiments, before detecting a hand gesture (e.g., 750e, 750f, 750i, 750l, 750m, 750n, 950a, 950b, 950c, 950e, 950f, 950g, 1050b, 1050c, 1050d, or 1050e), the computer system (e.g., 600) is in a first operating mode (e.g., an operating mode in which the computer system performs the operations described above (i.e., operations) in response to detecting one or more of the first, second, third, and / or fourth types of gestures) (e.g., as described above in relation to Figures 7A to 7I). In some embodiments, as part of performing an action corresponding to the selection of a first user interface object (e.g., 1412 or 736a) (e.g., as described above in relation to Figures 11A-11H and 12A-12J), the computer system (e.g., 600) transitions the computer system from a first operating mode to a second operating mode (e.g., as described above in relation to Figures 7I-7U) (e.g., a mode in which the cursor automatically moves across the display, a mode in which the user interface is automatically scrolled in a certain direction (e.g., up, down, right, left, diagonally), a mode in which the detection of one or more of the first, second, third, and / or fourth types of gestures causes the computer system to perform an action different from the action it performs when the computer system is operating in the first operating mode).

[0215] In some embodiments, while the computer system (e.g., 600) is in a second operating mode, the computer system detects a second hand gesture (e.g., 750e, 750f, 750i, 750l, 750m, 750n, 950a, 950b, 950c, 950e, 950f, 950g, 1050b, 1050c, 1050d, or 1050e) at least via optical sensors. In some embodiments, in response to detecting a second hand gesture at least via an optical sensor (for example, while the computer system is in a second operating mode and not in a first operating mode), and determining that the second hand gesture is of a first type of gesture (e.g., 620, 630, 640, or 650), the computer system switches between an active state (e.g., resume state) and an inactive state (e.g., pause state) of a first auto-scroll operation (e.g., as described above in relation to Figures 12C to 12E) (e.g., without reversing the direction of the auto-scroll operation) (e.g., an operation in which one or more user interface objects are automatically selected in sequence (e.g., without user input)) (e.g., switching between an active state and an inactive state of an auto-scroll operation is a different operation from displaying an indication that a second user interface object has been selected). In some embodiments, according to the determination that a hand gesture is a first type of gesture and that the scrolling operation is in an inactive state (e.g., paused, scroll paused, scroll off), the computer system transitions the automatic scrolling operation from an inactive state to an active state (e.g., resumes scrolling). In some embodiments, according to the determination that a hand gesture is a second type of gesture and that the scrolling operation is in an active state (e.g., scroll on, resumed), the computer system transitions the automatic scrolling operation from an active state to an inactive state (e.g., pauses scrolling).In some embodiments, upon determination that an automatic scrolling operation is active, the computer system displays a notification indicating that the automatic scrolling operation is active. In some embodiments, upon determination that an automatic scrolling operation is inactive, the computer system displays a notification indicating that the automatic scrolling operation is inactive and / or stops displaying the notification indicating that the automatic scrolling operation is active. In some embodiments, upon detection of a second hand gesture at least via an optical sensor (for example, while the computer system is in a second operating mode and not in a first operating mode), upon determination that the second hand gesture is a second type of gesture, the computer system reverses the first direction of the first automatic scrolling operation (for example, without switching between active and inactive states of the automatic scrolling operation) (for example, reversing the first direction of the automatic scrolling operation is a different operation from displaying an indication that a third user interface object is selected). In some embodiments, as part of reversing the direction of the automatic scrolling operation, the computer system selects user interface objects in the reverse order in which the user interface was previously selected and / or reverses the interface that is scrolling in a certain direction. Selecting whether to switch the first automatic scrolling action between active and inactive states, or to reverse the first direction of the automatic scrolling action, based on the type of hand gesture detected, provides the user with more control over the system and helps them navigate the user interface without touching the computer system, which can lead to more efficient control of the user interface for some users.

[0216] In some embodiments, upon detecting a second hand gesture (e.g., 750e, 750f, 750i, 750l, 750m, 750n, 950a, 950b, 950c, 950e, 950f, 950g, 1050b, 1050c, 1050d, or 1050e) at least via an optical sensor, the computer system performs a second action (e.g., changing the speed of an automatic scrolling operation) based on the determination that the second hand gesture is a third type of gesture (e.g., 610, 620, 630, 640, or 650). Upon determining that the second hand gesture is a fourth type of gesture (e.g., 610, 620, 630, 640, or 650), the computer system performs a third action different from the second action (e.g., when the second hand gesture is detected, select the user interface at the current position of the user interface object highlighted by the scroll action and exit automatic scrolling mode). Choosing whether to perform the first or second action based on the type of detected hand gesture provides the user with more control over the system and helps the user navigate the user interface without touching the computer system, which can lead to more efficient control of the user interface for some users.

[0217] In some embodiments, while the computer system (e.g., 600) is in a second operating mode, the computer system performs a second automatic scrolling operation to scroll a sequence of multiple interface objects in a second direction (e.g., as described above in relation to Figures 12G-12H). In some embodiments, while performing the second automatic scrolling operation, the computer system detects the end of a sequence of multiple user interface objects (e.g., by detecting that the scroll position is at or near the last user interface object in the sequence, and / or by detecting the boundary of a user interface) (e.g., as described above in relation to Figures 12G-12H). In some embodiments, in response to detecting the end of a sequence of multiple user interface objects, the computer system performs a third automatic scrolling operation to scroll the sequence of multiple interface objects in a third direction different from the second direction (e.g., the opposite direction) (e.g., as described above in relation to Figures 12G-12H). By automatically performing a third automatic scrolling action that scrolls the sequence of multiple user interface objects in a third direction different from a second direction, in response to detecting the end of a sequence of multiple user interface objects, the computer system can provide the user with a way to automatically navigate the user interface without the user having to provide additional input to restart / reset the automatic navigation when the automatic navigation has cycled through the user interface objects on the user interface.

[0218] In some embodiments, in response to detecting a second hand gesture (e.g., 750e, 750f, 750i, 750l, 750m, 750n, 950a, 950b, 950c, 950e, 950f, 950g, 1050b, 1050c, 1050d, or 1050e) at least via an optical sensor, and in accordance with the determination that the second hand gesture is a fourth type of gesture (e.g., 610, 620, 630, 640, or 650), the computer system transitions the computer system from a second operating mode to a third operating mode (and / or exits the second operating mode). In some embodiments, the third operating mode is the first operating mode. Transitioning a computer system from a second operating mode to a third operating mode based on the determination that a second hand gesture is a fourth type of gesture provides the user with more control over the system and helps the user navigate the user interface without touching the computer system, which can lead to more efficient control of the user interface for some users.

[0219] In some embodiments, upon determination that a second hand gesture (e.g., 750e, 750f, 750i, 750l, 750m, 750n, 950a, 950b, 950c, 950e, 950f, 950g, 1050b, 1050c, 1050d, or 1050e) is a first type of gesture (e.g., 610, 620, 630, 640, or 650), the computer system displays a notification (e.g., 716) indicating the status of the automatic scrolling operation (e.g., scrolling is paused, scrolling has been stopped). Displaying a notification indicating the status of the automatic scrolling operation upon determination that a second hand gesture is a first type of gesture provides the user with visual feedback that an action has been performed in response to the detected hand gesture, which can prevent the user from accidentally performing multiple gestures that could cause the computer system to perform unnecessary and / or unintended actions.

[0220] In some embodiments, a third type of gesture (e.g., 610, 620, 630, 640, or 650) is a type of gesture that is multiple instances of a fourth type of gesture (e.g., multiple finger taps / pinches, multiple finger spreading gestures, and / or multiple clench gestures). In some embodiments, a third type of gesture includes at least one instance of a fourth type of gesture. In some embodiments, a fourth type of gesture (e.g., 610, 620, 630, 640, or 650) does not include multiple instances of a first type of gesture (e.g., 610, 620, 630, 640, or 650) (and / or a second type of gesture), and a third type of gesture (e.g., 610, 620, 630, 640, or 650) does not include multiple instances of a second type of gesture (e.g., 610, 620, 630, 640, or 650) (and / or a first type of gesture) (e.g., as described above in relation to Figure 6). In some embodiments, a fourth type of gesture does not include a first type of gesture and / or a second type of gesture. In some embodiments, a third type of gesture does not include a first type of gesture and / or a second type of gesture.

[0221] In some embodiments, in response to detecting a second hand gesture (e.g., 750e, 750f, 750i, 750l, 750m, 750n, 950a, 950b, 950c, 950e, 950f, 950g, 1050b, 1050c, 1050d, or 1050e) at least via an optical sensor, and in accordance with the determination that a notification (e.g., a notification corresponding to a phone call, email, text message, or voicemail message) was received within a threshold period, and in accordance with the determination that the second hand gesture is a fourth type of gesture, the computer system performs an action related to the notification (e.g., answering a phone call, responding to / opening a text message and / or email corresponding to the notification, playing a voicemail message) (e.g., as described above in relation to Figure 7H). Performing an action related to a notification based on the determination that the notification was received within a threshold period, and based on the determination that the second hand gesture is of the fourth type, provides the user with more control over the system and helps the user navigate the user interface without touching the computer system (for example, by having the computer system perform actions related to notifications), which may lead to more efficient control of the user interface for some users.

[0222] In some embodiments, one or more selectable options (e.g., 732a-732d, 832a, or 1410-1418) include a first selectable user interface object (e.g., 732a-732d, 832a, or 1410-1418) for modifying the actions that one or more hand gestures can perform on the computer system. In some embodiments, the selection of the first selectable user interface object causes the computer system to display a number of settings. In some embodiments, each setting controls the actions that one or more hand gestures can perform on the computer system when they are detected by the computer system (e.g., as described above in relation to Figures 8A-8J). Displaying a menu containing the first selectable user interface object allows the computer system to provide the user with options to perform actions without requiring more complex hand gestures, thereby reducing the number of hand gestures used to perform actions and allowing the user to customize which hand gestures perform actions.

[0223] In some embodiments, one or more selectable options (e.g., 732a-732d, 832a, or 1410-1418) include a second selectable option for transitioning the computer system to a fourth operating mode and a third selectable option for transitioning the computer system to a fifth operating mode different from the fourth operating mode. In some embodiments, selecting a second selectable option (e.g., 732a-732d, 832a, or 1410-1418) transitions the computer system to a fourth operating mode (e.g., an automatic scrolling mode, a cursor mode (e.g., as described herein in relation to Method 1600)). In some embodiments, selecting a third selectable option (e.g., 732a-732d, 832a, or 1410-1418) transitions the computer system to a fifth operating mode (e.g., an automatic scrolling mode, a cursor mode (e.g., as described herein in relation to Method 1600)). Displaying a menu that includes a second selectable option for transitioning the computer system to a fourth operating mode and a third selectable option for transitioning the computer system to a fifth operating mode different from the fourth operating mode provides the user with more control over the computer system by enabling the user to transition the computer system to different operating modes (e.g., without providing more complex hand gestures) and reduces the number of hand gestures used to perform the actions.

[0224] In some embodiments, one or more selectable options (e.g., 732a - 732d, 832a, or 1410 - 1418) include a fourth selectable option (e.g., 1416) for displaying one or more additional selectable options (e.g., options corresponding to actions that are executed when an input is detected at a selectable user interface object's location (e.g., a second location), actions such as turning the computer system on / off, displaying different menus and / or user interfaces, options corresponding to actions executed in response to detection of an input via one or more input devices communicating with the computer system). In some embodiments, selection of the fourth selectable option causes the computer system (e.g., 600) to display one or more additional selectable options that were not previously displayed prior to the selection of the fourth selectable option (e.g., each of which causes the computer system to execute one or more actions (e.g., different actions) when selected). In some embodiments, in response to detection of the fourth selectable option, the computer system stops displaying one or more selectable options that were displayed prior to the detection of the selection of the fourth selectable option. Displaying a menu that includes a fourth selectable option for displaying one or more additional options allows the user to select to display additional selectable options that were not previously displayed, providing the user with more control over the computer system, reducing the number of hand gestures used to execute additional actions, reducing the number of selectable user interface options displayed when the menu is first displayed, which cleans up the user interface.

[0225] In some embodiments, a menu is displayed according to the determination that a particular user interface object (e.g., a selected user interface object, a user interface object surrounded by a focus indicator) is in a first position on the user interface (e.g., as described above in relation to Figure 11B), and according to the determination that a particular user interface object is not in a first position on the user interface but is in a second position different from the first position (e.g., as described above in relation to Figure 11B). Automatically selecting where to display a menu based on where a particular user interface object is displayed allows the computer system to avoid displaying the menu in the position of a user interface object that may be of interest to the user (e.g., a selected user interface object), and also reduces the number of inputs the user would have to make to move the menu because it would affect the display of the user interface object.

[0226] In some embodiments, while displaying a third menu (e.g., 732) that includes one or more selectable options (e.g., 732a - 732d, 832a, or 1410 - 1418) (e.g., a menu that includes one or more selectable options, a second menu that includes one or more selectable options), the computer system detects a third hand gesture via at least an optical sensor (e.g., as described above in connection with FIGS. 10A - 10E). In some embodiments, in response to detecting a third hand gesture via at least an optical sensor (e.g., as described above in connection with FIGS. 10A - 10E), and in accordance with a determination that the third hand gesture is a fourth type of gesture, the computer system stops displaying the third menu that includes one or more selectable options. Stopping the display of a menu that includes one or more selectable options in accordance with a determination that the third hand gesture is a fourth type of gesture provides the user with more control over the system and helps the user navigate the user interface without touching the computer system, which can lead to more efficient control of the user interface for some users.

[0227] In some embodiments, after displaying a user interface including a first user interface object (e.g., 732a-732d, 832a, or 1410-1418), the computer system detects a fourth hand gesture, at least via optical sensors. In some embodiments, in response to the detection of the fourth hand gesture, at least via optical sensors, and the determination that the fourth hand gesture is a fifth type gesture different from the first and second type gestures (and / or the first type gesture) (e.g., in some embodiments, the fifth type gesture is the same gesture as the fourth type gesture), the computer system transitions the computer system from an inactive state (e.g., sleep state, hibernate state, low power mode state, state where the display generating components have lower brightness than the display generating components in the active state) to an active state (e.g., wake state, full power state) (or transitions the computer system from an active state to an inactive state) (e.g., as described above in relation to Figure 14 (e.g., 1416b)). Transitioning a computer system from an inactive state to an active state based on the determination that a fourth hand gesture is a fifth type of gesture provides the user with more control over the system without physically touching it, which can lead to more efficient control of the user interface for some users.

[0228] In some embodiments, while displaying an indication via a display generation component that a second user interface object has been selected, the computer system detects a fifth hand gesture, at least via an optical sensor. In some embodiments, in response to detecting a fourth hand gesture, at least via an optical sensor, and in accordance with the determination that the fifth hand gesture is a first type of gesture, the computer system displays an indication via a display generation component that a fourth first user interface object (e.g., the next selected user interface object) has been selected, and in accordance with the determination that the fifth hand gesture is a second type of gesture, the computer system displays an indication via a display generation component that a first user interface object (e.g., the previous selected user interface object) has been selected. In some embodiments, while displaying an indication via a display generation component that a third user interface object has been selected, the computer system detects a specific hand gesture, at least via an optical sensor. In some embodiments, in response to the detection of a specific hand gesture and the determination that the specific hand gesture is a first type of gesture, the computer system displays an indication that a fourth user interface object, different from the first, second, and third user interface objects, has been selected. In some embodiments, in response to the detection of a specific hand gesture and the determination that the specific hand gesture is a second type of gesture, the computer system displays an indication that a first user interface object has been selected.While there is an indication that a second user interface object is selected, choosing whether to display an indication that a fourth first user interface object is selected, or an indication that the first user interface object is selected, based on the type of hand gesture detected, provides the user with more control over the system and helps the user navigate the user interface without touching the computer system (e.g., consistently navigating the user interface in the same way), which can lead to more efficient control of the user interface for some users.

[0229] In some embodiments, while displaying a user interface including a first user interface object, the computer system detects a request to transition the computer system from a first operating mode to a fourth operating mode (e.g., as described above in relation to Figures 13A-13G and 14) (e.g., an operating mode in which the computer system does not perform an action in response to the detection of a hand gesture and / or a mode in which the computer system does not detect one or more hand gestures). In some embodiments, in response to detecting a request to transition the computer system from the first operating mode to the fourth operating mode, the computer system transitions the computer system from the first operating mode to the fourth operating mode (e.g., as described above in relation to Figures 7A-7C). In some embodiments, while the computer system is in the fourth operating mode and displaying a user interface including a first user interface object, a second user interface object, a third user interface object, and an indication that the first user interface object is selected, the computer system detects a sixth hand gesture (e.g., as described above in relation to Figures 7A-7C) at least via optical sensors.In some embodiments, upon detection of a sixth hand gesture, at least via an optical sensor (for example, while the computer system is in a fourth operating mode), the computer system continues to display an indication that a first user interface object is selected, in accordance with the determination that the hand gesture is a first type of gesture (for example, as described above in relation to Figures 7A to 7C) (without displaying an indication that a second user interface object is selected and / or an indication that a third user interface object is selected via the display generation component, and / or without performing any action) (for example, as described above in relation to Figures 7A to 7C). The computer system continues to display an indication that a first user interface object is selected, in accordance with the determination that the hand gesture is a second type of gesture (without displaying an indication that a third user interface object is selected and / or an indication that a second user interface object is selected via the display generation component, and / or without performing any action) (for example, as described above in relation to Figures 7A to 7C). In accordance with the determination that a hand gesture is a first type of gesture, and in accordance with the determination that a hand gesture is a first type of gesture (for example, while the computer system is in a fourth operating mode), continuing to display an indication that a first user interface object has been selected provides the user with further control over the computer system's detection of hand gestures and / or the execution of actions in response to the detection of hand gestures.

[0230] It should be noted that the process details described above with respect to Method 1500 (for example, Figure 15) are also applicable to methods similar to those described herein. For example, Method 1500 optionally includes one or more characteristics of the various methods described herein with reference to Method 1600. For example, Method 1500 can be performed when a computer system is switched off from operation in an operating mode in which the computer system operates using the techniques of Method 1600. For brevity, these details will not be repeated below.

[0231] Figure 16 is a flowchart illustrating how to navigate using a computer system according to several embodiments. Method 1600 is performed in a computer system (e.g., 100, 300, 500) (e.g., a wearable device (e.g., a smartwatch)) that communicates with display generation components (e.g., a display controller, a touch-sensitive display system). In some embodiments, the computer system communicates with one or more sensors (e.g., one or more biometric sensors (e.g., a heart rate sensor, a camera), a gyroscope, an accelerometer). In some embodiments, the computer system communicates with one or more input devices (e.g., a touch-sensitive surface, a microphone). In some embodiments, the computer system communicates with one or more output devices (e.g., one or more speakers, one or more microphones). Some operations of Method 1500 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

[0232] As described later, Method 1600 provides an intuitive way to navigate a user interface using hand gestures. This method reduces the cognitive burden on the user when navigating a user interface using hand gestures, thereby creating a more efficient human-machine interface. In the case of battery-powered computing devices, power is saved and the intervals between battery charges are extended as the user can navigate the user interface faster and more efficiently.

[0233] The computer system displays a user interface (e.g., 710, 720, 810, or 780) including selectable user interface objects (e.g., 720c, 732c, 810d, or 832a) via a display generation component, and a cursor (e.g., 742) (e.g., user interface object, non-selectable user interface object) displayed at a first position on the user interface (e.g., a position different from the position of the user interface object) (1602).

[0234] While displaying a selectable user interface object (e.g., 720c, 732c, 810d, or 832a) and a cursor (e.g., 742) at a first position on the user interface (e.g., 710, 720, 810, or 780), the computer system detects a request to move the cursor (e.g., 742) from the first position on the user interface to a second position (e.g., a position different from the first position) via a hand gesture (e.g., a wrist tilt as described above in relation to method 1500 and / or one or more other hand gestures) (1604). In some embodiments, the request to move the cursor is detected based on the movement of the computer system, the movement of one or more devices associated with the computer system (e.g., a mouse), and / or one or more inputs / gestures (e.g., a swipe gesture) detected on the display generating components of the computer system.

[0235] In response to detecting a request to move the cursor from a first position to a second position (e.g., 750p, 850c, 850d, or tilt in Figure 7Y or 7Z) (1606), the computer system displays the cursor at the second position (1608) (e.g., moving the cursor from the first position to the second position). In some embodiments, as part of displaying the cursor at the second position, the computer system moves the cursor from the first position to the second position. In some embodiments, the computer system moves the cursor in the direction the computer system has moved.

[0236] In response to detecting a request to move the cursor from a first position to a second position (e.g., 750p, 850c, 850d, or tilt in Figure 7Y or 7Z) (1606), the computer system determines that the second position corresponds to the position of a selectable user interface object (e.g., 720c, 732c, 810d, or 832a) (and / or to an area of ​​the display (e.g., an edge)) and performs an action (e.g., animation filling of a visual indication (e.g., an object), color change, blinking, countdown / up) The system displays an animation (1610) that provides a visual indication (e.g., 744) for a duration of time during which the cursor (e.g., 742) needs to be positioned at a second location to perform actions such as increasing or decreasing size, and fading in / out, and the visual indication (e.g., 742) is updated over a period of time (e.g., a period less than or equal to a threshold period) (e.g., while the cursor / visual indication is displayed at the second location) (e.g., without performing an action that includes selecting a selectable user interface object). In some embodiments, while the animation is being displayed (e.g., for a period less than the duration), the computer system detects a request to move the cursor, and in response to detecting a second request, the computer system stops displaying the animation. In some embodiments, after displaying the animation, the computer system redisplays the cursor. In some embodiments, the cursor is and / or includes a visual indication.

[0237] In response to detecting a request to move the cursor from a first position to a second position (e.g., 750p, 850c, 850d, or tilt in Figure 7Y or 7Z) (1606), the computer system, upon determining that the second position does not correspond to the position of a selectable user interface object (e.g., 720c, 732c, 810d, or 832a) (and / or does not correspond to an area of ​​the display (e.g., an edge)), the computer system discontinues displaying the animation that provides a display (e.g., 744) (1612). (and continues to display the cursor) (e.g., without performing an action that includes selecting a selectable user interface object). In some embodiments, as part of displaying the animation that provides a visual indication, the computer system replaces the display of the cursor with the visual indication. In some embodiments, while displaying an animation, the computer system detects a request to move the cursor from a second position to a third position, and in response to detecting a request to move the cursor from the third position to the second position, it displays the cursor at the third position (e.g., without displaying and / or replacing the visual indication with the cursor). In some embodiments, the third position is different from the second position and / or the first position.

[0238] In some embodiments, upon detection of a request to move the cursor (e.g., 742) from a first position to a second position (e.g., 750p, 850c, 850d, or tilt in Figure 7Y or 7Z), and upon determination that the second position corresponds to the position of a selectable user interface object (e.g., 720c, 732c, 810d, or 832a), and that the cursor (e.g., 742) has been displayed at the second position for a longer period than a first threshold period (e.g., a non-zero period) (e.g., 1 to 5 seconds) (e.g., a period longer than the time the animation is displayed), the computer system performs an action (e.g., as described in relation to Figures 7I to 7U, as described above in relation to Figures 8A to 8J). In some embodiments, as part of performing an action, the computer system selects a selectable user interface object (e.g., as described in relation to Figures 7I to 7U, as described above in relation to Figures 8A to 8J) (e.g., highlighting the selectable user interface object, launching a menu corresponding to the selectable user interface object, launching an application corresponding to the selectable user interface object). The ability for a computer system to automatically select a user interface object when a certain condition is met, by having the user have the ability to select a user interface object when the cursor has been positioned at a specific location (e.g., by the user) for a given period of time, is a valuable tool.

[0239] In some embodiments, upon detecting a request to move a cursor (e.g., 742) from a first position to a second position, and in accordance with the determination that the second position corresponds to the position of a selectable user interface object (e.g., 720c, 732c, 810d, or 832a) and that the cursor (e.g., 742) is displayed at the second position for a longer period than a second threshold period (e.g., a non-zero period) (e.g., 1 to 5 seconds) (e.g., a period longer than the time the animation is displayed), the computer system performs an action (e.g., as described in relation to Figures 7I to 7U). In some embodiments, performing an action includes launching an application corresponding to the selectable user interface object (e.g., as described in relation to Figures 7I to 7U). Automatically performing an action that includes launching an application corresponding to a selectable user interface object in accordance with the determination that the second position corresponds to the position of a selectable user interface object and that the cursor is displayed at the second position for a longer period than the first threshold period enables the computer system to automatically launch an application corresponding to a selectable user interface object when certain conditions are met. Performing an action that includes launching the application corresponding to a selectable user interface object, based on the determination that the second position corresponds to the position of a selectable user interface object and that the cursor remains at the second position for longer than the first threshold period, provides the user with more control over the computer system by giving the user the ability to launch the application corresponding to a selectable user interface object when the cursor is positioned at a specific position (e.g., by the user) for a specific period of time.

[0240] In some embodiments, the computer system may, upon detecting a request to move the cursor from a first position to a second position, and in accordance with the determination that the second position does not correspond to the position of a selectable user interface object (e.g., 720c, 732c, 810d, or 832a), refrain from performing an action (e.g., as described above in relation to Figure 8C) (e.g., refrain from displaying a menu containing one or more user interface objects for performing one or more actions at the second position via a display generation component, or refrain from launching an application corresponding to a selectable user interface object). In some embodiments, the computer system may refrain from performing an action in accordance with the determination that the second position does not correspond to the position of a selectable user interface object and that the cursor has been displayed and / or not displayed for longer than a threshold period. Choosing not to perform an action in accordance with the determination that the second position does not correspond to the position of a selectable user interface object gives the computer system the ability to refrain from performing an action when certain conditions are not met, which helps to prevent the computer system from performing unnecessary and / or unintended actions.

[0241] In some embodiments, the computer system refrains from performing an action (as shown, for example, in Figure 8D) in response to detecting a request to move a cursor (e.g., 742) from a first position to a second position, and in accordance with the determination that the cursor (e.g., 742) has not been displayed at the second position for longer than a third threshold period (e.g., a non-zero period) (e.g., 1 to 5 seconds) (e.g., longer than the time the animation is displayed). In some embodiments, the computer system refrains from performing an action in accordance with the determination that the second position corresponds to and / or does not correspond to the position of a selectable user interface object, and that the cursor has not been displayed at the second position for longer than a threshold period. Choosing not to perform an action in accordance with the determination that the cursor has not been displayed at the second position for longer than a third threshold period gives the computer system the ability to refrain from performing an action when certain conditions are not met, which helps to prevent the computer system from performing unnecessary and / or unintended actions.

[0242] In some embodiments, upon detecting a request to move a cursor (e.g., 742) from a first position to a second position, and determining that the second position corresponds to a position within the area of ​​a display generation component (e.g., 742 in Figure 7Q or 742 in Figure 7Y) (e.g., there), and that the cursor has been displayed at the second position for more than a fourth threshold period (e.g., a non-zero period) (e.g., 1 to 5 seconds) (e.g., a period longer than the time the animation is displayed), the computer system performs a second action, including displaying a second user interface (e.g., 780 or 720) different from the user interface (e.g., 710 or 718) (and stopping the display of the user interface) (while continuing to display the cursor) (without displaying a menu) (e.g., different from an action (e.g., selecting a user interface object)). In some embodiments, as part of displaying a second user interface different from the user interface, the computer system displays an animation of the second user interface that replaces the user interface (e.g., a slide animation, a fade animation, a dissolve animation, and / or slide animation). In some embodiments, the animation includes sliding a user interface from the screen toward an area, and / or sliding a second user interface object on the screen toward the area. In some embodiments, the computer system, upon determination that the second position corresponds to a position within the area of ​​the display and that the cursor has not been displayed at the second position for longer than a threshold period, discontinues performing a second action, which includes displaying the second user interface, and / or continues displaying the user interface. In some embodiments, the second threshold period is the same as the threshold period. In some embodiments, the second threshold period is a different threshold period. In some embodiments, the area does not contain one or more selectable user interface objects.In some embodiments, the computer system displays an animation based on the determination that the second position corresponds to a position within the region (e.g., there). In some embodiments, the computer system refrains from displaying the animation based on the determination that the second position corresponds to a position within the region (e.g., there). In some embodiments, the computer system displays an animation based on the determination that the second position does not correspond to a position within the region (e.g., there). In some embodiments, the computer system refrains from displaying an animation based on the determination that the second position does not correspond to a position within the region (e.g., there). Automatically performing a second action, which includes displaying a second user interface different from the user interface based on the determination that the second position corresponds to a position within the region of the display generation component and the cursor remains at the second position for longer than a fourth threshold period, allows the computer system to display a different user interface when the cursor is within a particular region of the display generation component. Performing a second action, which includes displaying a second user interface different from the user interface, based on the determination that the second position corresponds to a position within the area of ​​the display generation component and the cursor is displayed at the second position for longer than a fourth threshold period, provides the user with more control over the computer system by giving the user the ability to display a different user interface when certain conditions are met.

[0243] In some embodiments, the second position corresponds to the position of a selectable user interface object (e.g., 720c, 732c, 810d, or 832a), and the computer system performs an action according to the determination that the cursor (e.g., 742) is displayed at the second position for a longer period than a fifth threshold period (e.g., a non-zero period) (e.g., 1 to 5 seconds) (e.g., while the cursor is displayed at the second position) (e.g., a period longer than the animation is displayed) (e.g., a period longer than the animation is displayed). In some embodiments, performing an action includes displaying a menu (e.g., 732) at a second position via a display generation component, which includes one or more selectable options (e.g., 732a-732d and / or 1410-1418) (e.g., user interface objects) for performing one or more actions (e.g., one or more different actions) (e.g., an action performed when a tap input (e.g., and / or a first type of input) (e.g., a single-tap input / multi-tap input) is detected at the second position (e.g., an action to launch an application), an action performed when a long-press input (e.g., and / or a second type of input different from the first type of input) is detected at the second position (e.g., an action to display a menu for deleting a user interface object), an action performed when a swipe input (e.g., a third type of input different from the first and second type of inputs) is detected at the second position, an action to start an auto-scroll action at the second position). In some embodiments, the menu is displayed simultaneously with selectable user interface objects and / or a cursor. In some embodiments, when a menu is displayed, the display of one or more parts of the user interface (e.g., parts that do not include selectable user interface objects and / or the cursor) is stopped. In some embodiments, the menu is displayed at a location on the user interface that does not include selectable user interface objects and / or the cursor (e.g., top / bottom).In some embodiments, according to a determination that a selectable user interface object and / or cursor is displayed at a first specific location, the menu is displayed at a second specific location (for example, on the opposite side of the display from the first specific location, unlike the first location) (without being displayed at the first specific location). In some embodiments, according to a determination that a selectable user interface object and / or cursor is not displayed at the first specific location, the menu is displayed at the first specific location (without being displayed at the second specific location). Automatically performing an action that includes displaying a menu containing one or more selectable options for performing one or more actions at the second location, according to a determination that the second location corresponds to the location of a selectable user interface object and the cursor is displayed at the second location for longer than a first threshold period, enables a computer system to automatically display a menu when certain conditions are met. The second position corresponds to the position of a selectable user interface object, and the action of displaying a menu containing one or more selectable options for performing one or more actions, based on the determination that the cursor is displayed at the second position for longer than the first threshold period, provides the user with more control over the computer system by giving the user the ability to display a menu for performing one or more actions after the cursor has been positioned at a particular position (e.g., by the user) for a particular period of time.

[0244] In some embodiments, one or more selectable options (e.g., 732a-732d) include a first selectable option (e.g., 832a, 1410a, 1410b, 1410c, or 1412) for performing a selection action, where selection of the first selectable option causes the computer system to perform a selection action (e.g., an action performed when a tap is received at the second location) at a second location (e.g., on a selectable user interface object). In some embodiments, upon detecting the selection of the first selectable option, the computer system performs a selection action that includes launching an application associated with the selectable user interface object. In some embodiments, upon detecting the selection of the first selectable option, the computer system performs a selection action that includes highlighting (e.g., highlighting) the selectable user interface object displayed at the second location. Displaying a menu containing the first selectable option for performing a selection action provides the user with more control over the computer system by allowing the user to perform a selection action (e.g., without providing more complex hand gestures), and also reduces the number of hand gestures used to perform the action.

[0245] In some embodiments, one or more selectable options include a second selectable option (e.g., 832a) for performing an action (e.g., it is) that corresponds to an action performed (and / or will be performed) in response to an input (e.g., tap input, long press input, swipe input) (and / or gesture) being detected at a second location (e.g., by a computer system), wherein selection of the second selectable option causes the computer system to perform an action corresponding to an action performed in response to an input being detected at a second location (e.g., without an input being detected at a second location). Displaying a menu containing a second selectable option for performing an action corresponding to an action performed in response to input being detected at a second position provides the user with more control over the computer system (e.g., without providing more complex hand gestures, without the user touching the computer system and / or display generating components) by allowing the user to have the computer system perform an action in response to input being detected at a second position, and also reduces the number of hand gestures used to perform the action.

[0246] In some embodiments, one or more selectable options include a third selectable option (e.g., 732a, 1410c, or 1412) for performing an automatic scrolling operation (e.g., as described in relation to Method 1500), and the selection of the third selectable option causes the computer system to automatically scroll through a plurality of selectable user interface objects, including selectable user interface objects. In some embodiments, as part of automatically scrolling through a plurality of selectable user interface objects, including selectable user interface objects, the computer system starts the automatic scrolling from a second position (e.g., from a selectable user interface object displayed at the second position). In some embodiments, as part of automatically scrolling through a plurality of selectable user interface objects, including selectable user interface objects, the computer system highlights (e.g., highlights) one or more selectable user interface objects in sequence (e.g., as described in relation to Method 1500). Displaying a menu that includes a third selectable option for performing automatic scrolling provides the user with more control over the computer system and reduces the number of hand gestures used to perform the action, by allowing the user to automatically scroll multiple selectable user interface objects, including selectable user interface objects, within the computer system (for example, without providing more complex hand gestures).

[0247] In some embodiments, one or more selectable options include a fourth selectable option (e.g., an option corresponding to an operation that is executed when an input is detected at a position of a selectable user interface object (e.g., a second position)) for displaying additional options (e.g., 1416) of one or more options, an option for turning the computer system on / off, an option for performing operations such as displaying different menus and / or user interfaces, and / or an option corresponding to an operation that is executed in response to detection of an input via one or more input devices communicating with the computer system. In some embodiments, selection of the fourth selectable option causes the computer system to display one or more additional options (e.g., 832a and a menu shown in FIG. 8J) that were not previously displayed before the selection of the fourth selectable option is detected. In some embodiments, in response to detection of the fourth selectable option, the computer system stops displaying one or more selectable options that were displayed before the selection of the fourth selectable option is detected. Displaying a menu that includes a fourth selectable option for displaying additional options of one or more options allows a user to select to display additional selectable options that were not previously displayed, thereby providing the user with more control over the computer system, reducing the number of hand gestures used to perform additional operations, and reducing the number of selectable user interface options that were not previously displayed before the selection of the fourth selectable option is detected.

[0248] In some embodiments, one or more additional options (e.g., 832a and the menu shown in Figure 8J) that were not previously displayed before the selection of a fourth selectable option (e.g., 1414 or 1416) is detected include certain additional options (e.g., 1414a-1414d or 1416a-1416c) where the selection of a certain additional option prevents the computer system from performing an action that is not performed in the second position (e.g., an exit action, a menu closing action). In some embodiments, one or more selectable options do not include a selection action that, when selected, causes the computer system to perform an action that is not performed in the second position (e.g., an action that starts in the second position, runs in the second position, and / or includes the second position) (e.g., any action). Displaying a menu that includes one or more additional options that were not previously displayed before the selection of a fourth selectable option is detected includes providing the user with more control over the computer system by allowing the user to select an option that performs an action that is not performed in the second position, and reducing the number of hand gestures used to perform actions that are not performed in the second position.

[0249] In some embodiments, a computer system (e.g., 600) communicates with one or more input devices (e.g., 602a-602c). In some embodiments, one or more selectable options include a fifth selectable option (e.g., 732a, 1410c, or 1416b) for performing an action that corresponds to (and / or will be performed) an action (e.g., a press on a hardware input device to display a menu (e.g., one and / or multiple presses), initiating a payment operation, initiating a power-off of the computer system, initiating the use of voice assistance, rotating a hardware input device to move a cursor from one position to another, and / or rotating a hardware input device to zoom, scroll, and / or adjust one or more components of a user interface). In some embodiments, the selection of a fifth selectable option causes the computer system to perform an action corresponding to an action performed in response to the detection of input through one or more input devices (for example, without the detection of input on one or more input devices). Displaying a menu that includes a fifth selectable option for performing an action corresponding to an action performed in response to the detection of input through one or more input devices provides the user with more control over the computer system and reduces the number of hand gestures used to perform the action by allowing the user to choose to perform an action corresponding to an action performed in response to the detection of input through one or more input devices (for example, without providing more complex hand gestures and without the user touching one or more input devices).

[0250] In some embodiments, one or more selectable options include a sixth selectable option (e.g., 732a-732d or 1410-1418) and a seventh selectable option (e.g., 732a-732d or 1410-1418) (different from the sixth selectable option). In some embodiments, while a menu (e.g., 732) is displayed, the computer system detects a request to move the cursor from a second position to a third position on the user interface (e.g., 750p, 850c, 850d, or tilt in Figure 7Y or 7Z). In some embodiments, the second request to move the cursor is detected based on the movement of the computer system, the movement of one or more devices associated with the computer system (e.g., a mouse), and / or one or more inputs / gestures (e.g., a swipe gesture) detected on the display generating components of the computer system. In some embodiments, upon detecting a request on the user interface to move the cursor from a second position to a third position, the computer system, upon determining that the third position corresponds to the position of a sixth selectable option and that the cursor is displayed at the third position for a longer period than the sixth threshold period (e.g., a non-zero period) (e.g., 1 to 5 seconds) (e.g., a period longer than the time the animation is displayed), performs a first action corresponding to the sixth selectable option (e.g., without performing a second action), and upon determining that the third position corresponds to the position of a seventh selectable option and that the cursor is displayed at the third position for a longer period than the sixth threshold period, performs a second action different from the first action (e.g., without performing a first action). In some embodiments, upon determining that the third position corresponds to the position of a sixth selectable option and that the cursor is not displayed at the third position for a longer period than the third threshold period, the computer system cancels the execution of the first action. In some embodiments, upon determining that the third position corresponds to the position of a seventh selectable option and that the cursor is not displayed at the third position for a longer period than the third threshold period, the computer system cancels the execution of the first action. In some embodiments, the third threshold period is the same as the threshold period.In some embodiments, the third threshold period is a different threshold period from the first threshold period. Performing different actions based on where the cursor appears over the threshold period gives the user more control over the computer system to perform different actions based on the cursor's position.

[0251] In some embodiments, one or more operations (for example, while the cursor is displayed at a second position and the second position corresponds to a selectable user interface object) include causing the computer system (e.g., 600) to display the user interface of an application corresponding to a selectable user interface object (e.g., 720c, 732c, 810d, or 832a) (for example, as described above in relation to Figure 8J) (without terminating the first mode).

[0252] In some embodiments, one or more operations (for example, displaying a cursor at a second position, while the second position corresponds to a selectable user interface object) include operations that transition the computer system from a first operating mode to a second operating mode (for example, as described above in relation to 732a and / or 1412) (for example, an operating mode in which an operation (e.g., an automatic scrolling operation, a motion pointer operation) is started at (and / or started from) the second position) (without launching an application corresponding to a selectable user interface object).

[0253] In some embodiments, after displaying a menu containing one or more selectable options (e.g., 732) (e.g., when the menu is displayed, one or more menu objects are displayed), the computer system detects a request to display a second user interface different from the user interface (e.g., as described above in relation to Figures 7I-7U and 8A-8J). In some embodiments, in response to detecting a request to display a second user interface, the computer system displays the second user interface (while operating in the first operating mode). In some embodiments, the second user interface does not include a menu but includes a second selectable user interface object (e.g., 732a-732d or 1410-1418) (e.g., different from the selectable user interface object) and a cursor (e.g., 744 (e.g., as described above in relation to Figures 7I-7U and 8A-8J)). In some embodiments, while displaying a second selectable user interface object and a cursor, the computer system detects a request to move the cursor from a fourth position on the second user interface to a fifth position on the second user interface (for example, as described above in relation to Figures 7I-7U and 8A-8J). In some embodiments, the third request to move the cursor is detected based on the movement of the computer system, the movement of one or more devices associated with the computer system (e.g., a mouse), and / or one or more inputs / gestures (e.g., a swipe gesture) detected on the display generation components of the computer system. In some embodiments, in response to detecting a request to move the cursor from a fourth position on the second user interface to a fifth position on the second user interface, the computer system displays the cursor at the fifth position on the second user interface (for example, as described above in relation to Figures 7I-7U and 8A-8J).In some embodiments, upon detecting a request to move the cursor from a fourth position on the second user interface to a fifth position on the second user interface, the computer system determines that the fifth position corresponds to the position of a second selectable user interface object and that the cursor will be displayed at the second position for a longer period than a seventh threshold period (e.g., a non-zero period) (e.g., 1 to 5 seconds) (e.g., a period longer than the time the animation is displayed). In accordance with this determination, the computer system redisplays a menu (e.g., 732) containing one or more selectable options via a display generation component (e.g., as described above in relation to Figures 7I to 7U and Figures 8A to 8J) (e.g., when the menu is displayed). One or more menu objects are displayed. In some embodiments, the menu is not displayed if it is determined that the fifth position does not correspond to the position of a second selectable user interface object and / or the cursor has not been displayed at the second position for longer than the seventh threshold period. By automatically selecting to redisplay the menu if it is determined that the fifth position corresponds to the position of a second selectable user interface object and the cursor has been displayed at the second position for longer than the seventh threshold period, the computer system can provide the user with a consistent menu when the same set of predetermined conditions are met for different selectable user interface objects.

[0254] In some embodiments, a request to move a cursor (e.g., 742) from a first position to a second position is detected when it is determined that the computer system (e.g., 600) is tilted in a particular direction (e.g., 750p, 850c, 850d, or inclination in Figure 7Y or 7Z) (e.g., one side of the computer system (e.g., right side, left side) is higher / lower than the other side of the computer system). In some embodiments, the determination is made using data detected via one or more gyroscopes communicating with the computer system. In some embodiments, the particular direction is from the higher side of the computer system to the lower side of the computer. In some embodiments, the cursor (e.g., 742) is moved in the direction corresponding to the particular direction.

[0255] In some embodiments, before displaying a user interface including selectable user interface objects (e.g., 720c, 732c, 810d, or 832a) and a cursor displayed at a first position on the user interface (e.g., 742), the computer system displays a third user interface. In some embodiments, while displaying the third user interface (e.g., 710, 720, 810, or 780) (and in some embodiments, the user interface includes selectable user interface objects), the computer system detects a request to enter a first operating mode (e.g., 750w, 850a). In some embodiments, upon detecting the request to enter the first operating mode, the computer system transitions the computer system (e.g., 600) from a second operating mode (e.g., different from the first operating mode) to the first operating mode. In some embodiments, upon detecting the request to enter the first operating mode, the computer system displays a cursor (e.g., at a first position) (e.g., a user interface including selectable user interface objects and a cursor displayed at a first position on the user interface). Displaying a cursor in response to detecting a request to enter the first operating mode provides the user with visual feedback that the computer system is operating in the first operating mode (for example, / or that the computer system is in the first operating mode, so that one or more user actions can cause the computer system to perform one or more specific actions).

[0256] In some embodiments, as part of detecting a request to enter a first operating mode, the computer system detects that the computer system has been shaken (or is being shaken) (e.g., 750w, 850a) (e.g., while the computer system is in a second operating mode). Transitioning the computer system from a second operating mode to a first operating mode in response to the detection of a shaken computer system provides the user with more control over the computer system by allowing the user to switch between modes by shaking the computer system (e.g., without providing input on the display generating components of the device).

[0257] In some embodiments, while the computer system is in a first mode, the computer system detects that the computer system (e.g., 600) has been shaken (e.g., 750w, 850a). In some embodiments, in response to detecting that the computer system has been shaken, the computer system transitions the computer system from a first operating mode to a third operating mode (and in some embodiments, the third operating mode is the second operating mode) (e.g., the first operating mode as described above in relation to method 1500). Transitioning the computer system from a first operating mode to a third operating mode in response to detecting that the computer system has been shaken provides the user with more control over the computer system by allowing the user to switch modes by shaking the computer system (e.g., without providing input on the display generating components of the device).

[0258] In some embodiments, as part of transitioning the computer system (e.g., 600) from a first operating mode to a third operating mode, the computer system stops displaying a cursor (e.g., 742). In some embodiments, the computer system stops displaying a cursor in response to detecting that the computer system has been shaken (e.g., while the computer system is in the first mode). Stopping the display of a cursor in response to detecting that the computer system has been shaken provides feedback to the user that the computer system is not operating in the first operating mode (and / or that, because the computer system is not in the first operating mode, one or more user actions cannot cause the computer system to perform one or more specific actions).

[0259] In some embodiments, while the computer system is in a third operating mode and a cursor (e.g., 742) is displayed, the computer system detects a request to move the cursor from a sixth position to a seventh position. In some embodiments, in response to detecting a request to move the cursor from a sixth position to a seventh position (e.g., 750p, 850c, 850d, or tilt in Figure 7Y or 7Z) (e.g., while the computer system is in a third operating mode), the computer system displays the cursor at the seventh position. In some embodiments, in response to detecting a request to move the cursor from a sixth position to a seventh position (e.g., 750p, 850c, 850d, or tilt in Figure 7Y or 7Z) (e.g., while the computer system is in a third operating mode), and according to the determination that the seventh position corresponds to the position of a selectable user interface object and the cursor is displayed at the seventh position for longer than an eighth threshold period (e.g., a non-zero period) (e.g., 1 to 5 seconds) (e.g., longer than the time the animation is displayed), the computer system stops performing the operation. The seventh position corresponds to the position of a selectable user interface object, and ceasing to perform an action based on the determination that the cursor remains at the seventh position for longer than the eighth threshold period provides the user with more control over the computer system to control when a particular hand gesture performs a particular action (for example, while the computer system is in the third operating mode).

[0260] In some embodiments, the computer system performs an action in response to detecting a request to move a cursor (e.g., 742) from a first position to a second position, and in accordance with the determination that the second position corresponds to the position of a selectable user interface object (e.g., 720c, 732c, 810d, or 832a), and that the cursor (e.g., 742) will be displayed at the second position for a longer period than a ninth threshold period (e.g., a non-zero period) (e.g., 1 to 5 seconds) (e.g., while the cursor is displayed at the second position) (e.g., a longer period than the animation is displayed). In some embodiments, as part of performing an action, in accordance with the determination that one or more settings of the computer system (e.g., user settings) are in a first state, the computer system displays a second menu containing one or more selectable options (e.g., user interface objects) for performing one or more actions (e.g., one or more different actions) at the second position, without launching a second application corresponding to a selectable user interface object. In some embodiments, as part of performing an operation, upon determination that one or more settings of the computer system (e.g., user settings) are in a first state, the computer system launches a second application corresponding to a selectable user interface object without displaying a second menu containing one or more selectable options (e.g., user interface objects), and performs one or more operations (e.g., one or more different operations) at a second location. Choosing whether to launch the second application and / or display the second menu when certain conditions are met provides the user with more control over the computer system to change whether one or more actions launch an application and / or display a menu.

[0261] It should be noted that the process details described above with respect to Method 1600 (for example, Figure 16) are also applicable to methods similar to those described herein. For example, Method 1600 optionally includes one or more characteristics of the various methods described herein with reference to Method 1500. For example, Method 1600 can be performed when a computer system is switched from operation in an operating mode in which the computer system operates using the techniques of Method 1500. For brevity, these details will not be repeated below.

[0262] The above is written with reference to specific embodiments for illustrative purposes. However, the above exemplary discussion is not intended to be exhaustive or to limit the invention to the exact forms disclosed. Many modifications and variations are possible in light of the above teachings. Embodiments have been selected and described to best illustrate the principles of the Art and their practical applications. This will enable other persons skilled in the art to best utilize the Art and its various embodiments with various modifications suitable for their intended specific applications.

[0263] While the present disclosure and examples have been fully described with reference to the accompanying drawings, it should be noted that various changes and modifications will be apparent to those skilled in the art. Such changes and modifications should be understood to fall within the scope of the present disclosure and examples as defined by the claims.

[0264] As described above, one aspect of the technology involves collecting and using data available from various sources to improve hand gesture detection. This disclosure considers that in some cases, such collected data may include personal information data that uniquely identifies a particular person, or personal information data that can be used to contact a particular person or locate them. Such personal information data may include demographic data, location-based data, telephone numbers, email addresses, Twitter® IDs, home addresses, data or records relating to a user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), birth dates, or any other identifying or personal information.

[0265] This disclosure acknowledges that the use of such personal data in the technology may be for the benefit of the user. For example, personal data can be used to improve the detection of the user's hand gestures. Thus, by using such personal data, the user can have computed control over the data that can improve the detection of hand gestures. Furthermore, other uses of personal data that benefit the user are also intended by this disclosure. For example, health and fitness data can be used to provide insights into the user's overall wellness or as positive feedback to individuals using the technology to pursue wellness goals.

[0266] This disclosure assumes that entities involved in the collection, analysis, disclosure, transmission, storage, or other use of such personal data will adhere to a robust privacy policy and / or privacy practice. Specifically, such entities should implement and consistently use privacy policies and practices that are generally recognized as meeting or exceeding industry or government requirements for the strict confidentiality of personal data. Such policies should be readily accessible to users and should be updated as data collection and / or use changes. Personal data from users should be collected for the lawful and legitimate use of the entity and should not be shared or sold for any other purpose. Furthermore, such collection / sharing should be carried out only after informing and obtaining the user's consent. In addition, such entities should consider taking all necessary steps to protect and secure access to such personal data and to ensure that others with access to personal data faithfully adhere to those privacy policies and procedures. Furthermore, such entities may undergo third-party evaluations to demonstrate their compliance with widely accepted privacy policies and practices. Furthermore, policies and practices should be adapted to the specific types of personal data collected and / or accessed, and should comply with applicable laws and standards, including jurisdiction-specific considerations. For example, in the United States, the collection or access to certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA), while health data in other countries may be subject to and should be addressed accordingly. Therefore, different privacy practices should be maintained in each country with respect to different types of personal data.

[0267] Notwithstanding the foregoing, the Disclosure also envisions embodiments that allow users to selectively prevent the use of or access to personal data. Specifically, the Disclosure intends that hardware and / or software elements may be provided to prevent or prevent access to such personal data. For example, in the case of user interface management (e.g., including navigation), the Technology may be configured to allow users to choose to “opt in” or “opt out” of participating in the collection of personal data during or at any time thereafter when registering for the Service. In another example, a user may choose not to provide heart rate data and / or other data that may be used to improve hand gesture detection. In yet another example, a user may choose to limit the length of time that heart rate data and / or other data are retained. In addition to providing “opt-in” and “opt-out” options, the Disclosure intends to provide notices regarding access to or use of personal data. For example, a user may be notified when downloading an app that will access their personal data, and then again immediately before the app accesses their personal data.

[0268] Furthermore, the intent of this disclosure is that personal data should be managed and processed in a manner that minimizes the risk of unintentional or unauthorized access or use. Risks can be minimized by limiting data collection and deleting data when it is no longer needed. In addition, and where applicable in certain health-related applications, data anonymization can be used to protect user privacy. De-identification can be facilitated, where appropriate, by removing specific identifiers (e.g., date of birth), controlling the amount or specificity of stored data (e.g., collecting location data at the city level rather than the address level), controlling how data is stored (e.g., aggregating data across all users), and / or by other means.

[0269] Therefore, while this disclosure broadly covers the use of personal data to implement one or more different disclosed embodiments, it is conceivable that these different embodiments can also be implemented without requiring access to such personal data. That is, the different embodiments of the Technology are not rendered inoperable by the absence of all or part of such personal data. For example, hand gestures can be detected based on non-personal data such as content requested by a device associated with the user, or a minimum amount of personal information, other non-personal information available to data detection services, or publicly available information.

Claims

1. It is a method, In a computer system that communicates with display generation components, To display a user interface via the aforementioned display generation component, the user interface includes a selectable user interface object and a cursor displayed at a first position on the user interface. While the selectable user interface object and the cursor are displayed at the first position on the user interface, a request to move the cursor from the first position to the second position on the user interface is detected. In response to detecting the request to move the cursor from the first position to the second position, Displaying the cursor at the second position, Displaying an animation that provides a visual indication for a duration of time during which the cursor needs to be positioned at the second location in order to perform the first action, in accordance with the determination that the second location corresponds to the location of the selectable user interface object, wherein the visual indication is updated over a period of time. The first action is performed in accordance with the determination that the second position corresponds to the position of the selectable user interface object and that the cursor has been displayed at the second position for a longer period than the first threshold period, and the first action is performed In accordance with the determination that the user-configurable settings of the computer system are in a first state, the selectable user interface object is activated. A method for displaying a menu via a display generation component without activating the selectable user interface object, in accordance with a determination that the user-configurable setting of the computer system is in a second state different from the first state, wherein the menu includes a first selectable option for performing a selection operation, and the selection of the first selectable option causes the computer system to perform the selection operation in the second position.

2. In response to detecting the request to move the cursor from the first position to the second position, The method according to claim 1, further comprising canceling the first operation upon determining that the second position does not correspond to the position of the selectable user interface object.

3. In response to detecting the request to move the cursor from the first position to the second position, The method according to claim 1, further comprising discontinuing the execution of the first operation in accordance with the determination that the cursor has not been displayed at the second position for a period longer than the second threshold period.

4. The method according to claim 1, wherein the menu includes a second selectable option for performing an action corresponding to an action performed in response to an input detected at the second position, and the selection of the second selectable option causes the computer system to perform the action corresponding to the action performed in response to the input detected at the second position.

5. The method according to claim 1, wherein the menu includes a second selectable option for performing a scrolling operation, and the selection of the second selectable option by a first user input causes the computer system to scroll through a plurality of selectable user interface objects, including the selectable user interface object, without accepting any further user input other than the first user input.

6. The method according to claim 1, wherein the menu includes a second selectable option for displaying one or more additional options, and the selection of the second selectable option causes the computer system to display the one or more additional options that were not displayed before the selection of the second selectable option was detected.

7. The computer system communicates with one or more input devices, The menu includes a second selectable option for performing an action corresponding to an action performed in response to the detection of input via one or more input devices, The method according to claim 1, wherein the selection of the second selectable option causes the computer system to perform the action corresponding to the action performed in response to the detection of the input via the one or more input devices.

8. The menu includes a second selectable option and a third selectable option, and the method is While the menu is displayed, a request to move the cursor from the second position to the third position on the user interface is detected, In response to detecting the request to move the cursor from the second position to the third position on the user interface, The third operation corresponding to the second selectable option is performed in accordance with the determination that the third position corresponds to the position of the second selectable option and the cursor is displayed at the third position for a longer period than the third threshold period. The method according to claim 1, further comprising: performing a fourth operation different from the third operation in accordance with the determination that the third position corresponds to the position of the third selectable option and the cursor has been displayed at the third position for longer than the third threshold period.

9. The method according to claim 1, wherein the selection of the first selectable option causes the computer system to display a second user interface for an application corresponding to the selectable user interface object.

10. The method according to claim 1, wherein the menu includes a second selectable option, and the selection of the second selectable option causes the computer system to transition from a first operating mode to a second operating mode.

11. After displaying the menu containing the first selectable options, a request is detected to display a third user interface different from the user interface, In response to detecting the request to display the third user interface, the third user interface is displayed, wherein the third user interface does not include the menu but includes a second selectable user interface object. Displaying the cursor at a third position on the third user interface, While the second selectable user interface object is displayed and the cursor is displayed at the third position on the third user interface, a request is detected to move the cursor from the third position on the third user interface to a fourth position on the third user interface. In response to detecting a request to move the cursor from the third position on the third user interface to the fourth position on the third user interface, Displaying the cursor at the fourth position on the third user interface, The method according to claim 1, further comprising: redisplaying the menu including the first selectable option via the display generation component, in accordance with the determination that the fourth position corresponds to the position of the second selectable user interface object, the cursor has been displayed at the fourth position for longer than a third threshold period, and the user-configurable setting of the computer system is in a second state different from the first state.

12. The method according to claim 1, wherein the request to move the cursor from the first position to the second position is detected when the computer system is determined to be tilted in a particular direction.

13. The method according to claim 12, wherein the cursor is moved in a direction corresponding to the specific direction.

14. Displaying a third user interface before displaying the user interface which includes the selectable user interface object and the cursor which is displayed at the first position on the user interface, While the third user interface is displayed, a request to enter the first operating mode is detected, In response to the detection of the request to enter the first operating mode, Transitioning the computer system from the second operating mode to the first operating mode, The method according to claim 1, further comprising displaying the cursor.

15. The method according to claim 14, wherein detecting the request to enter the first operating mode includes detecting that the computer system has been shaken.

16. The computer system is in the first operating mode when it is detected that the computer system has been shaken, The method according to claim 14, further comprising: detecting that the computer system has been shaken, and transitioning the computer system from the first operating mode to a third operating mode.

17. The method according to claim 16, wherein transitioning the computer system from the first operating mode to the third operating mode includes stopping the display of the cursor.

18. The computer system is in the third operating mode and, while the cursor is displayed, detects a request to move the cursor from the third position to the fourth position. In response to detecting the request to move the cursor from the third position to the fourth position, Display the cursor at the fourth position, The method according to claim 16, further comprising: determining that the fourth position corresponds to the position of the selectable user interface object, and that the cursor has been displayed at the fourth position for longer than a second threshold period, and ceasing to perform the first operation.

19. A computer program that causes a computer to perform the method described in any one of claims 1 to 18.

20. A computer system, A memory for storing the computer program described in claim 19, A computer system comprising one or more processors capable of executing the computer program stored in the memory, wherein the computer system is configured to communicate with a display generation component.

21. A computer system configured to communicate with a display generation component, the computer system having means for performing the method described in any one of claims 1 to 18.

Citation Information

Patent Citations

  • Photographing device

    JP2015158953A