Techniques for selecting text

By displaying the focus indicator on the touch-sensitive display device and detecting touch gestures, the problem of cumbersome and time-consuming selection of text in the prior art is solved, and faster and more efficient text selection is achieved, reducing user burden and device energy consumption.

CN120491881APending Publication Date: 2025-08-15APPLE INC
View PDF 20 Cites 0 Cited by

Patent Information

Application Number
CN202510561440.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2020-02-10
Filing Date
2020-06-01
Publication Date
2025-08-15

AI Technical Summary

Technical Problem

The prior art methods for selecting text are often cumbersome and time-consuming, resulting in a waste of user time and device energy, especially in battery-driven devices.

Method used

By displaying focus indicators on a touch-sensitive display device and detecting and moving touch gestures, using spatial relationships and lift-off operations, a method of quickly selecting text is achieved.

Benefits of technology

Reduces user cognitive burden, improves the efficiency of selecting text, saves device power, and extends battery life.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120491881A_ABST
    Figure CN120491881A_ABST
Patent Text Reader

Abstract

The disclosure relates to techniques for selecting text. An exemplary method includes displaying a focus indicator at a first location; when the focus indicator is displayed, detecting a gesture corresponding to the focus indicator at a first touch position; when the gesture is detected, detecting movement of the gesture to a second touch position; in response to detecting the movement of the gesture to the second touch position: moving the focus indicator to a second indicator position in accordance with a determination that the second touch position is in a first direction; moving the focus indicator to a third position in accordance with a determination that the second touch position is in the second direction; detecting a lift-off of the gesture when the focus indicator is at a fourth position; and in response to detecting the lift-off, the focus indicator remains displayed at the fourth position.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Division Statement

[0002] The present disclosure is a divisional application of the Chinese invention patent application with an application date of June 1, 2020, an invention name of “Technology for Selecting Text” and an application number of 202080039998.X.

[0003] CROSS-REFERENCE TO RELATED APPLICATIONS

[0004] This application claims priority to U.S. Provisional Patent Application No. 62 / 856,021, filed on June 1, 2019, entitled “TECHNIQUES FOR SELECTING ENTROL,” and U.S. Patent Application No. 16 / 786,718, filed on February 10, 2020, entitled “TECHNIQUES FOR SELECTING ENTROL,” the entire contents of each of which are hereby incorporated by reference herein in their entirety for all purposes. Technical Field

[0005] The present disclosure relates generally to computer user interfaces and, more particularly, to techniques for selecting text. Background Art

[0006] Electronic devices, including portable electronic devices, provide a variety of functions, including, for example, text manipulation. In order to manipulate text, a user must be able to select text. Summary of the Invention

[0007] However, some techniques for selecting text using electronic devices are often cumbersome and inefficient. For example, some existing techniques use complex and time-consuming user interfaces. These techniques can require more time than necessary, resulting in wasted user time and device energy. This latter consideration is particularly important in battery-powered devices.

[0008] Thus, the present technology provides electronic devices with faster, more efficient methods and interfaces for selecting text. Such methods and interfaces optionally supplement or replace other methods for selecting text. Such methods and interfaces reduce the cognitive burden on users and produce more efficient human-computer interfaces. For battery-powered computing devices, such methods and interfaces conserve power and increase the time between battery charges.

[0009] Example methods are disclosed herein. One example method includes, at an electronic device having a touch-sensitive display device: displaying, via the touch-sensitive display device, a focus indicator at a first indicator location on the touch-sensitive display device; while the focus indicator is displayed at the first indicator location, detecting a touch gesture corresponding to the focus indicator at a first touch location; while continuing to detect the touch gesture on the touch-sensitive display device, detecting movement of the touch gesture to a second touch location different from the first touch location; in response to detecting the movement of the touch gesture to the second touch location: moving the focus indicator to a second indicator location having a first spatial relationship with the second touch location based on a determination that the second touch location is in a first direction relative to the first touch location; moving the focus indicator to a third indicator location having a second spatial relationship with the second touch location based on a determination that the second touch location is in a second direction relative to the first touch location, the second spatial relationship being different from the first spatial relationship; detecting a lift-off of the touch gesture when the focus indicator is at a fourth indicator location; and in response to detecting the lift-off, maintaining display of the focus indicator at the fourth indicator location.

[0010] Example non-transitory computer-readable storage media are described herein. An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a touch-sensitive display device, the one or more programs including instructions for performing the following operations: displaying a focus indicator at a first indicator position on the touch-sensitive display device via the touch-sensitive display device; detecting a touch gesture corresponding to the focus indicator at a first touch position while the focus indicator is displayed at the first indicator position; detecting movement of the touch gesture to a second touch position different from the first touch position while continuing to detect the touch gesture on the touch-sensitive display device; in response to detecting the movement of the touch gesture to the second touch position: moving the focus indicator to a second indicator position having a first spatial relationship with the second touch position based on determining that the second touch position is in a first direction relative to the first touch position; moving the focus indicator to a third indicator position having a second spatial relationship with the second touch position based on determining that the second touch position is in a second direction relative to the first touch position, the second spatial relationship being different from the first spatial relationship; detecting a lift-off of the touch gesture when the focus indicator is at a fourth indicator position; and in response to detecting the lift-off, maintaining display of the focus indicator at the fourth indicator position.

[0011] Example transitory computer-readable storage media are described herein. An exemplary transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a touch-sensitive display device, the one or more programs including instructions for performing the following operations: displaying a focus indicator at a first indicator position on the touch-sensitive display device via the touch-sensitive display device; detecting a touch gesture corresponding to the focus indicator at a first touch position while the focus indicator is displayed at the first indicator position; detecting movement of the touch gesture to a second touch position different from the first touch position while continuing to detect the touch gesture on the touch-sensitive display device; in response to detecting the movement of the touch gesture to the second touch position: moving the focus indicator to a second indicator position having a first spatial relationship with the second touch position based on determining that the second touch position is in a first direction relative to the first touch position; moving the focus indicator to a third indicator position having a second spatial relationship with the second touch position based on determining that the second touch position is in a second direction relative to the first touch position, the second spatial relationship being different from the first spatial relationship; detecting a lift-off of the touch gesture when the focus indicator is at a fourth indicator position; and in response to detecting the lift-off, maintaining display of the focus indicator at the fourth indicator position.

[0012] Example electronic devices are described herein. An exemplary electronic device includes: a touch-sensitive display device; one or more processors; and a memory, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying a focus indicator at a first indicator position on the touch-sensitive display device via the touch-sensitive display device; detecting a touch gesture corresponding to the focus indicator at a first touch position while the focus indicator is displayed at the first indicator position; while continuing to detect the touch gesture on the touch-sensitive display device, detecting movement of the touch gesture to a second touch position different from the first touch position; in response to detecting the movement of the touch gesture to the second touch position: moving the focus indicator to a second indicator position having a first spatial relationship with the second touch position based on determining that the second touch position is in a first direction relative to the first touch position; moving the focus indicator to a third indicator position having a second spatial relationship with the second touch position based on determining that the second touch position is in a second direction relative to the first touch position, the second spatial relationship being different from the first spatial relationship; detecting a lift-off of the touch gesture when the focus indicator is at a fourth indicator position; and in response to detecting the lift-off, keeping the focus indicator displayed at the fourth indicator position.

[0013] An exemplary electronic device includes: a touch-sensitive display device; a device for displaying a focus indicator at a first indicator position on the touch-sensitive display device via the touch-sensitive display device; a device for detecting a touch gesture corresponding to the focus indicator at a first touch position when the focus indicator is displayed at the first indicator position; a device for detecting movement of the touch gesture to a second touch position different from the first touch position while continuing to detect the touch gesture on the touch-sensitive display device; a device for performing the following operations in response to detecting the movement of the touch gesture to the second touch position: moving the focus indicator to a second indicator position having a first spatial relationship with the second touch position based on determining that the second touch position is in a first direction relative to the first touch position; moving the focus indicator to a third indicator position having a second spatial relationship with the second touch position based on determining that the second touch position is in a second direction relative to the first touch position, the second spatial relationship being different from the first spatial relationship; a device for detecting a lift-off of the touch gesture when the focus indicator is at a fourth indicator position; and a device for maintaining the focus indicator displayed at the fourth indicator position in response to detecting the lift-off.

[0014] An exemplary method includes, at an electronic device having a touch-sensitive display device: displaying content including multiple groups of characters via the touch-sensitive display device; while displaying the multiple groups of characters, detecting a touch gesture corresponding to a group of characters in the multiple groups of characters at a first position; in response to detecting the touch gesture: visually distinguishing the group of characters; and displaying a first indicator at a first end of the group of characters and a second indicator at a second end of the group of characters; while continuing to detect the touch gesture on the display device, detecting movement of the touch gesture; and in response to detecting the movement: visually distinguishing one or more additional characters in the multiple groups of characters; and moving the second indicator to one end of the one or more additional characters based on one or more characteristics of the movement.

[0015] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a touch-sensitive display device, the one or more programs including instructions for performing the following operations: displaying content including multiple groups of characters via the touch-sensitive display device; detecting a touch gesture corresponding to a group of characters in the multiple groups of characters at a first position while displaying the multiple groups of characters; in response to detecting the touch gesture: visually distinguishing the group of characters; and displaying a first indicator at a first end of the group of characters and a second indicator at a second end of the group of characters; while continuing to detect the touch gesture on the display device, detecting movement of the touch gesture; and in response to detecting the movement: visually distinguishing one or more additional characters in the multiple groups of characters; and moving the second indicator to one end of the one or more additional characters based on one or more characteristics of the movement.

[0016] An exemplary transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a touch-sensitive display device, the one or more programs including instructions for performing the following operations: displaying content including multiple groups of characters via the touch-sensitive display device; when displaying the multiple groups of characters, detecting a touch gesture corresponding to a group of characters in the multiple groups of characters at a first position; in response to detecting the touch gesture: visually distinguishing the group of characters; and displaying a first indicator at a first end of the group of characters and a second indicator at a second end of the group of characters; while continuing to detect the touch gesture on the display device, detecting movement of the touch gesture; and in response to detecting the movement: visually distinguishing one or more additional characters in the multiple groups of characters; and moving the second indicator to one end of the one or more additional characters based on one or more characteristics of the movement.

[0017] An exemplary electronic device includes: a touch-sensitive display device; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying content including multiple groups of characters via the touch-sensitive display device display; detecting a touch gesture corresponding to a group of characters in the multiple groups of characters at a first position when the multiple groups of characters are displayed; in response to detecting the touch gesture: visually distinguishing the group of characters; and displaying a first indicator at a first end of the group of characters and a second indicator at a second end of the group of characters; while continuing to detect the touch gesture on the display device, detecting movement of the touch gesture; and in response to detecting the movement: visually distinguishing one or more additional characters in the multiple groups of characters; and moving the second indicator to one end of the one or more additional characters based on one or more characteristics of the movement.

[0018] An exemplary electronic device includes: a touch-sensitive display device; a device for displaying content including multiple groups of characters via the touch-sensitive display device; a device for detecting a touch gesture corresponding to a group of characters in the multiple groups of characters at a first position when displaying the multiple groups of characters; a device for performing the following operations in response to detecting the touch gesture: visually distinguishing the group of characters; and displaying a first indicator at a first end of the group of characters and a second indicator at a second end of the group of characters; a device for detecting movement of the touch gesture while continuing to detect the touch gesture on the display device; and a device for performing the following operations in response to detecting the movement: visually distinguishing one or more additional characters in the multiple groups of characters; and moving the second indicator to one end of the one or more additional characters based on one or more characteristics of the movement.

[0019] An exemplary method includes, at an electronic device having a display device: displaying, via the display device, a first group of characters, a second group of characters, and special characters between the first group of characters and the second group of characters; receiving user input corresponding to a selection of the first group of characters; and in response to receiving the user input: visually distinguishing the first group of characters from the second group of characters based on a determination that a set of grouping criteria is met; and based on a determination that the set of grouping criteria is not met: visually distinguishing the first group of characters; and abandoning visually distinguishing the second group of characters.

[0020] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display device, the one or more programs including instructions for performing the following operations: displaying a first group of characters, a second group of characters, and special characters between the first group of characters and the second group of characters via the display device; receiving user input corresponding to selecting the first group of characters; and in response to receiving the user input: visually distinguishing the first group of characters from the second group of characters based on determining that a set of grouping criteria are met; and visually distinguishing the first group of characters based on determining that the set of grouping criteria are not met; and abandoning visually distinguishing the second group of characters.

[0021] An exemplary transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display device, the one or more programs including instructions for performing the following operations: displaying a first group of characters, a second group of characters, and special characters between the first group of characters and the second group of characters via the display device; receiving user input corresponding to selecting the first group of characters; and in response to receiving the user input: visually distinguishing the first group of characters from the second group of characters based on determining that a set of grouping criteria are met; and visually distinguishing the first group of characters based on determining that the set of grouping criteria are not met; and abandoning visually distinguishing the second group of characters.

[0022] An example electronic device includes a display device; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying a first group of characters, a second group of characters, and special characters between the first group of characters and the second group of characters via the display device; receiving user input corresponding to selecting the first group of characters; and in response to receiving the user input: visually distinguishing the first group of characters from the second group of characters based on determining that a set of grouping criteria are met; and visually distinguishing the first group of characters based on determining that the set of grouping criteria are not met; and abandoning visually distinguishing the second group of characters.

[0023] An example electronic device includes a display device; a device for displaying a first group of characters, a second group of characters, and special characters between the first group of characters and the second group of characters via the display device; a device for receiving user input corresponding to selecting the first group of characters; and a device for performing the following operations in response to receiving the user input: visually distinguishing the first group of characters from the second group of characters based on determining that a set of grouping criteria are met; and visually distinguishing the first group of characters based on determining that the set of grouping criteria are not met; and abandoning visually distinguishing the second group of characters.

[0024] An exemplary method includes, at an electronic device having a display device: displaying a document via the display device, the document including: a first paragraph of selectable text, a second paragraph of selectable text, a third paragraph of selectable text, a first new line character between the first paragraph and the second paragraph, and a second new line character between the second paragraph and the third paragraph; receiving a first user input corresponding to selecting the second paragraph; in response to receiving the first user input: selecting the second paragraph; abandoning selection of the first new line character; and abandoning selection of the second new line character; when the second paragraph is selected and when the first new line character and the second new line character are not selected, receiving a second user input corresponding to a request to delete the second paragraph; and in response to receiving the second user input: deleting the second paragraph; and deleting a new line character selected from the group consisting of the first new line character and the second new line character.

[0025] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display device, the one or more programs including instructions for performing the following operations: displaying a document via the display device, the document including: a first paragraph of selectable text, a second paragraph of selectable text, a third paragraph of selectable text, a first new line character between the first paragraph and the second paragraph, and a second new line character between the second paragraph and the third paragraph; receiving first user input corresponding to selecting the second paragraph; in response to receiving the first user input: selecting the second paragraph; abandoning selection of the first new line character; and abandoning selection of the second new line character; when the second paragraph is selected and when the first new line character and the second new line character are not selected, receiving second user input corresponding to a request to delete the second paragraph; and in response to receiving the second user input: deleting the second paragraph; and deleting a new line character selected from the group consisting of the first new line character and the second new line character.

[0026] An exemplary transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display device, the one or more programs including instructions for performing the following operations: displaying a document via the display device, the document including: a first paragraph of selectable text, a second paragraph of selectable text, a third paragraph of selectable text, a first new line character between the first paragraph and the second paragraph, and a second new line character between the second paragraph and the third paragraph; receiving first user input corresponding to selecting the second paragraph; in response to receiving the first user input: selecting the second paragraph; abandoning selection of the first new line character; and abandoning selection of the second new line character; when the second paragraph is selected and when the first new line character and the second new line character are not selected, receiving second user input corresponding to a request to delete the second paragraph; and in response to receiving the second user input: deleting the second paragraph; and deleting a new line character selected from the group consisting of the first new line character and the second new line character.

[0027] An example electronic device includes a display device; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying a document via the display device, the document including: a first paragraph of selectable text, a second paragraph of selectable text, a third paragraph of selectable text, a first new line character between the first paragraph and the second paragraph, and a second new line character between the second paragraph and the third paragraph; receiving first user input corresponding to selecting the second paragraph; in response to receiving the first user input: selecting the second paragraph; abandoning selection of the first new line character; and abandoning selection of the second new line character; when the second paragraph is selected and when the first new line character and the second new line character are not selected, receiving second user input corresponding to a request to delete the second paragraph; and in response to receiving the second user input: deleting the second paragraph; and deleting a new line character selected from the group consisting of the first new line character and the second new line character.

[0028] An example electronic device includes a display device; a device for displaying a document via the display device, the document including: a first paragraph of optional text, a second paragraph of optional text, a third paragraph of optional text, a first new line character between the first paragraph and the second paragraph, and a second new line character between the second paragraph and the third paragraph; a device for receiving a first user input corresponding to selecting the second paragraph; a device for performing the following operations in response to receiving the first user input: selecting the second paragraph; abandoning selection of the first new line character; and abandoning selection of the second new line character; a device for receiving a second user input corresponding to a request to delete the second paragraph when the second paragraph is selected and when the first new line character and the second new line character are not selected; and a device for performing the following operations in response to receiving the second user input: deleting the second paragraph; and deleting a new line character selected from the group consisting of the first new line character and the second new line character.

[0029] Executable instructions for performing these functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Executable instructions for performing these functions are optionally included in a transient computer-readable storage medium or other computer program product configured for execution by one or more processors.

[0030] Thus, a faster, more efficient method and interface is provided for devices for selecting text, thereby increasing the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces can supplement or replace other methods for selecting text. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, wherein like reference numerals designate corresponding parts throughout the several views.

[0032] Figure 1A is a block diagram illustrating a portable multifunction device with a touch-sensitive display according to some embodiments.

[0033] Figure 1B is a block diagram illustrating example components for event processing according to some embodiments.

[0034] Figure 2 A portable multifunction device with a touch screen according to some embodiments is shown.

[0035] Figure 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments.

[0036] Figure 4A An exemplary user interface for a menu of applications on a portable multifunction device is shown according to some embodiments.

[0037] Figure 4B An exemplary user interface is shown for a multifunction device having a touch-sensitive surface that is separate from the display according to some embodiments.

[0038] Figure 5A A personal electronic device according to some embodiments is shown.

[0039] Figure 5B is a block diagram illustrating a personal electronic device according to some embodiments.

[0040] Figure 5C-5D Example components of a personal electronic device with a touch-sensitive display and an intensity sensor are shown according to some embodiments.

[0041] Figure 5E-5H Exemplary components and user interfaces of a personal electronic device according to some embodiments are shown.

[0042] 6A to 6O Techniques for moving an insertion marker are shown according to some embodiments.

[0043] 7A to 7B A flowchart of a method of moving an insertion marker using an electronic device according to some embodiments is shown.

[0044] Figures 8A to 8K An exemplary user interface illustrating techniques for selecting content is shown according to some embodiments.

[0045] Figures 9A to 9B A flowchart of a method for selecting content using an electronic device according to some embodiments is shown.

[0046] Figure 10A to Figure 10V An exemplary user interface illustrating techniques for selecting content is shown according to some embodiments.

[0047] Figure 11 A flowchart of a method for selecting content using an electronic device according to some embodiments is shown.

[0048] 12A to 12H An exemplary user interface illustrating techniques for modifying content is shown, according to some embodiments.

[0049] 13A to 13B A flowchart of a method of modifying content using an electronic device according to some embodiments is shown. DETAILED DESCRIPTION

[0050] The following description sets forth exemplary methods, parameters, etc. However, it should be recognized that such description is not intended to limit the scope of the present disclosure, but is provided as a description of exemplary embodiments.

[0051] Electronic devices need to provide more efficient methods and interfaces for selecting text. For example, techniques for moving the text cursor can be provided. Such techniques can reduce the cognitive burden on users when manipulating text, thereby improving productivity. Furthermore, such techniques can reduce processor and battery power that would otherwise be wasted on redundant user input.

[0052] under, Figure 1A to Figure 1B 、 Figure 2 、 Figure 3 、 Figures 4A to 4B as well as Figures 5A to 5H A description of an example device for performing techniques for selecting text is provided.

[0053] 6A to 6O An exemplary user interface for moving an insertion marker is shown. 7A to 7B A flowchart of a method of moving an insertion marker using an electronic device according to some embodiments is shown. 6A to 6O The user interface in the diagram is used to illustrate the process described below, including 7A to 7B in the process.

[0054] Figures 8A to 8K An exemplary user interface for selecting content is shown. Figures 9A to 9B A flowchart of a method for selecting content using an electronic device according to some embodiments is shown.

[0055] Figures 8A to 8K The user interface in the diagram is used to illustrate the process described below, including Figures 9A to 9B in the process.

[0056] Figure 10A to Figure 10V An exemplary user interface for selecting content is shown. Figure 11 A flowchart of a method for selecting content using an electronic device according to some embodiments is shown. Figure 10A to Figure 10V The user interface in the diagram is used to illustrate the process described below, including Figure 11 in the process.

[0057] 12A to 12H An exemplary user interface for modifying content is shown. 13A to 13B A flowchart of a method of modifying content using an electronic device according to some embodiments is shown. 12A to 12H The user interface in the diagram is used to illustrate the process described below, including 13A to 13B in the process.

[0058] Although the following description uses the terms "first," "second," and the like to describe various elements, these elements should not be limited by these terms. These terms are merely used to distinguish one element from another. For example, a first touch may be named a second touch, and similarly, a second touch may be named a first touch, without departing from the scope of the various embodiments described. Both the first touch and the second touch are touches, but they are not the same touch.

[0059] The terms used in the description of the various embodiments described herein are only for the purpose of describing specific embodiments and are not intended to be limiting. As used in the description of the various embodiments described and in the appended claims, the singular forms "a" and "the" are intended to also include plural forms unless the context clearly indicates otherwise. It will also be understood that the terms "and / or" used herein refer to and encompass any and all possible combinations of one or more items in the associated listed items. It will also be understood that the terms "includes," "including," "comprises," and / or "comprising" when used in this specification specify the presence of stated features, integers, steps, operations, elements, and / or parts, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, parts, and / or their groupings.

[0060] The term "if" is optionally interpreted to mean "when," "upon," or "in response to determining," or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined that," or "if [stated condition or event] is detected" are optionally interpreted to mean "upon determining," or "in response to determining," or "upon detecting [stated condition or event]," or "in response to detecting [stated condition or event]," depending on the context.

[0061] Embodiments of electronic devices, user interfaces for such devices, and processes associated with using such devices are described herein. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions, such as a PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, but are not limited to, the Apple Watch from Apple Inc. (Cupertino, California). Devices, iPod equipment, and Device. Optionally, other portable electronic devices are used, such as laptops or tablet computers with touch-sensitive surfaces (e.g., touch screen displays and / or trackpads). It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer with a touch-sensitive surface (e.g., touch screen displays and / or trackpads). In some embodiments, the electronic device is a computer system that communicates with the display generation component (e.g., via wireless communication, via wired communication). The display generation component is configured to provide visual output, such as display via a CRT display, display via an LED display, or display via image projection. In some embodiments, the display generation component is integrated with the computer system. In some embodiments, the display generation component is separated from the computer system. As used herein, "display" content includes transmitting data (e.g., image data or video data) to an integrated or external display generation component via a wired or wireless connection to visually generate content to display content (e.g., video data rendered or decoded by display controller 156).

[0062] In the following discussion, an electronic device including a display and a touch-sensitive surface is described. However, it should be understood that the electronic device optionally includes one or more other physical user interface devices, such as a physical keyboard, mouse, and / or joystick.

[0063] The device typically supports a variety of applications, such as one or more of the following: a drawing application, a rendering application, a word processing application, a website creation application, a disk editing application, a spreadsheet application, a gaming application, a telephony application, a video conferencing application, an email application, an instant messaging application, a fitness support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application.

[0064] Various applications executed on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and / or varied for different applications and / or adjusted and / or varied within the respective applications. In this way, the common physical architecture of the device (such as the touch-sensitive surface) optionally supports the various applications with a user interface that is intuitive and clear to the user.

[0065] Attention is now turned to embodiments of portable devices having touch-sensitive displays. Figure 1A1 is a block diagram illustrating a portable multifunction device 100 with a touch-sensitive display system 112 according to some embodiments. Touch-sensitive display 112 is sometimes referred to as a "touch screen" for convenience, and is sometimes referred to as or referred to as a "touch-sensitive display system." Device 100 includes memory 102 (which optionally includes one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral device interface 118, RF circuitry 108, audio circuitry 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input control devices 116, and external ports 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact force sensors 165 for detecting the intensity of contacts on device 100 (e.g., a touch-sensitive surface, such as touch-sensitive display system 112 of device 100). Device 100 optionally includes one or more tactile output generators 167 for generating tactile output on device 100 (e.g., generating tactile output on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touch pad 355 of device 300). These components optionally communicate via one or more communication buses or signal lines 103.

[0066] As used in this specification and claims, the term "intensity" of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or to a surrogate (surrogate) for the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values that includes at least four different values and more typically includes hundreds of different values (e.g., at least 256). The intensity of a contact is optionally determined (or measured) using various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the touch-sensitive surface are optionally used to measure the force at different points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., weighted averaged) to determine an estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and / or its change, the capacitance of the touch-sensitive surface near the contact and / or its change, and / or the resistance of the touch-sensitive surface near the contact and / or its change are optionally used as a surrogate for the force or pressure of the contact on the touch-sensitive surface. In some embodiments, the surrogate measurement of the contact force or pressure is used directly to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the surrogate measurement). In some embodiments, the surrogate measurement of the contact force or pressure is converted into an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of the contact as an attribute of the user input allows the user to access additional device functionality that would otherwise be inaccessible to the user on a smaller device with limited real estate, which is used to display an indication (e.g., on a touch-sensitive display) and / or receive user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls, such as knobs or buttons).

[0067] As used in this specification and claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of a device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device that will be detected by a user using the user's sense of touch. For example, when a device or a component of the device is in contact with a surface that is touch-sensitive to a user (e.g., a finger, palm, or other part of the user's hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation that corresponds to a perceived change in a physical characteristic of the device or component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is optionally interpreted by the user as a "press click" or "release click" on a physical actuation button. In some cases, the user will feel a tactile sensation, such as a "press click" or "release click," even when the physical actuation button associated with the touch-sensitive surface that was physically pressed (e.g., displaced) by the user's movement does not move. As another example, even when the smoothness of the touch-sensitive surface does not change, movement of the touch-sensitive surface may optionally be interpreted or sensed by the user as "roughness" of the touch-sensitive surface. While such a user's interpretation of touch will be limited by the user's individualized sensory perceptions, many sensory perceptions of touch are common to most users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., "press click," "release click," "roughness"), unless otherwise stated, the generated tactile output corresponds to a physical displacement of the device or a component thereof that would generate that sensory perception for a typical (or average) user.

[0068] It should be understood that device 100 is merely one example of a portable multifunction device and that device 100 optionally has more or fewer components than shown, optionally combines two or more components, or optionally has a different configuration or arrangement of the components. Figure 1A The various components shown in the EMBODIMENTS 100 are implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application specific integrated circuits.

[0069] Memory 102 optionally includes high-speed random access memory and optionally includes non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Memory controller 122 optionally controls access to memory 102 by other components of device 100.

[0070] Peripherals interface 118 may be used to couple the device's input and output peripherals to CPU 120 and memory 102. One or more processors 120 run or execute various software programs and / or instruction sets stored in memory 102 to perform various functions of device 100 and process data. In some embodiments, peripherals 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.

[0071] RF (radio frequency) circuitry 108 receives and transmits RF signals, also known as electromagnetic signals. RF circuitry 108 converts electrical signals into / from electromagnetic signals and communicates with communication networks and other communication devices via the electromagnetic signals. RF circuitry 108 optionally includes well-known circuitry for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a codec chipset, a subscriber identity module (SIM) card, memory, and the like. RF circuitry 108 optionally communicates with networks and other devices via wireless communications, such as the Internet (also known as the World Wide Web (WWW)), intranets, and / or wireless networks (such as cellular telephone networks, wireless local area networks (LANs), and / or metropolitan area networks (MANs)). RF circuitry 108 optionally includes well-known circuitry for detecting near-field communication (NFC) fields, such as via a short-range communication radio. The wireless communication optionally uses any of a variety of communication standards, protocols and technologies, including, but not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Evolution, Data Only (EV-DO), HSPA, HSPA+, Dual Cell HSPA (DC-HSPDA), Long Term Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11d), IEEE 802.11e, IEEE 802.11f, IEEE 802.11g, IEEE 802.11g), IEEE 802.11f, IEEE 802.11g ... 11n and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, email protocols (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communication protocol, including communication protocols not yet developed as of the filing date of this document.

[0072] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts the audio data into electrical signals, and transmits the electrical signals to the speaker 111. The speaker 111 converts the electrical signals into sound waves audible to humans. The audio circuit 110 also receives electrical signals converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signals into audio data and transmits the audio data to the peripheral device interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripheral device interface 118. In some embodiments, the audio circuit 110 also includes a headset jack (e.g., Figure 2 The headset jack provides an interface between the audio circuit 110 and a removable audio input / output peripheral device, such as an output-only headset or a headset with both output (e.g., a single or dual-ear headset) and input (e.g., a microphone).

[0073] The I / O subsystem 106 couples input / output peripherals on the device 100, such as the touch screen 112 and other input control devices 116, to a peripherals interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, a depth camera controller 169, an intensity sensor controller 159, a tactile feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive / send electrical signals from / to other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, etc. In some alternative embodiments, the input controllers 160 are optionally coupled to any (or none) of the following: a keyboard, an infrared port, a USB port, and a pointing device (sometimes referred to as a pointer device) such as a mouse. One or more buttons (e.g., Figure 2 208) optionally includes an up / down button for volume control of the speaker 111 and / or microphone 113. The one or more buttons optionally include a push button (e.g., Figure 2206 in). In some embodiments, the electronic device is a computer system that communicates (e.g., via wireless communication, via wired communication) with one or more input devices. In some embodiments, the one or more input devices include a touch-sensitive surface (e.g., a touchpad as part of a touch-sensitive display). In some embodiments, the one or more input devices include one or more camera sensors (e.g., one or more optical sensors 164 and / or one or more depth camera sensors 175), such as for tracking a user's gestures (e.g., hand gestures) as input. In some embodiments, the one or more input devices are integrated with the computer system. In some embodiments, the one or more input devices are separate from the computer system.

[0074] A quick press of the push button optionally releases the lock on the touch screen 112 or optionally initiates the process of unlocking the device using gestures on the touch screen, as described in U.S. patent application Ser. No. 11 / 322,549, filed Dec. 23, 2005, entitled "Unlocking a Device by Performing Gestures on an Unlock Image," (i.e., U.S. Patent No. 7,657,849), which is hereby incorporated by reference in its entirety. A long press of the push button (e.g., 206) optionally turns the device 100 on or off. The functions of one or more buttons are optionally user-customizable. The touch screen 112 is used to implement virtual or soft buttons and one or more soft keyboards.

[0075] The touch-sensitive display 112 provides an input interface and an output interface between the device and the user. The display controller 156 receives electrical signals from the touch screen 112 and / or sends electrical signals to the touch screen 112. The touch screen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, videos, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.

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

[0077] The touch screen 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although other display technologies are used in other embodiments. The touch screen 112 and display controller 156 optionally use any of a variety of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch screen 112 to detect contact and any movement or interruption thereof. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as in the Apple ® from Apple Inc. (Cupertino, California). and iPod The technology used in

[0078] The touch-sensitive display in some embodiments of the touch screen 112 is optionally similar to the multi-touch-sensitive trackpad described in the following U.S. Patents: 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman et al.), and / or U.S. Patent Publication 2002 / 0015024A1, each of which is hereby incorporated by reference in its entirety. However, the touch screen 112 displays visual output from the device 100, whereas a touch-sensitive trackpad does not provide visual output.

[0079] In some embodiments, the touch-sensitive display of the touch screen 112 is as described in the following patent applications: (1) U.S. patent application No. 11 / 381,313, filed on May 2, 2006, entitled “Multipoint Touch Surface Controller”; (2) U.S. patent application No. 10 / 840,862, filed on May 6, 2004, entitled “Multipoint Touchscreen”; (3) U.S. patent application No. 10 / 903,964, filed on July 30, 2004, entitled “Gestures For Touch Sensitive Input Devices”; (4) U.S. patent application No. 11 / 048,264, filed on January 31, 2005, entitled “Gestures For Touch Sensitive Input Devices”; (5) U.S. patent application No. 11 / 050,264, filed on January 18, 2005, entitled “Mode-Based Graphical User Interfaces For Touch Sensitive and (9) U.S. patent application No. 11 / 367,749, filed on March 3, 2006, entitled “Multi-Functional Hand-Held Device.” All of these applications are hereby incorporated by reference in their entirety.

[0080] The touch screen 112 optionally has a video resolution exceeding 100 dpi. In some embodiments, the touch screen has a video resolution of about 160 dpi. The user optionally uses any suitable object or appendage, such as a stylus, a finger, or the like, to contact the touch screen 112. In some embodiments, the user interface is designed to work primarily through finger-based contacts and gestures, which may not be as precise as stylus-based input due to the larger contact area of a finger on the touch screen. In some embodiments, the device converts rough finger-based input into precise pointer / cursor positions or commands for performing the user's desired action.

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

[0082] Device 100 also includes a power system 162 for powering the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, power fault detection circuitry, a power converter or inverter, a power status indicator (e.g., a light emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in a portable device.

[0083] Device 100 optionally also includes one or more optical sensors 164 . Figure 1AAn optical sensor is shown coupled to the optical sensor controller 158 in the I / O subsystem 106. The optical sensor 164 optionally includes a charge-coupled device (CCD) or complementary metal oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives light from the environment projected through one or more lenses and converts the light into data representing an image. In conjunction with the imaging module 143 (also called a camera module), the optical sensor 164 optionally captures still images or video. In some embodiments, the optical sensor is located on the rear of the device 100, facing away from the touch screen display 112 on the front of the device, enabling the touch screen display to be used as a viewfinder for still and / or video image acquisition. In some embodiments, the optical sensor is located on the front of the device, allowing the user to optionally capture an image of the user for video conferencing while viewing other video conference participants on the touch screen display. In some embodiments, the position of the optical sensor 164 can be changed by the user (e.g., by rotating the lens and sensor in the device housing), allowing a single optical sensor 164 to be used with the touch screen display for both video conferencing and still and / or video image acquisition.

[0084] Device 100 optionally also includes one or more depth camera sensors 175 . Figure 1A A depth camera sensor is shown coupled to a depth camera controller 169 in the I / O subsystem 106. The depth camera sensor 175 receives data from the environment to create a three-dimensional model of objects (e.g., faces) within the scene from a viewpoint (e.g., the depth camera sensor). In some embodiments, in conjunction with the imaging module 143 (also referred to as a camera module), the depth camera sensor 175 is optionally used to determine a depth map for different portions of an image captured by the imaging module 143. In some embodiments, the depth camera sensor is located on the front of the device 100, enabling the user to optionally capture an image of the user with depth information for video conferencing while viewing other video conference participants on the touchscreen display, and to capture selfies with depth map data. In some embodiments, the depth camera sensor 175 is located on the rear of the device, or on both the rear and front of the device 100. In some embodiments, the position of the depth camera sensor 175 can be changed by the user (e.g., by rotating the lens and sensor in the device housing), enabling the depth camera sensor 175 to be used in conjunction with the touchscreen display for both video conferencing and still and / or video image acquisition.

[0085] Device 100 optionally also includes one or more contact intensity sensors 165 . Figure 1AA contact force sensor is shown coupled to force sensor controller 159 in I / O subsystem 106. Contact force sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other force sensors (e.g., sensors for measuring the force (or pressure) of a contact on a touch-sensitive surface). Contact force sensor 165 receives contact force information (e.g., pressure information or a surrogate for pressure information) from the environment. In some embodiments, at least one contact force sensor is juxtaposed with or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact force sensor is located on the back of device 100, opposite touch screen display 112 located on the front of device 100.

[0086] Device 100 optionally also includes one or more proximity sensors 166 . Figure 1A A proximity sensor 166 is shown coupled to the peripherals interface 118. Alternatively, the proximity sensor 166 is optionally coupled to the input controller 160 in the I / O subsystem 106. The proximity sensor 166 is optionally implemented as described in the following U.S. patent applications: No. 11 / 241,839, entitled “Proximity Detector In Handheld Device”; No. 11 / 240,788, entitled “Proximity Detector In Handheld Device”; No. 11 / 620,702, entitled “Using Ambient Light Sensor To Augment Proximity Sensor Output”; No. 11 / 586,862, entitled “Automated Response To And Sensing Of User Activity In Portable Devices”; and No. 11 / 638,251, entitled “Methods And Systems For Automatic Configuration Of Peripherals,” which are hereby incorporated by reference in their entireties. In some embodiments, when the multifunction device is placed near the user's ear (e.g., when the user is on a phone call), the proximity sensor turns off and disables the touch screen 112.

[0087] Device 100 optionally also includes one or more tactile output generators 167 . Figure 1AA tactile output generator is shown coupled to a tactile feedback controller 161 in the I / O subsystem 106. The tactile output generator 167 optionally includes one or more electroacoustic devices such as speakers or other audio components; and / or electromechanical devices for converting energy into linear motion such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other tactile output generating components (e.g., components for converting electrical signals into tactile outputs on the device). The contact force sensor 165 receives tactile feedback generation instructions from the tactile feedback module 133 and generates tactile outputs on the device 100 that can be felt by the user of the device 100. In some embodiments, at least one tactile output generator is juxtaposed or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112) and optionally generates tactile outputs by moving the touch-sensitive surface vertically (e.g., inward / outward toward the surface of the device 100) or laterally (e.g., back and forth in the same plane as the surface of the device 100). In some embodiments, at least one tactile output generator sensor is located on the back of the device 100, opposite the touch screen display 112 located on the front of the device 100.

[0088] Device 100 optionally also includes one or more accelerometers 168 . Figure 1A An accelerometer 168 is shown coupled to the peripherals interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 in the I / O subsystem 106. The accelerometer 168 optionally implements as described in the following U.S. Patent Publication No. 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices" and U.S. Patent Publication No. 20060017692, entitled "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 in a portrait view or a landscape view on the touch screen display based on analysis of data received from one or more accelerometers. The device 100 optionally includes a magnetometer and a GPS (or GLONASS or other global navigation system) receiver in addition to the accelerometer 168 for obtaining information about the position and orientation (e.g., portrait or landscape) of the device 100.

[0089] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a global positioning system (GPS) module (or instruction set) 135, and an application (or instruction set) 136. In addition, in some embodiments, memory 102 ( Figure 1A ) or 370( Figure 3 ) storage device / global internal state 157, such as Figure 1A and Figure 3 . The device / global internal state 157 includes one or more of the following: an active application state, which indicates which applications, if any, are currently active; a display state, which indicates what applications, views, or other information occupy various areas of the touch screen display 112; a sensor state, which includes information obtained from the device's various sensors and input control devices 116; and position information regarding the device's position and / or posture.

[0090] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitating communication between various hardware components and software components.

[0091] The communication module 128 facilitates communication with other devices via one or more external ports 124 and also includes various software components for processing data received by the RF circuitry 108 and / or the external ports 124. The external ports 124 (e.g., Universal Serial Bus (USB), FireWire, etc.) are suitable for coupling directly to other devices or indirectly through a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external ports are connected to (trademark of Apple Inc.) devices.

[0092] The contact / motion module 130 optionally detects contact with the touch screen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., a touchpad or physical click wheel). The contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether contact has occurred (e.g., detecting a finger down event), determining the strength of the contact (e.g., the force or pressure of the contact, or a surrogate for the force or pressure of the contact), determining whether there has been movement of the contact and tracking the movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has ceased (e.g., detecting a finger lift event or contact break). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of a contact point optionally includes determining the rate (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point, the movement of which is represented by a series of contact data. These operations are optionally applied to a single point of contact (e.g., a single-finger contact) or multiple points of contact simultaneously (e.g., "multi-touch" / multiple-finger contact). In some embodiments, the contact / motion module 130 and display controller 156 detect contact on the touchpad.

[0093] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an action has been performed by a user (e.g., to determine whether a user has "clicked" an icon). In some embodiments, at least a subset of the intensity thresholds are determined based on software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a particular physical actuator and can be adjusted without changing the physical hardware of the device 100). For example, a mouse "click" threshold for a touchpad or touchscreen can be set to any one of a large range of predefined thresholds without changing the touchpad or touchscreen display hardware. In addition, in some embodiments, a software setting is provided to the user of the device for adjusting one or more intensity thresholds in a set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by utilizing a system-level click on an "intensity" parameter to adjust multiple intensity thresholds at once).

[0094] Contact / motion module 130 optionally detects gesture input by the user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motions, timings, and / or intensities of the detected contacts). Thus, gestures are optionally detected by detecting specific contact patterns. For example, detecting a finger tap gesture includes detecting a finger press event and then detecting a finger lift (lift-off) event at the same location (or substantially the same location) as the finger press event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and then detecting a finger lift (lift-off) event.

[0095] The graphics module 132 includes various known software components for rendering and displaying graphics on the touch screen 112 or other display, including components for changing the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual attributes) of the displayed graphics. As used herein, the term "graphics" includes any object that can be displayed to a user, including, but not limited to, text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc.

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

[0097] Haptic feedback module 133 includes various software components for generating instructions used by tactile output generator 167 to produce tactile output at one or more locations on device 100 in response to user interaction with device 100 .

[0098] Text input module 134, which is optionally a component of graphics module 132, provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).

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

[0100] Application 136 optionally includes the following modules (or instruction sets), or a subset or superset thereof:

[0101] Contacts module 137 (sometimes called address book or contact list);

[0102] Telephone module 138;

[0103] Video conferencing module 139;

[0104] Email client module 140;

[0105] Instant messaging (IM) module 141;

[0106] Fitness support module 142;

[0107] A camera module 143 for still and / or video images;

[0108] Image management module 144;

[0109] Video player module;

[0110] Music player module;

[0111] Browser module 147;

[0112] Calendar module 148;

[0113] Widget module 149, which optionally includes one or more of the following: weather widget 149-1, stock widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, and other widgets acquired by the user, and user-created widgets 149-6;

[0114] A widget creator module 150 for forming user-created widgets 149-6;

[0115] Search module 151;

[0116] Video and music player module 152, which combines the video player module and the music player module;

[0117] Notepad module 153;

[0118] Map module 154; and / or

[0119] Online video module 155.

[0120] Examples of other applications 136 optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, rendering applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.

[0121] In combination with the touch screen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, the contacts module 137 is optionally used to manage an address book or contact list (e.g., stored in the application internal state 192 of the contacts module 137 in memory 102 or memory 370), including: adding one or more names to the address book; deleting names from the address book; associating phone numbers, email addresses, physical addresses, or other information with names; associating images with names; categorizing and classifying names; providing phone numbers or email addresses to initiate and / or facilitate communications via telephone 138, video conferencing module 139, email 140, or IM 141; and so on.

[0122] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, phone module 138 is optionally used to enter a character sequence corresponding to a phone number, access one or more phone numbers in contacts module 137, modify an entered phone number, dial the corresponding phone number, conduct a conversation, and disconnect or hang up when the conversation is complete. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.

[0123] In combination with the RF circuit 108, the audio circuit 110, the speaker 111, the microphone 113, the touch screen 112, the display controller 156, the optical sensor 164, the optical sensor controller 158, the contact / motion module 130, the graphics module 132, the text input module 134, the contact module 137 and the telephone module 138, the video conferencing module 139 includes executable instructions for initiating, conducting and terminating a video conference between a user and one or more other participants in accordance with user instructions.

[0124] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, email client module 140 includes executable instructions for creating, sending, receiving, and managing emails in response to user instructions. In conjunction with image management module 144, email client module 140 makes it very easy to create and send emails with still images or video images captured by camera module 143.

[0125] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the instant messaging module 141 includes executable instructions for entering a character sequence corresponding to an instant message, modifying previously entered characters, transmitting the corresponding instant message (e.g., using the Short Message Service (SMS) or Multimedia Messaging Service (MMS) protocol for phone-based instant messaging or using XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, the transmitted and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments supported in MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant messaging" refers to both phone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).

[0126] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the GPS module 135, the map module 154, and the music player module, the fitness support module 142 includes executable instructions for creating a workout (e.g., with time, distance, and / or calorie burn goals); communicating with fitness sensors (sports equipment); receiving fitness sensor data; calibrating sensors for monitoring fitness; selecting and playing music for a workout; and displaying, storing, and transmitting fitness data.

[0127] In combination with the touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132 and image management module 144, the camera module 143 includes executable instructions for the following operations: capturing still images or videos (including video streams) and storing them in the memory 102, modifying the characteristics of the still images or videos, or deleting the still images or videos from the memory 102.

[0128] In conjunction with touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 includes executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing still images and / or video images.

[0129] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132 and the text input module 134, the browser module 147 includes executable instructions for browsing the Internet in accordance with user instructions, including searching for, linking to, receiving and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.

[0130] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the text input module 134, the email client module 140 and the browser module 147, the calendar module 148 includes executable instructions for creating, displaying, modifying and storing a calendar and data associated with the calendar (e.g., calendar entries, to-do items, etc.) in accordance with user instructions.

[0131] In conjunction with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, and the browser module 147, the desktop widget module 149 is a mini-application that is optionally downloaded and used by the user (e.g., the weather desktop widget 149-1, the stock desktop widget 149-2, the calculator desktop widget 149-3, the alarm desktop widget 149-4, and the dictionary desktop widget 149-5) or a mini-application created by the user (e.g., the user-created desktop widget 149-6). In some embodiments, the desktop widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, the desktop widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., the Yahoo! desktop widget).

[0132] In combination with the RF circuit 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134 and browser module 147, the desktop widget creator module 150 is optionally used by a user to create a desktop widget (e.g., converting a user-specified portion of a web page into a desktop widget).

[0133] In combination with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132 and text input module 134, the search module 151 includes executable instructions for searching the memory 102 for text, music, sound, images, videos and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions.

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

[0135] In conjunction with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, the notepad module 153 includes executable instructions for creating and managing notes, to-do lists, etc. according to user instructions.

[0136] In combination with the RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, the map module 154 is optionally used to receive, display, modify, and store maps and data associated with the maps (e.g., driving directions, data relating to stores and other points of interest at or near a particular location, and other location-based data) in accordance with user instructions.

[0137] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, text input module 134, email client module 140, and browser module 147, online video module 155 includes instructions for allowing a user to access, browse, receive (e.g., by streaming and / or downloading), play back (e.g., on the touch screen or on an external display connected via external port 124), send an email with a link to a particular online video, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, instant messaging module 141 is used instead of email client module 140 to send a link to a particular online video. Additional descriptions of online video applications can be found in U.S. Provisional Patent Application No. 60 / 936,562, filed on June 20, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” and U.S. Patent Application No. 11 / 968,067, filed on December 31, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” the contents of which are hereby incorporated by reference in their entirety.

[0138] Each of the modules and applications described above corresponds to an executable instruction set for performing one or more of the functions described above and the methods described in this patent application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., instruction sets) do not have to be implemented as separate software programs, processes, or modules, and thus various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. For example, a video player module is optionally combined with a music player module into a single module (e.g., Figure 1A In some embodiments, the memory 102 optionally stores a subset of the above modules and data structures. In addition, the memory 102 optionally stores additional modules and data structures not described above.

[0139] In some embodiments, device 100 is a device in which operation of a predefined set of functions on the device is performed exclusively through a touch screen and / or a touchpad. By using a touch screen and / or a touchpad as the primary input control device for operating device 100, the number of physical input control devices (e.g., push buttons, dials, etc.) on device 100 is optionally reduced.

[0140] A predefined set of functions that are exclusively performed through the touch screen and / or trackpad optionally includes navigation between user interfaces. In some embodiments, the trackpad, when touched by the user, navigates the device 100 from any user interface displayed on the device 100 to a main menu, home menu, or root menu. In such embodiments, the trackpad is used to implement a "menu button." In some other embodiments, the menu button is a physical push button or other physical input control device, rather than a trackpad.

[0141] Figure 1B is a block diagram illustrating exemplary components for event processing according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or memory 370( Figure 3 ) includes an event classifier 170 (e.g., in the operating system 126) and a corresponding application 136-1 (e.g., any one of the aforementioned applications 137 to 151, 155, 380 to 390).

[0142] Event classifier 170 receives event information and determines the application 136-1 and the application view 191 of application 136-1 to which the event information is to be delivered. Event classifier 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes an application internal state 192 that indicates one or more current application views displayed on touch-sensitive display 112 when the application is active or executing. In some embodiments, device / global internal state 157 is used by event classifier 170 to determine which application(s) is currently active, and application internal state 192 is used by event classifier 170 to determine the application view 191 to which the event information is to be delivered.

[0143] In some embodiments, the application internal state 192 includes additional information, such as one or more of the following: resumption information to be used when the application 136-1 resumes execution, user interface state information indicating that information is being displayed or is ready to be displayed by the application 136-1, a state queue for enabling the user to return to a previous state or view of the application 136-1, and a redo / undo queue of previous actions taken by the user.

[0144] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about sub-events (e.g., a user touch on touch-sensitive display 112 as part of a multi-touch gesture). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, one or more accelerometers 168, and / or microphone 113 (via audio circuit 110). The information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.

[0145] In some embodiments, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 transmits event information. In other embodiments, peripheral device interface 118 transmits event information only when there is a significant event (e.g., receiving an input above a predetermined noise threshold and / or receiving an input for more than a predetermined duration).

[0146] In some embodiments, the event classifier 170 also includes a hit view determination module 172 and / or an active event identifier determination module 173.

[0147] When the touch-sensitive display 112 displays more than one view, the hit view determination module 172 provides software procedures for determining where within one or more views a sub-event has occurred. A view consists of controls and other elements that a user can see on the display.

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

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

[0150] Active event recognizer determination module 173 determines which view or views within the view hierarchy should receive a particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that include the physical location of the sub-event are actively participating views, and therefore determines that all actively participating views should receive a particular sequence of sub-events. In other embodiments, even if a touch sub-event is completely confined to an area associated with one particular view, views higher in the hierarchy will still remain actively participating views.

[0151] Event dispatcher module 174 dispatches event information to event recognizers (e.g., event recognizer 180). In embodiments that include active event recognizer determination module 173, event dispatcher module 174 delivers the event information to the event recognizer determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores the event information in an event queue, which is retrieved by corresponding event receiver 182.

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

[0153] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events that occur within a corresponding view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, a corresponding application view 191 includes multiple event recognizers 180. In other embodiments, one or more of event recognizers 180 is part of a separate module, such as a user interface toolkit or a higher-level object from which application 136-1 inherits methods and other properties. In some embodiments, a corresponding event handler 190 includes one or more of the following: a data updater 176, an object updater 177, a GUI updater 178, and / or event data 179 received from an event classifier 170. Event handler 190 optionally utilizes or calls data updater 176, object updater 177, or GUI updater 178 to update the application's internal state 192. Alternatively, one or more of the application views in application view 191 include one or more corresponding event handlers 190. Additionally, in some embodiments, one or more of data updater 176, object updater 177, and GUI updater 178 are included in the corresponding application view 191.

[0154] A corresponding event identifier 180 receives event information (e.g., event data 179) from event classifier 170 and identifies an event based on the event information. Event identifier 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event identifier 180 also includes metadata 183 and at least a subset of event delivery instructions 188 (which optionally include sub-event delivery instructions).

[0155] The event receiver 182 receives event information from the event classifier 170. The event information includes information about sub-events such as touches or touch movements. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves the movement of a touch, the event information optionally also includes the rate and direction of the sub-event. In some embodiments, the event includes the device rotating from one orientation to another (e.g., from a portrait orientation to a landscape orientation, or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device posture).

[0156] The event comparator 184 compares the event information with a predefined event or sub-event definition and determines the event or sub-event based on the comparison, or determines or updates the state of the event or sub-event. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 includes the definition of an event (e.g., a predefined sequence of sub-events), such as event 1 (187-1), event 2 (187-2), and others. In some embodiments, the sub-events in event (187) include, for example, touch start, touch end, touch move, touch cancel, and multi-touch. In one example, the definition of event 1 (187-1) is a double-click on a displayed object. For example, a double-click includes a first touch (touch start) of a predetermined duration on the displayed object, a first lift-off (touch end) of a predetermined duration, a second touch (touch start) of a predetermined duration on the displayed object, and a second lift-off (touch end) of a predetermined duration. In another example, the definition of event 2 (187-2) is a drag on a displayed object. For example, dragging includes a touch (or contact) of a predetermined duration on a displayed object, movement of the touch on the touch-sensitive display 112, and lifting of the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.

[0157] In some embodiments, event definition 187 includes definitions of events for corresponding user interface objects. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view displaying three user interface objects on touch-sensitive display 112, when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a corresponding event handler 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects an event handler that is associated with the sub-event and the object that triggered the hit test.

[0158] In some embodiments, the definition of the corresponding event (187) also includes a delay action that delays the delivery of the event information until it has been determined that the sub-event sequence does or does not correspond to the event type of the event identifier.

[0159] When a corresponding event recognizer 180 determines that a sequence of sub-events does not match any event in event definitions 186, the corresponding event recognizer 180 enters the event impossible, event failed, or event ended state, after which subsequent sub-events of the touch-based gesture are ignored. In this case, other event recognizers (if any) that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.

[0160] In some embodiments, corresponding event recognizers 180 include metadata 183 with configurable properties, flags, and / or lists that indicate how the event delivery system should perform sub-event delivery for actively participating event recognizers. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact or can interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are delivered to different levels in a view or programmatic hierarchy.

[0161] In some embodiments, when one or more specific sub-events of an event are identified, the corresponding event recognizer 180 activates an event handler 190 associated with the event. In some embodiments, the corresponding event recognizer 180 delivers event information associated with the event to the event handler 190. Activating an event handler 190 is different from sending (and deferred sending) sub-events to the corresponding hit view. In some embodiments, the event recognizer 180 throws a flag associated with the identified event, and the event handler 190 associated with the flag obtains the flag and performs a predefined process.

[0162] In some embodiments, event delivery instructions 188 include sub-event delivery instructions that deliver event information about a sub-event without activating an event handler. Instead, the sub-event delivery instructions deliver the event information to an event handler associated with the sub-event sequence or to an actively participating view. The event handler associated with the sub-event sequence or with the actively participating view receives the event information and performs a predetermined process.

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

[0164] In some embodiments, event handler 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of the corresponding application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.

[0165] It should be understood that the above discussion of event handling for user touches on a touch-sensitive display also applies to other forms of user input utilizing input devices to operate the multifunction device 100, and not all user input is initiated on a touch screen. For example, mouse movement and mouse button presses, optionally in conjunction with single or multiple keyboard presses or holddowns; contact movement on a trackpad, such as taps, drags, scrolls, etc.; stylus input; movement of the device; spoken commands; detected eye movement; biometric input; and / or any combination thereof, are optionally used as input corresponding to sub-events defining the event to be recognized.

[0166] Figure 2A portable multifunction device 100 with a touch screen 112 is shown according to some embodiments. The touch screen optionally displays one or more graphics within a user interface (UI) 200. In this embodiment and other embodiments described below, a user can select one or more of the graphics by, for example, making gestures on the graphics using one or more fingers 202 (not drawn to scale in the figure) or one or more styluses 203 (not drawn to scale in the figure). In some embodiments, selection of the one or more graphics occurs when the user breaks contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (from left to right, from right to left, up and / or down), and / or rolling of a finger that has made contact with the device 100 (from right to left, from left to right, up and / or down). In some specific implementations or in some cases, inadvertent contact with a graphic does not select the graphic. For example, a swipe gesture that sweeps over an application icon optionally does not select the corresponding application when the gesture corresponding to selection is a tap.

[0167] The device 100 optionally also includes one or more physical buttons, such as a "home" or menu button 204. As previously described, the menu button 204 is optionally used to navigate to any application 136 in a set of applications that are optionally executed on the device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on the touch screen 112.

[0168] In some embodiments, the device 100 includes a touch screen 112, a menu button 204, a push button 206 for turning the device on / off and for locking the device, one or more volume adjustment buttons 208, a subscriber identity module (SIM) card slot 210, a headset jack 212, and a docking / charging external port 124. The push button 206 is optionally used to turn the device on / off by pressing the button and holding it in the depressed state for a predefined time interval; to lock the device by pressing the button and releasing it before the predefined time interval has elapsed; and / or to unlock the device or initiate an unlocking process. In an alternative embodiment, the device 100 also accepts voice input for activating or deactivating certain functions via the microphone 113. The device 100 also optionally includes one or more contact force sensors 165 for detecting the intensity of contact on the touch screen 112, and / or one or more tactile output generators 167 for generating tactile output for the user of the device 100.

[0169] Figure 33 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments. The device 300 does not have to be portable. In some embodiments, the device 300 is a laptop, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a children's learning toy), a gaming system, or a control device (e.g., a home controller or an industrial controller). The device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, a memory 370, and one or more communication buses 320 for interconnecting these components. The communication bus 320 optionally includes circuits (sometimes referred to as a chipset) that interconnect system components and control communications between system components. The device 300 includes an input / output (I / O) interface 330 having a display 340, which is typically a touch screen display. The I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 for generating tactile output on the device 300 (e.g., similar to the above referenced device). Figure 1A The tactile output generator 167 described above), sensor 359 (e.g., optical sensor, acceleration sensor, proximity sensor, touch sensor and / or contact intensity sensor (similar to the above reference 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 310. In some embodiments, the memory 370 stores data related to the portable multifunction device 100 ( Figure 1A ) or a subset thereof. In addition, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable multifunction device 100. For example, memory 370 of device 300 optionally stores a drawing module 380, a presentation module 382, a word processing module 384, a website creation module 386, a disk editing module 388, and / or a spreadsheet module 390, while portable multifunction device 100( Figure 1A )'s memory 102 optionally does not store these modules.

[0170] Figure 3Each element in the above-mentioned elements in is optionally stored in one or more memory devices of the memory device mentioned previously.Each module in the above-mentioned modules corresponds to the instruction set for performing the above-mentioned functions.Above-mentioned modules or programs (for example, instruction sets) need not be implemented as independent software programs, processes or modules, and therefore the various subsets of these modules are optionally combined or otherwise rearranged in various embodiments.In some embodiments, memory 370 optionally stores the subset of above-mentioned modules and data structures.In addition, memory 370 optionally stores additional modules and data structures not described above.

[0171] Attention is now turned to an embodiment of a user interface, optionally implemented on, for example, portable multifunction device 100 .

[0172] Figure 4A An exemplary user interface for an applications menu on portable multifunction device 100 is shown according to some embodiments. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof:

[0173] Signal strength indicators 402 for wireless communications such as cellular and Wi-Fi signals;

[0174] Time 404;

[0175] Bluetooth indicator 405;

[0176] Battery status indicator 406;

[0177] A tray 408 with icons for commonly used applications, such as:

[0178] o An icon 416 labeled "Phone" for the phone module 138, the icon 416 optionally including an indicator 414 of the number of missed calls or voicemails;

[0179] o An icon 418 of the email client module 140 labeled “Mail,” which optionally includes an indicator 410 of the number of unread emails;

[0180] o An icon 420 labeled "Browser" for the browser module 147; and

[0181] o An icon 422 labeled “iPod” for the video and music player module 152 (also referred to as the iPod (a trademark of Apple Inc.) module 152); and

[0182] Icons for other apps, such as:

[0183] o Icon 424 labeled "Messages" of the IM module 141;

[0184] o An icon 426 labeled “Calendar” of the calendar module 148;

[0185] o Icon 428 labeled "Photos" of the image management module 144;

[0186] o An icon 430 labeled “Camera” of the camera module 143;

[0187] ○ Icon 432 labeled “Online Video” of the online video module 155;

[0188] ○ Icon 434 labeled “Stock Market” of the Stock Market widget 149-2;

[0189] o An icon 436 labeled “Map” of the map module 154;

[0190] ○ Icon 438 labeled “Weather” of the weather widget 149-1;

[0191] ○ Icon 440 labeled “Clock” of the alarm clock widget 149-4;

[0192] o An icon 442 labeled “Fitness Support” of the fitness support module 142;

[0193] o An icon 444 labeled "Notepad" of the Notepad module 153; and

[0194] o An icon 446 of a settings application or module labeled “Settings” that provides access to settings for the device 100 and its various applications 136 .

[0195] It should be pointed out that Figure 4A The icon labels shown are exemplary only. For example, icon 422 for video and music player module 152 is labeled "Music" or "Music Player." Other labels are optionally used for various application icons. In some embodiments, the label of a respective application icon includes the name of the application corresponding to the respective application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to the particular application icon.

[0196] Figure 4B A touch-sensitive surface 451 (eg, touch screen display 112) is shown having a touch-sensitive surface 451 (eg, touch screen display 112) that is separate from a display 450 (eg, touch screen display 112). Figure 3 tablet or trackpad 355) of the device (e.g., Figure 3Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) for detecting intensity of contacts on touch-sensitive surface 451 and / or one or more tactile output generators 357 for generating tactile output for a user of device 300.

[0197] Although some of the examples below will be given with reference to input on a touch screen display 112 (where the touch-sensitive surface and display are combined), in some embodiments, the device detects input on a touch-sensitive surface that is separate from the display, such as Figure 4B In some embodiments, the touch-sensitive surface (e.g., Figure 4B 451) has a main axis (e.g., Figure 4B 453) corresponding to the main axis (for example, Figure 4B According to these embodiments, the device detects a position corresponding to a corresponding position on the display (e.g., Figure 4B , 460 corresponds to 468 and 462 corresponds to 470 ) at contact with touch-sensitive surface 451 (e.g., Figure 4B 460 and 462 in FIG. 4. Thus, when the touch-sensitive surface (e.g., Figure 4B 451) and a display of a multi-function device (e.g., Figure 4B When the user interface 450 in FIG. 1 is separated, the user input detected by the device on the touch-sensitive surface (e.g., contacts 460 and 462 and their movement) is used by the device to manipulate the user interface on the display. It should be understood that similar methods are optionally used for other user interfaces described herein.

[0198] In addition, although the following examples are primarily given with reference to finger inputs (e.g., finger contacts, single-finger tap gestures, finger swipe gestures), it should be understood that in some embodiments, one or more of these finger inputs are replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of contact), followed by movement of the cursor along the path of the swipe (e.g., instead of movement of the contact). For another example, a tap gesture is optionally replaced by a mouse click when the cursor is over the location of the tap gesture (e.g., instead of detecting the contact, followed by ceasing to detect the contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are optionally used simultaneously, or mice and finger contacts are optionally used simultaneously.

[0199] Figure 5AAn exemplary personal electronic device 500 is shown. The device 500 includes a body 502. In some embodiments, the device 500 may include a body 502 relative to the devices 100 and 300 (e.g., Figures 1A to 4B ) some or all of the features described in . In some embodiments, device 500 has a touch-sensitive display screen 504, referred to hereinafter as touch screen 504. As an alternative to or in addition to touch screen 504, device 500 has a display and a touch-sensitive surface. As with devices 100 and 300, in some embodiments, touch screen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors for detecting the intensity of applied contact (e.g., touch). The one or more intensity sensors of touch screen 504 (or touch-sensitive surface) can provide output data representing the intensity of the touch. The user interface of device 500 can respond to touches based on the intensity of the touch, which means that touches of different intensities can invoke different user interface operations on device 500.

[0200] Exemplary techniques for detecting and processing touch intensity are found, for example, in the following related patent applications: International Patent Application Serial No. PCT / US2013 / 040061, filed on May 8, 2013, entitled “Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application,” published as WIPO Patent Publication No. WO / 2013 / 169849; and International Patent Application Serial No. PCT / US2013 / 069483, filed on November 11, 2013, entitled “Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships,” published as WIPO Patent Publication No. WO / 2014 / 105276, each of which is hereby incorporated by reference in its entirety.

[0201] In some embodiments, the device 500 has one or more input mechanisms 506 and 508. Input mechanisms 506 and 508 (if included) can be physical. Examples of physical input mechanisms include push buttons and rotatable mechanisms. In some embodiments, the device 500 has one or more attachment mechanisms. Such attachment mechanisms (if included) can allow the device 500 to be attached to, for example, hats, glasses, earrings, necklaces, shirts, jackets, bracelets, watchbands, bracelets, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow the user to wear the device 500.

[0202] Figure 5B An exemplary personal electronic device 500 is shown. In some embodiments, the device 500 may include a reference Figure 1A 、 Figure 1B and Figure 3 Some or all of the components described. Device 500 has a bus 512 that operatively couples an I / O portion 514 to one or more computer processors 516 and a memory 518. The I / O portion 514 can be connected to a display 504, which can have a touch-sensitive component 522 and optionally a strength sensor 524 (e.g., a contact strength sensor). In addition, the I / O portion 514 can be connected to a communication unit 530 for receiving application and operating system data using Wi-Fi, Bluetooth, near-field communication (NFC), cellular, and / or other wireless communication technologies. Device 500 may include input mechanisms 506 and / or 508. For example, the input mechanism 506 is optionally a rotatable input device or a depressible input device and a rotatable input device. In some examples, the input mechanism 508 is optionally a button.

[0203] In some examples, input mechanism 508 is optionally a microphone. Personal electronic device 500 optionally includes various sensors, such as a GPS sensor 532, an accelerometer 534, an orientation sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or combinations thereof, all of which are operatively connected to I / O portion 514.

[0204] The memory 518 of the personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by one or more computer processors 516, may cause the computer processors to perform the techniques described below, including processes 700, 900, 1100, 1300 ( 7A to 7B 、 Figures 9A to 9B 、 Figure 11 ,as well as 13A to 13B). Computer-readable storage media can be any medium that can tangibly contain or store computer-executable instructions for use by or in conjunction with instruction execution systems, devices, and apparatuses. In some examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media may include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical disks based on CD, DVD, or Blu-ray technology, and persistent solid-state memories such as flash memory, solid-state drives, and the like. Personal electronic device 500 is not limited to Figure 5B components and configurations, but may include other components or additional components in a variety of configurations.

[0205] As used herein, the term "indicator" refers to an indication that is optionally provided on device 100, 300, and / or 500 ( Figure 1A 、 Figure 3 and Figures 5A to 5B ) is a user-interactive graphical user interface object displayed on a display screen of a computer. For example, an image (e.g., an icon), a button, and text (e.g., a hyperlink) optionally each constitute an affordance.

[0206] As used herein, the term "focus selector" refers to an input element used to indicate the current portion of a user interface with which a user is interacting. In some implementations that include a cursor or other position marker, the cursor acts as a "focus selector" such that when the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), a focus selector is displayed on a touch-sensitive surface (e.g., Figure 3 Touchpad 355 or Figure 4B In the event that an input (e.g., a press input) is detected on the touch-sensitive surface 451 in FIG, the particular user interface element is adjusted according to the detected input. In the case of a touch screen display (e.g., a touch screen display) that enables direct interaction with user interface elements on the touch screen display Figure 1A touch-sensitive display system 112 or Figure 4AIn some implementations of the touch screen 112 in FIG, 2 , a contact detected on the touch screen acts as a “focus selector” such that when input (e.g., a press input by the contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touch screen display, the particular user interface element is adjusted according to the detected input. In some implementations, the focus moves from one area of the user interface to another area of the user interface without corresponding movement of a cursor or movement of a contact on the touch screen display (e.g., by using a tab key or arrow keys to move the focus from one button to another); in these implementations, the focus selector moves according to the movement of the focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is generally a user interface element (or contact on the touch screen display) that is controlled by the user to deliver the user's intended interaction with the user interface (e.g., by indicating to the device the element of the user interface with which the user desires to interact). For example, when a press input is detected on a touch-sensitive surface (e.g., a trackpad or touch screen), the position of a focus selector (e.g., a cursor, contact, or selection box) over a corresponding button will indicate that the user intends to activate the corresponding button (rather than other user interface elements shown on the device display).

[0207] As used in the specification and claims, the term "characteristic intensity" of a contact refers to a characteristic of the contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples or a set of intensity samples collected during a predetermined time period (e.g., 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds) relative to a predefined event (e.g., after contact is detected, before contact is detected to be lifted off, before or after contact begins to move, before contact ends, before or after contact is detected to increase in intensity, and / or before or after contact is detected to decrease in intensity). The characteristic intensity of a contact is optionally based on one or more of the following: the maximum value of the intensity of the contact, the mean value of the intensity of the contact, the average value of the intensity of the contact, the value at the top 10% of the intensity of the contact, the half-maximum value of the intensity of the contact, the 90% maximum value of the intensity of the contact, etc. In some embodiments, the duration of the contact is used in determining the characteristic intensity (e.g., when the characteristic intensity is the average value of the intensity of the contact over time). In some embodiments, the feature strength is compared to a set of one or more strength thresholds to determine whether the user has performed an operation. For example, the set of one or more strength thresholds optionally includes a first strength threshold and a second strength threshold. In this example, a contact whose feature strength does not exceed the first threshold results in a first operation, a contact whose feature strength exceeds the first strength threshold but does not exceed the second strength threshold results in a second operation, and a contact whose feature strength exceeds the second threshold results in a third operation. In some embodiments, a comparison between the feature strength and one or more thresholds is used to determine whether to perform one or more operations (e.g., whether to perform the corresponding operation or to abandon the corresponding operation) rather than to determine whether to perform the first operation or the second operation.

[0208] Figure 5C Detecting multiple contacts 552A-552E on touch-sensitive display 504 using multiple intensity sensors 524A-524D is shown. Figure 5C Also included is an intensity graph that shows the current intensity measurements of intensity sensors 524A-524D relative to intensity units. In this example, the intensity measurements of intensity sensors 524A and 524D are both 9 intensity units, and the intensity measurements of intensity sensors 524B and 524C are both 7 intensity units. In some implementations, the cumulative intensity is the sum of the intensity measurements of multiple intensity sensors 524A-524D, which in this example is 32 intensity units. In some embodiments, each contact is assigned a corresponding intensity, which is a portion of the cumulative intensity. Figure 5D554. The cumulative strength assigned to contacts 552A-552E based on their distance from the center of force 554 is shown. In this example, each of contacts 552A, 552B, and 552E is assigned a strength of the contact of 8 strength units of the cumulative strength, and each of contacts 552C and 552D is assigned a strength of the contact of 4 strength units of the cumulative strength. More generally, in some embodiments, each contact j is assigned a corresponding strength Ij that is a portion of the cumulative strength A according to a predefined mathematical function Ij=A·(Dj / ΣDi), where Dj is the distance of the corresponding contact j from the center of force, and ΣDi is the sum of the distances of all corresponding contacts (e.g., i=1 to the last) from the center of force. The reference may be performed using an electronic device similar to or identical to device 100, 300, or 500. Figure 5C-5D In some embodiments, the characteristic intensity of the contact is based on one or more intensities of the contact. In some embodiments, the intensity sensor is used to determine a single characteristic intensity (e.g., a single characteristic intensity of a single contact). It should be noted that the intensity map is not part of the displayed user interface, but is included in the Figure 5C-5D To assist readers.

[0209] In some embodiments, a portion of a gesture is identified for determining the characteristic strength. For example, the touch-sensitive surface optionally receives a continuous swipe contact that transitions from a starting position and reaches an end position where the contact strength increases. In this example, the characteristic strength of the contact at the end position is optionally based only on a portion of the continuous swipe contact, rather than the entire swipe contact (e.g., only the portion of the swipe contact at the end position). In some embodiments, a smoothing algorithm is optionally applied to the intensity of the swipe contact before determining the characteristic strength of the contact. For example, the smoothing algorithm optionally includes one or more of the following: an unweighted sliding average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some cases, these smoothing algorithms eliminate narrow peaks or dips in the intensity of the swipe contact to achieve the purpose of determining the characteristic strength.

[0210] The intensity of the contact on the touch-sensitive surface is optionally characterized relative to one or more intensity thresholds, such as a contact detection intensity threshold, a light press intensity threshold, a deep press intensity threshold, and / or one or more other intensity thresholds. In some embodiments, the light press intensity threshold corresponds to an intensity at which the device will perform an operation typically associated with clicking a button of a physical mouse or trackpad. In some embodiments, the deep press intensity threshold corresponds to an intensity at which the device will perform an operation different from the operation typically associated with clicking a button of a physical mouse or trackpad. In some embodiments, when a contact is detected with a characteristic intensity below the light press intensity threshold (e.g., and above a nominal contact detection intensity threshold, contacts below the nominal contact detection intensity threshold are no longer detected), the device will move the focus selector in accordance with the movement of the contact on the touch-sensitive surface, without performing an operation associated with the light press intensity threshold or the deep press intensity threshold. Generally speaking, unless otherwise stated, these intensity thresholds are consistent between different groups of user interface illustrations.

[0211] An increase in contact feature intensity from an intensity below a light press intensity threshold to an intensity between the light press intensity threshold and the deep press intensity threshold is sometimes referred to as a "light press" input. An increase in contact feature intensity from an intensity below a deep press intensity threshold to an intensity above the deep press intensity threshold is sometimes referred to as a "deep press" input. An increase in contact feature intensity from an intensity below a contact detection intensity threshold to an intensity between the contact detection intensity threshold and the light press intensity threshold is sometimes referred to as detecting a contact on the touch surface. A decrease in contact feature intensity from an intensity above the contact detection intensity threshold to an intensity below the contact detection intensity threshold is sometimes referred to as detecting a contact lifted from the touch surface. In some embodiments, the contact detection intensity threshold is zero. In some embodiments, the contact detection intensity threshold is greater than zero.

[0212] In some embodiments described herein, one or more operations are performed in response to detecting a gesture that includes a corresponding press input or in response to detecting a corresponding press input performed using a corresponding contact (or multiple contacts), wherein the corresponding press input is detected at least in part based on detecting an increase in the intensity of the contact (or multiple contacts) to above a press input intensity threshold. In some embodiments, the corresponding operation is performed in response to detecting an increase in the intensity of the corresponding contact to above the press input intensity threshold (e.g., a "down stroke" of the corresponding press input). In some embodiments, the press input includes an increase in the intensity of the corresponding contact to above the press input intensity threshold and a subsequent decrease in the intensity of the contact to below the press input intensity threshold, and the corresponding operation is performed in response to detecting a subsequent decrease in the intensity of the corresponding contact to below the press input threshold (e.g., an "up stroke" of the corresponding press input).

[0213] Figure 5E-5HDetection of a gesture is shown, the gesture comprising contact 562 with an intensity from below Figure 5E Light press intensity threshold in L ”) increases to a value higher than Figure 5H The deep press intensity threshold in D ”). On the displayed user interface 570 including application icons 572A-572D displayed in the predefined area 574, when the cursor 576 is displayed over the application icon 572B corresponding to application 2, a gesture performed using the contact 562 is detected on the touch-sensitive surface 560. In some embodiments, the gesture is detected on the touch-sensitive display 504. The intensity sensor detects the intensity of the contact on the touch-sensitive surface 560. The device determines whether the intensity of the contact 562 is within the deep press intensity threshold (e.g., “IT D ”) reaches a peak above. Contact 562 is maintained on touch-sensitive surface 560. In response to detecting the gesture, and according to the intensity rising to the deep press intensity threshold (e.g., “IT D ”) above contact 562, displays scaled representations 578A-578C (e.g., thumbnails) of documents recently opened for Application 2, as shown in FIG. Figure 5F-5H In some embodiments, the intensity is a characteristic intensity of the contact compared to one or more intensity thresholds. It should be noted that the intensity map for contact 562 is not part of the displayed user interface, but is included in the Figure 5E-5H To assist readers.

[0214] In some embodiments, the display of representations 578A-578C includes animation. For example, representation 578A is initially displayed near application icon 572B, as shown in FIG. Figure 5F As the animation progresses, representation 578A moves upward and representation 578B is displayed near application icon 572B, as shown. Figure 5G Then, representation 578A moves upward, 578B moves upward toward representation 578A, and representation 578C is displayed near application icon 572B, as shown in FIG. Figure 5H . Indicators 578A-578C form an array above icon 572B. In some embodiments, the animation progresses according to the intensity of contact 562, such as Figure 5F-5G , where representations 578A-578C appear and decrease as the intensity of contact 562 moves toward a deep press intensity threshold (e.g., “IT D In some embodiments, the intensity according to which the animation progresses is the characteristic intensity of the contact. The reference may be performed using an electronic device similar to or identical to device 100, 300, or 500. Figures 5E to 5H The operation described.

[0215] In some embodiments, the device employs intensity hysteresis to avoid unexpected inputs, sometimes referred to as "jitter," where the device defines or selects a hysteresis intensity threshold that has a predefined relationship to a press input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units lower than the press input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable proportion of the press input intensity threshold). Thus, in some embodiments, a press input includes an increase in the intensity of the corresponding contact to above the press input intensity threshold and a subsequent decrease in the intensity of the contact to below a hysteresis intensity threshold corresponding to the press input intensity threshold, and a corresponding operation is performed in response to detecting that the intensity of the corresponding contact subsequently decreases to below the hysteresis intensity threshold (e.g., an "upstroke" of the corresponding press input). Similarly, in some embodiments, a press input is detected only when the device detects that the contact intensity increases from an intensity equal to or below the hysteresis intensity threshold to an intensity equal to or above the press input intensity threshold and, optionally, that the contact intensity subsequently decreases to an intensity equal to or below the hysteresis intensity, and a corresponding operation is performed in response to detecting the press input (e.g., an increase in contact intensity or a decrease in contact intensity, depending on the circumstances).

[0216] For ease of explanation, a description of an operation performed in response to a press input associated with a press input intensity threshold or in response to a gesture including a press input is optionally triggered in response to detecting any of the following: contact intensity increasing above the press input intensity threshold, contact intensity increasing from an intensity below a hysteresis intensity threshold to an intensity above the press input intensity threshold, contact intensity decreasing below the press input intensity threshold, and / or contact intensity decreasing below a hysteresis intensity threshold corresponding to the press input intensity threshold. Additionally, in examples where an operation is described as being performed in response to detecting that the intensity of the contact decreases below the press input intensity threshold, the operation is optionally performed in response to detecting that the intensity of the contact decreases below a hysteresis intensity threshold that corresponds to and is less than the press input intensity threshold.

[0217] As used herein, an "installed application" refers to a software application that has been downloaded to an electronic device (e.g., device 100, 300, and / or 500) and is ready to be launched (e.g., become open) on the device. In some embodiments, a downloaded application becomes an installed application using an installer that extracts program portions from the downloaded software package and integrates the extracted portions with the computer system's operating system.

[0218] As used herein, the term "open application" or "executing application" refers to a software application that has persisted state information (e.g., as part of device / global internal state 157 and / or application internal state 192). An open or executing application is optionally any of the following types of applications:

[0219] The active app currently displayed on the display of the device on which the app is being used;

[0220] Background applications (or background processes), which are not currently displayed but for which one or more processes are being processed by one or more processors; and

[0221] • A suspended or dormant application that is not running but has state information stored in memory (volatile and non-volatile, respectively) and can be used to resume execution of the application.

[0222] As used herein, the term "closed application" refers to a software application that does not retain state information (e.g., the state information of a closed application is not stored in the device's memory). Therefore, closing an application includes stopping and / or removing the application's application process and removing the application's state information from the device's memory. Generally speaking, when in a first application, opening a second application does not close the first application. When the second application is displayed and the first application stops displaying, the first application becomes a background application.

[0223] Attention is now turned to an embodiment of a user interface ("UI") and associated processes implemented on an electronic device, such as portable multifunction device 100, device 300, or device 500.

[0224] 6A to 6O Exemplary user interfaces illustrating techniques for moving an insertion marker are shown according to some embodiments. In some examples, the insertion marker indicates where additional content (if received) will be inserted. In other examples, the insertion marker is any visual indicator on the user interface (e.g., a cursor or other user interface object that can be moved via user input). The user interfaces in these figures are used to illustrate the processes described below, including 7A to 7B in the process.

[0225] Figure 6A Electronic device 600 is shown displaying a user interface 604 via a touch-sensitive display device 602 at a first time. In some examples, electronic device 600 includes one or more features of device 100, 300, or 500.

[0226] User interface 604 is shown as corresponding to a memo application for inputting and viewing content.In some examples, the techniques described herein are implemented using other user interfaces (e.g., any user interface that displays content).

[0227] User interface 604 includes word 606 (e.g., "HELLO WORLD") and insertion mark 608. In some examples, word 606 is entered by a user using electronic device 600. For example, the user types characters included in word 606 to cause word 606 to be displayed in user interface 604. In other examples, such as when word 606 is included in a document being viewed on electronic device 600, word 606 is provided in a different manner.

[0228] like Figure 6A As shown, electronic device 600 receives user input 610 corresponding to insertion marker 608. In one example, user input 610 is detected via touch-sensitive display device 602 as a finger press at a location corresponding to insertion marker 608. In some examples, user input 610 is another form of user input including, for example, pressing a button on a pointing device such as a mouse.

[0229] In some examples, user input 610 corresponds to selection of insertion marker 608. In such embodiments, electronic device 600 determines that user input 610 corresponds to selection of insertion marker 608 by detecting that user input 610 (sometimes referred to as a hold gesture) is held at a location on touch-sensitive display device 602 corresponding to insertion marker 608 for an amount of time that exceeds a threshold.

[0230] In response to detecting user input 610, insertion marker 608 is selected and can be moved on touch-sensitive display device 602 by moving user input 610. In some examples, moving user input 610 in different directions can result in different results (e.g., horizontal movement causes insertion marker 608 to remain within the area determined to be user input 610 until a vertical movement exceeding a threshold is received, and vertical movement exceeding the threshold causes insertion marker 608 to move outside the area determined to be user input 610), as discussed further below.

[0231] Figure 6B The electronic device 600 is shown displaying a user interface 604 via a touch-sensitive display device 602 at a second time subsequent to the first time. Figure 6B In the example, user input 610 has been compared to user input 610 in Figure 6A608 is displayed in the area corresponding to user input 610. In some examples, insertion mark 608 is not displayed when user input 610 is detected (e.g., because it is not necessary to display insertion mark 608 because the user's finger will cover the location where insertion mark 608 would be displayed). Although only shown as moving to the right, in some examples, insertion mark 608 will remain in the area corresponding to user input 610 when user input 610 moves to the left and when the upward or downward movement is below a threshold.

[0232] Figure 6C The electronic device 600 is shown displaying a user interface 604 via the touch-sensitive display device 602 at a third time after the second time. Figure 6C In the example, user input 610 has been compared to user input 610 in Figure 6B 608 is moved vertically (e.g., in an upward direction) to its position in word 606. By such movement, insertion mark 608 is maintained at its position in word 606 (e.g., between the character "R" and the character "L"). Such functionality may be referred to as line stickiness, meaning that when the user input has moved below a threshold distance (in some examples, a non-zero threshold distance) in the vertical direction, insertion mark 608 remains displayed on the line of text. In some examples, horizontal movement of insertion mark 608 is combined with vertical movement below the threshold distance such that insertion mark 608 moves horizontally according to the horizontal movement.

[0233] Figure 6D The electronic device 600 is shown displaying a user interface 604 via the touch-sensitive display device 602 at a fourth time after the third time. Figure 6D , insertion mark 608 has been moved outside the area determined to correspond to user input 610, to a position adjacent to (e.g., above) the area determined to correspond to user input 610. In some examples, the area determined to correspond to user input 610 is determined based on a distance from a center point of user input 610.

[0234] When shown as being above the area determined to correspond to the user input 610, in some examples, the insertion mark 608 is displayed in a location other than the area determined to correspond to the user input 610. In some examples, the insertion mark 608 is animated from Figure 6C The position shown to Figure 6D The location shown (e.g., the insertion mark 608 is shown in FIG. Figure 6C The positions shown and Figure 6D In other examples, the insertion marker 608 is displayed at one or more locations between the locations shown. Figure 6CAt the position shown, and then immediately displayed Figure 6D At the location shown (e.g., the insertion mark 608 is not shown Figure 6C The location shown and Figure 6D positions between the positions shown).

[0235] like Figure 6D As shown, the insertion mark 608 is no longer displayed in the line of text, but is displayed at a location relative to the user input 610. This allows the user to control where the insertion mark 608 is placed when the user input 610 is released.

[0236] Figure 6E The electronic device 600 is shown displaying the user interface 604 via the touch-sensitive display device 602 at a fifth time after the fourth time. Figure 6E In the example, user input 610 has been compared to Figure 6D The position shown moves vertically (e.g., downward) and horizontally (e.g., to the right). At a fifth time, insertion marker 608 remains above the area determined to correspond to user input 610. This illustrates that once insertion marker 608 has moved outside of the area determined to correspond to user input 610, insertion marker 608 remains in position relative to the area determined to correspond to user input 610 until user input 610 is lifted. For example, horizontal or vertical movement of user input 610 will cause insertion marker 608 to remain outside of the area determined to correspond to user input 610, rather than moving within the area determined to correspond to user input 610 (e.g., Figures 6A to 6B shown).

[0237] Figure 6E Also shown, in some examples, when the insertion marker 608 is more than a threshold distance away from the content in the user interface 604, a second insertion marker 612 is displayed. In some examples, the second insertion marker 612 is displayed at the closest point in the content (e.g., Figure 6E A second insertion mark 612 is shown following the character "D").

[0238] In another illustrative example, if the insertion mark 608 is vertically aligned, for example, between the characters "R" and "L" (e.g., Figure 6D ), and the distance from the characters “R” and “L” exceeds the threshold distance, the second insertion mark 612 will be between the characters “R” and “L”.

[0239] Figure 6F The electronic device 600 is shown displaying the user interface 604 via the touch-sensitive display device 602 at a sixth time after the fifth time. Figure 6F In the example, user input 610 has been compared to Figure 6EThe illustrated position moves horizontally (eg, to the left). At a sixth time, insertion marker 608 remains over the area determined to correspond to user input 610.

[0240] Figure 6F It is also shown that in some examples, when the insertion mark 608 is less than a threshold distance away from the content in the user interface 604, the second insertion mark 612 is no longer displayed (for example, the second insertion mark 612 is displayed in the Figure 6E In but not in Figure 6F It should be recognized that the technology described herein may not include Figure 6E and 6F The functionality of the second insertion mark 612 is described (eg, the second insertion mark will never be displayed regardless of the distance from the content).

[0241] Figure 6G The electronic device 600 is shown displaying the user interface 604 via the touch-sensitive display device 602 at a seventh time after the sixth time. Figure 6G In FIG, no user input is shown (e.g., user input 610 has been lifted off the touch-sensitive display device 602). The lifting of user input 610 causes the insertion mark 608 to remain at the position where the insertion mark was when the lifting occurred between characters. For example, Figure 6F In , the insertion mark 608 is shown after the character "D" in word 606. Then, in Figure 6G , the insertion mark 608 is shown as remaining after the character “D” in word 606 .

[0242] In some examples, when the user input (moving the insertion mark) is lifted, the insertion mark (e.g., insertion mark 608) may not be located between characters. In such examples, the insertion mark is inserted into the content at the location in the content closest to the insertion mark when the user input is lifted. Similar results occur when the insertion mark is not precisely positioned between two characters (e.g., the insertion mark may be slightly up, slightly down, or closer to one character than another).

[0243] Figure 6H The electronic device 600 is shown displaying the user interface 604 via the touch-sensitive display device 602 at an eighth time after the seventh time. Figure 6H , electronic device 600 receives user input 614 corresponding to selecting insertion marker 608. Similar to the above, user input 614 is, in some examples, a hold gesture. Also as discussed above, user input 614 can move laterally (e.g., left or right) while holding insertion marker 608 at a location corresponding to the area determined as user input 614.

[0244] Figure 6IThe electronic device 600 is shown displaying the user interface 604 via the touch-sensitive display device 602 at a ninth time after the eighth time. Figure 6I In the example, user input 614 has been compared to user input 614 in Figure 6H The position in which the Figure 6C By moving the insertion mark 608 in the vertical direction, the insertion mark 608 is kept in the position after the character "D" in the word 606. This functionality may be referred to as line stickiness, meaning that when the user input 614 has moved below a threshold distance (in some examples, a non-zero threshold distance) in the vertical direction, the insertion mark 608 remains displayed on the line of text.

[0245] Figure 6J The electronic device 600 is shown displaying the user interface 604 via the touch-sensitive display device 602 at a tenth time after the ninth time. Figure 6J , the insertion mark 608 is located outside the area determined to correspond to the user input 614, at a position adjacent to the area determined to correspond to the user input 614 (e.g., above the area determined to correspond to the user input 614). Figure 6D The situations discussed are different. Figure 6I A situation is shown in which insertion marker 608 is positioned over the area determined to correspond to user input 614 without having to move insertion marker 608. Such functionality is achieved due to user input 614 moving in a downward direction, thereby displaying insertion marker 608 at a position adjacent to above the area determined to correspond to user input 614. After insertion marker 608 is positioned adjacent to above the area determined to correspond to user input 614, insertion marker 608 is maintained at a position adjacent to above the area determined to correspond to user input 614.

[0246] In some examples, if insertion marker 608 remains at a different location adjacent to the area determined to correspond to user input 614, similar functionality as described above occurs (once the insertion marker is at the held location relative to the user input, the insertion marker remains at the held location as the user input moves). For example, if insertion marker 608 remains at a location adjacent to below the area determined to correspond to user input 614 (rather than adjacent to above), then insertion marker 608 is moved to a location adjacent to below the area determined to correspond to user input 614 when user input 614 is in a downward direction (similar to the functionality described above in Figure 6D ), and maintains the insertion marker at a position adjacent to and below the area determined to correspond to the user input 614 when the user input 614 is in an upward direction (similar to as described above in Figure 6I discussed in ).

[0247] Figures 6K to 6M The electronic device 600 is shown displaying the user interface 604 via the touch-sensitive display device 602 at an eleventh time after the tenth time. Figures 6J to 6M , an animation is shown when the movement of the user input 614 does not exceed the speed threshold, causing the insertion mark 608 to be displayed so that it appears as if the insertion mark 608 is moving (e.g., jumping) sequentially between characters to reach the position corresponding to the user input 614. For example, Figure 6J The user input 614 is shown at a first position, with the insertion mark 608 located directly above the area determined to correspond to the user input 614. Figure 6J , the insertion mark 608 is shown after the character “D” in word 606 .

[0248] Figure 6K The user input 614 is shown at a second position after moving at a speed less than the speed threshold. Figure 6K As shown, the insertion marker 608 has not maintained the same distance from the user input 614 (e.g., the distance between the insertion marker 608 and the user input 614 has increased). Figure 6K Insertion marker 608 is shown maintaining its position after the character "D" in word 606.

[0249] Figure 6L shows the display corresponding to the Figure 6K At the position three characters to the left of (e.g., at the position where the insertion mark 608 is Figure 6K and the position corresponding to the user input 614). Specifically, Figure 6L , the insertion mark 608 is located between the characters “O” and “W” in the word 606 .

[0250] Then, Figure 6M The display is shown directly adjacent to the user input 614 (e.g., Figure 6K Before the movement of the user input 614 is shown, keep Figure 6J In some examples, the insertion marker 608 iterates through one character or a plurality of characters other than three characters (e.g., a word, a fixed number of characters, a percentage of characters included between a start position and an end position, etc.) instead of iterating through three characters. In some examples, when the movement of the user input 614 exceeds a speed threshold, the insertion marker 608 is displayed at a position that maintains the distance between the insertion marker 608 and the user input 614, so that it appears to the user that the insertion marker 608 is maintained by the user input 614 and does not iterate between characters.

[0251] Figure 6N The electronic device 600 is shown displaying the user interface 604 via the touch-sensitive display device 602 at a twelfth time after the eleventh time. Figure 6N , the user input 614 has been lifted off the touch-sensitive display device 602. The lifting of the user input 614 causes the insertion mark 608 to remain at the position where the insertion mark was when the lifting occurred between the characters. Figure 6M In the example, the insertion mark 608 is shown between the characters "L" and "L" in the word 606. Then, in Figure 6N , the insertion mark 608 is shown as being held between the characters “L” and “L” in word 606 .

[0252] Figure 6N Also shown is electronic device 600 receiving user input 616 corresponding to a location (e.g., a location other than where insertion marker 608 is located) that does not correspond to insertion marker 608. User input 616 includes a rightward movement relative to the initial location of user input 616. In one example, user input 616 is detected via touch-sensitive display device 602 as a finger swipe across touch-sensitive display device 602. In some examples, user input 616 can be other forms of user input, including, for example, pressing a button on a pointing device (such as a mouse) and moving the pointing device. User input 616 causes a scrolling operation to be performed, such as Figure 6O shown.

[0253] Figure 6O The electronic device 600 is shown displaying the user interface 604 via the touch-sensitive display device 602 at a thirteenth time after the twelfth time. Figure 6O 6, the content displayed in user interface 604 has been shifted to the right (e.g., scrolled or moved). Such functions are performed because user input is initiated at a location that does not correspond to insertion mark 608. In some examples, the user input must be initiated at a location within the content that is shifted by such functions (e.g., not on a displayed keyboard or other content). In some examples, when user interface 604 is shifted, the insertion mark remains between the character "L" and the character "L" in word 606.

[0254] 6A to 6O No overlay (eg, a magnification overlay positioned adjacent to the area determined to be user input having a magnified view of the content beneath the user input) is shown for displaying the content beneath the user input.

[0255] 7A to 7BA flowchart of a method for moving an insertion marker using an electronic device according to some embodiments is shown. Method 700 is performed at a device (e.g., 100, 300, 500, 600) (e.g., a mobile device) having a touch-sensitive display device. Some operations in method 700 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

[0256] In some embodiments, the electronic device (e.g., 600) includes a computer system. The computer system optionally communicates (e.g., wired communication, wireless communication) with a display generation component and one or more input devices. The display generation component is configured to provide visual output, such as display via a CRT display, display via an LED display, or display via image projection. In some embodiments, the display generation component is integrated with the computer system. In some embodiments, the display generation component is separated from the computer system. One or more input devices are configured to receive input, such as a touch-sensitive surface that receives user input. In some embodiments, one or more input devices are integrated with the computer system. In some embodiments, one or more input devices are separated from the computer system. Therefore, the computer system can send data (e.g., image data or video data) to an integrated or external display generation component via a wired or wireless connection to visually generate content (e.g., using a display device), and can receive input from one or more input devices via a wired or wireless connection.

[0257] As described below, method 700 provides an intuitive way to move the insertion marker. The method reduces the cognitive burden on the user when moving the insertion marker, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to move the insertion marker faster and more efficiently saves power and increases the time between battery charges.

[0258] The electronic device positions a first indicator on the touch-sensitive display device via the touch-sensitive display device (eg, 608, as shown in FIG. Figure 6A A focus indicator (eg, a cursor or text insertion mark) is displayed (702) at .

[0259] When the focus indicator is displayed at the first indicator position, the electronic device detects (704) a touch gesture corresponding to the focus indicator (e.g., a hold gesture on the focus indicator) at a first touch position (e.g., the same as or near the first indicator position) (e.g., 610, as shown in FIG. Figure 6A shown).

[0260] While continuing to detect the touch gesture on the touch-sensitive display device, the electronic device detects (706) the touch gesture to a second touch location (e.g., at a location different from the first touch location) that is different from the first touch location. Figure 6B 、 Figure 6C or Figure 6D position in the movement.

[0261] In response to detecting (708) movement of the touch gesture to the second touch location, based on determining that the second touch location is in a first direction (e.g., horizontal direction) relative to the first touch location, the electronic device (e.g., while displaying an animation of the indicator moving) moves (710) (e.g., repositions) the focus indicator to a second indicator location that has a first spatial relationship to the second touch location (e.g., the second indicator location is at the second touch location) (e.g., Figure 6B ); the second indicator position is a predetermined distance from the second touch position (and is in a predetermined direction with respect to the second touch position).

[0262] In response to detecting (708) movement of the touch gesture to the second touch location, based on determining that the second touch location is in a second direction (e.g., different from the first direction, such as an upward direction) relative to the first touch location, the electronic device moves (712) the focus indicator to a third indicator location (e.g., different from the first direction, such as an upward direction) that has a second spatial relationship to the second touch location. Figure 6D ), the second spatial relationship is different from the first spatial relationship.

[0263] When the focus indicator is in the fourth indicator position (eg, the second indicator position or the third indicator position) ( Figure 6F ), the electronic device detects (714) the lift-off of the touch gesture.

[0264] In response to detecting the lift-off, the electronic device maintains (716) displaying the focus indicator (eg, Figure 6G ).

[0265] Selectively moving the focus indicator based on the direction of the gesture relative to the first touch location allows the user to intuitively and efficiently control how the focus indicator moves. Allowing the user to move the focus indicator in this manner reduces the number of inputs and the amount of time required for the user to operate the electronic device (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device.

[0266] In some embodiments, the touch-sensitive display has an upper edge and a lower edge (722). In some embodiments, in response to detecting (718) movement of the touch gesture to the second touch location, based on determining that the second touch location is in a third direction (e.g., the first direction; a direction toward the upper edge of the display; an upward direction) relative to the first touch location, the electronic device moves (720) (e.g., repositions) the focus indicator along the third direction (e.g., without displaying an animation of the indicator movement) to a fourth indicator location that is closer to the upper edge of the touch-sensitive display than the second touch location (e.g., moving the focus indicator along the third direction) by a first predetermined distance (e.g., a distance less than the first touch location). Figures 6B to 6D ). In some embodiments, the focus indicator moves along the vertical axis to a position closer to the top edge than the second touch position of the touch gesture. In some embodiments, the movement of the focus indicator occurs with an animation of the indicator transitioning from the first indicator position to the third indicator position (e.g., the indicator jumps directly to the third position).

[0267] In some embodiments, the touch-sensitive display has an upper edge and a lower edge. In some embodiments, in response to detecting movement of a touch gesture to a second touch location, based on determining that the second touch location is in a fourth direction (e.g., the first direction; a direction substantially opposite to the third direction; a direction toward the lower edge of the display; a downward direction) relative to the first touch location, the fourth direction being toward (e.g., directly toward; along an axis perpendicular to the upper edge of the display) the lower edge of the touch-sensitive display, and based on determining that the second touch location is farther from the first touch location than a second predetermined distance (e.g., a distance substantially equal to the diameter of the contact area), the electronic device moves (e.g., repositions) the focus indicator to a fifth indicator location (e.g., without displaying an animation of the indicator moving) that is along an axis perpendicular to the upper edge of the touch-sensitive display and closer to the upper edge than the second touch location by a third predetermined distance (e.g., the first predetermined distance) (e.g., Figures 6H to 6J ). In some embodiments, in response to detecting movement of a touch gesture to a second touch position, based on determining that the second touch position is in a fourth direction, and based on determining that the second touch position is less than a second predetermined distance from the first touch position, the electronic device moves (e.g., repositions) the focus indicator along the fourth direction to a sixth indicator position (e.g., without displaying an animation of the indicator movement), which is closer to the upper edge than the second touch position by a distance less than the third predetermined distance (e.g., the sixth indicator position is substantially the same as the second touch position).

[0268] In some embodiments, when the focus indicator is displayed at the third indicator position, the electronic device detects movement of the touch gesture along a fifth direction parallel to the upper edge of the touch-sensitive display (e.g., horizontal direction; left or right) to the third touch position. In some embodiments, in response to detecting movement of the touch gesture to the third touch position, the electronic device moves the focus indicator along the fifth direction to a seventh indicator position (e.g., a position along the same axis parallel to the upper edge of the display as the third indicator position), which is closer to the upper edge of the touch-sensitive display than the third touch position by a first predetermined distance (e.g., Figures 6E to 6F ).

[0269] In some embodiments, the touch-sensitive display has an upper edge and a lower edge. In some embodiments, the first direction is parallel to the upper edge of the touch-sensitive display (e.g., horizontally; to the left or to the right). In some embodiments, the first spatial relationship includes a distance from the second touch position that is a first distance (e.g., a distance that is substantially zero; a fourth predetermined distance). In some embodiments, when the focus indicator is displayed at the second indicator position, the electronic device detects movement of the touch gesture along a sixth direction (e.g., horizontally; to the left or to the right) to a fourth touch position, the sixth direction being along an axis that is perpendicular to the upper edge of the touch-sensitive display. In some embodiments, in response to detecting movement of the touch gesture to the fourth touch position, the electronic device moves the focus indicator along the sixth direction to an eighth indicator position (e.g., a position along the same axis as the third indicator position that is parallel to the upper edge of the display; a position that is closer to the upper edge of the display than the fourth touch position), the eighth indicator position being at a distance from the fourth touch position that is greater than the first distance (e.g., a fifth predetermined distance) (e.g., Figures 6M to 6N ).

[0270] In some embodiments, based on determining that the movement of the touch gesture to the second touch location has a first speed and a first movement distance, the distance between the second indicator location and the second touch location is a fourth predetermined distance; and based on determining that the movement of the touch gesture to the second touch location has a second speed less than the first speed and the first movement distance (for example, the gesture moves the same distance but at a slower speed), the distance between the second indicator location and the second touch location is a fifth predetermined distance, and the fifth predetermined distance is greater than the fourth predetermined distance. In some embodiments, when the movement speed of the gesture is slower, the spatial separation between the position of the moving indicator and the touch location is greater than the spatial separation when the movement speed of the gesture is faster (for example, Figures 6J to 6M ).

[0271] Moving the focus indicator based on the speed and distance of a gesture allows the user to intuitively and efficiently control how the focus indicator moves. For example, a gesture with a relatively high speed may move the focus indicator a greater distance than a gesture with a relatively low speed. Allowing the user to move the focus indicator in this manner reduces the amount of input and time required for the user to operate the electronic device (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device.

[0272] In some embodiments, the electronic device displays first text content (e.g., a body of text; a paragraph of text; a structured text document) as part of displaying a focus indicator at a first indicator position (e.g., a positional focus indicator (e.g., a ghost indicator) that follows the movement of a touch gesture. In some embodiments, the first indicator position corresponds to a first text insertion position at a first text insertion position in the first text content (e.g., a logical position (always visually indistinguishable) between two characters of the first text where the newly entered text will be inserted into the first text content) (in some embodiments, at certain points in time, the first indicator position is at the first text insertion position. In some embodiments, at other points in time, the first indicator position is not at the first text insertion position). In some embodiments, in response to detecting movement of the touch gesture to a second touch position, the focus indicator is moved to the second indicator position. In some embodiments, In response to detecting movement of the touch gesture to the second touch position, the electronic device moves the first text insertion position from the first text insertion position to the second text insertion position (e.g., changing the position where the new input text will be entered in the first text content). In some embodiments, in response to detecting movement of the touch gesture to the second touch position, based on determining that the second indicator position is separated from the second text insertion position by more than a fifth predetermined distance, the electronic device displays a visual indication of the text insertion position at the second text insertion position (e.g., 612) (e.g., in addition to displaying a focus indicator at the second indicator position). In some embodiments, in response to detecting movement of the touch gesture to the second touch position, based on determining that the second indicator position is separated from the second text insertion position by less than a fifth predetermined distance, the electronic device forgoes displaying a visual indication of the text insertion position at the second text insertion position (e.g., the text insertion position is not visible / visually indistinguishable) (e.g., Figure 6E ).

[0273] In some embodiments, the electronic device displays content via a touch-sensitive display device. In some embodiments, the electronic device detects a second touch gesture (e.g., 616) that begins at the fifth touch location (e.g., before the touch gesture is detected; after the touch gesture is detected), and the second touch gesture includes a moving component. In some embodiments, in response to detecting the second touch gesture, based on determining that the fifth touch location does not correspond to the focus indicator, the electronic device scrolls the content (e.g., Figure 6O ). In some embodiments, in response to detecting the second touch gesture, based on determining that the fifth touch position does not correspond to the focus indicator, the electronic device abandons scrolling the content. In some embodiments, according to the methods discussed herein, the second gesture causes the focus indicator to move without scrolling the content.

[0274] In some embodiments, the distance between the third indicator position and the second touch position is greater than the distance between the second indicator position and the second touch position (e.g., Figures 6M to 6N ).

[0275] In some embodiments, the touch-sensitive display has a top edge and a bottom edge, where the third indicator position is closer to the top edge of the touch-sensitive display than the second touch position.

[0276] Note that the above reference method 700 (e.g., 7A to 7B ) also apply in a similar manner to the methods described below. For example, method 700 optionally includes one or more of the features of the various methods described below with reference to method 900. For example, before selecting a word according to method 900, the insertion mark can be moved according to method 700. For example, method 700 optionally includes one or more of the features of the various methods described below with reference to method 1100. For example, before selecting a word according to method 1100, the insertion mark can be moved according to method 700. For example, method 700 optionally includes one or more of the features of the various methods described below with reference to method 1300. For example, before deleting a paragraph according to method 1300, the insertion mark can be moved according to method 700. For the sake of brevity, these details are not repeated below.

[0277] Figures 8A to 8K An exemplary user interface illustrating techniques for selecting content according to some embodiments is shown. The user interfaces in these figures are used to illustrate the processes described below, including Figures 9A to 9B in the process.

[0278] Figure 8AThe electronic device 600 is shown displaying a user interface 804 via a touch-sensitive display device 602 at a first time. Similar to the user interface 604, the user interface 804 corresponds to a memo application for inputting and viewing content. In some examples, the techniques described herein are implemented using different user interfaces (e.g., any user interface that displays content).

[0279] User interface 804 includes word 806 (e.g., "HELLO WORLD HELLO WORLD"). In some examples, word 806 is entered by a user using electronic device 600. For example, the user may type characters included in word 806 to cause word 806 to be displayed in user interface 804. In other examples, such as when word 806 is included in a document being viewed on electronic device 600, word 806 is provided in a different manner.

[0280] like Figure 8A As shown, electronic device 600 receives user input 808 corresponding to word 806b (e.g., "WORLD"). In one example, user input 808 is detected via touch-sensitive display device 602 as a finger gesture (e.g., a double-click gesture or a hold gesture) at a location on touch-sensitive display device 602 corresponding to word 806b. In some examples, a double-click gesture is required when a first criterion is met (e.g., in editable mode, where the user can add and remove content), and a hold gesture is required when a second criterion is met (e.g., in reading mode, where the user can view but not add / remove content). In some examples, user input 808 is another form of user input, including, for example, pressing a button on a pointing device such as a mouse.

[0281] In some examples, user input 808 corresponds to selecting word 806b. In such embodiments, electronic device 600 determines that user input 808 corresponds to selecting word 806b by detecting that user input 808 includes multiple user inputs (e.g., 2) at locations on touch-sensitive display device 602 corresponding to word 806b (sometimes referred to as double taps that are held after a second tap) or a single user input that is held at that location for an amount of time exceeding a threshold (sometimes referred to as a hold gesture). In response to detecting user input 808, word 806b is selected, as shown in FIG. Figure 8D As shown and discussed further below.

[0282] Figures 8B to 8D The electronic device 600 is shown displaying the user interface 804 via the touch-sensitive display device 602 at a second time subsequent to the first time. Figures 8B to 8D, an animation is shown that is performed in response to detecting user input 808 so that word 806b appears to be selected. The animation begins with the selection area at an initial size (e.g., selection area 810) and continues until the selection area is at a final size that is smaller than the initial size. For example, Figure 8B Selection area 810 is shown at a first size that is larger than the area determined to be user input 808 so that selection area 810 can be easily seen around user input 808. In some examples, selection area 810 initially includes content (not shown) that will not be included when the animation is complete. In some examples, the area within selection area 810 is visually distinct from other areas (e.g., having a different color or pattern).

[0283] Figure 8B Also shown is a start indicator 812 at a first side of selection area 810 and an end indicator 814 at a second side of selection area 810, the second side being opposite the first side. Start indicator 812 and end indicator 814 indicate the beginning and end (respectively) of selection area 810 and provide visual indications that a user can touch to modify the size of selection area 810 and the selected content.

[0284] Figure 8C and Figure 8D The selection area 810 is shown contracted to a second size (in Figure 8C , smaller than the first size), and then shrinks to the third size (in Figure 8D in, smaller than the second size). Figure 8C and Figure 8D Also shown are a start indicator 812 and an end indicator 814. Figure 8B Dimensions shown are shrunk to Figure 8D In some examples, the start indicator 812 and the end indicator 814 are Figure 8D The sizes shown start (when the selection area 810 is the first size (such as Figure 8B shown) or a third dimension (as Figure 8D In some examples, although Figures 8B to 8D The user input 808 is shown being held throughout the animation, but the user input 808 is released (eg, lifted off or ended) before the animation begins, near the time the animation begins, or sometime after the animation begins.

[0285] Figure 8E The electronic device 600 is shown displaying the user interface 804 via the touch-sensitive display device 602 at a third time after the second time. Figure 8E In the example, user input 808 has been compared to user input 808 in Figures 8A to 8DBy such movement, the electronic device 600 switches to a highlighter mode, in which the position of the user input 808 determines the selected content. Figure 8E 806c, user input 808 has moved to a position between the character "E" and the character "L" in word 806c, such that word 806b and the characters "H" and "E" of word 806c are indicated as selected (e.g., selection area 810 encompasses such characters). As additional characters are selected to the right, start indicator 812 remains stationary while end indicator 814 moves with user input 808 to visually indicate the position of user input 808 indicating that the user is dragging end indicator 814. In some examples, as additional characters are selected to the left, end indicator 814 remains stationary while start indicator 812 moves with user input 808 to visually indicate the position of user input 808 indicating that the user is dragging start indicator 812.

[0286] In some examples, the switch to highlighter mode occurs when user input 808 passes an indicator, such as start indicator 812 or end indicator 814. In other examples, the switch to highlighter mode occurs when user input 808 moves beyond a highlighter threshold, such as a distance that is a non-zero amount from the starting location of user input 808.

[0287] Figure 8F The electronic device 600 is shown displaying the user interface 804 via the touch-sensitive display device 602 at a fourth time after the third time. From the first time to the fourth time, the user input 808 has remained in contact with the touch-sensitive display device 602 (e.g., the electronic device 600 has not detected a lift-off of the user input 808) (sometimes referred to as a single gesture). Figure 8F In the example, user input 808 has been compared to user input 808 in Figure 8E Specifically, user input 808 has moved to a position between the characters "O" in word 806c and "W" in word 806d, such that word 806b and word 806c are indicated as being selected (e.g., selection area 810 encompasses such characters).

[0288] In some examples, when user input 808 is in Figure 8EAs the position in which user input 808 is moved horizontally to the left, the selection continues to decrease until either a character is selected (e.g., the character "W" in word 806b), no characters are selected (e.g., start indicator 812 and end indicator 814 overlap), or a character to the left of start indicator 812 is selected, where start indicator 812 is considered to be the end of the selected text (e.g., if user input 808 is moved before the character "H" in word 806a, word 806a will be indicated as selected (e.g., selection area 810 covers the characters of word 806a).

[0289] Figure 8G The electronic device 600 is shown displaying the user interface 804 via the touch-sensitive display device 602 at a fifth time after the fourth time. In Figure 8, no user input is shown (eg, the user input 808 has been lifted off the touch-sensitive display device 602).

[0290] like Figure 8G As shown, lifting of user input 808 causes selection area 810, start indicator 812, and end indicator 814 to remain in the positions they were in at the time of lift-off (e.g., as shown in FIG. Figure 8F For example, in Figure 8F : The start indicator 812 is located before the character "W" in word 806b, the end indicator 814 is located after the character "O" in word 806c, and the selection area 810 extends from the start indicator 812 to the end indicator 814 (covering the characters in both word 806b and word 806c). Figure 8G Middle: The start indicator 812 is shown as remaining before the character "W" in word 806b, the end indicator 814 is shown as remaining after the character "O" in word 806c, and the selection area 810 is shown as remaining from the start indicator 812 to the end indicator 814 (covering characters in both word 806b and word 806c).

[0291] Figure 8G Also shown is user interface 804 including command area display 816 adjacent to selection area 810. In some examples, command area display 816 is displayed in response to detecting a lift-off of user input 808 (e.g., when a lift-off has occurred while at least one character is indicated as selected).

[0292] The command area display 816 includes a plurality of affordances, each affordance corresponding to a different operation to be performed on the currently selected character. Figure 8G In some examples, the command area display 816 includes a copy enable representation 816a, a search enable representation 816b, and a share enable representation 816c. Figure 8GMore, fewer, and / or different affordances are shown.

[0293] Copy-enabled representation 816a, when selected (e.g., electronic device 600 receives user input corresponding to copy-enabled representation 816a), causes the currently selected character (e.g., Figure 8G In one example, search affordance 816b, when selected (e.g., electronic device 600 receives user input corresponding to search affordance 816b), causes a search engine to be used to search for the currently selected characters (e.g., "WORLD HELLO") so that the currently selected characters can be later pasted (e.g., inserted) at a location identified by the user. Figure 8G The shared affordance 816c, when selected (e.g., the electronic device 600 receives user input corresponding to the shared affordance 816c), causes the currently selected character (e.g., Figure 8G "WORLD HELLO") is shown inserted into messages to be sent to different devices.

[0294] Figure 8H The electronic device 600 is shown displaying the user interface 804 via the touch-sensitive display device 602 at a sixth time after the fifth time. Figure 8H As shown, electronic device 600 receives user input 818 corresponding to end indicator 814. In one example, user input 818 is detected via touch-sensitive display device 602 as a finger press at a location on touch-sensitive display device 602 corresponding to end indicator 814. In some examples, user input 818 is another form of user input including, for example, pressing a button on a pointing device such as a mouse.

[0295] In some examples, the user input 818 corresponds to selecting the end indicator 814. In such embodiments, the electronic device 600 determines that the user input 818 corresponds to selecting the end indicator 814 by detecting that the user input 818 (sometimes referred to as a hold gesture) is held at a location on the touch-sensitive display device 602 corresponding to the end indicator 814 for an amount of time exceeding a threshold. In response to detecting the user input 818, the end indicator 814 is selected and can be moved to change the selected content, such as Figure 8I shown.

[0296] Figure 8I The electronic device 600 is shown displaying the user interface 804 via the touch-sensitive display device 602 at a seventh time after the sixth time. Figure 8I , user input 818 has been compared to user input 818 in Figure 8HBy such movement, the selection area 810 is modified to show different content being selected. For example, Figure 8I 806c). As different characters are selected by moving user input 818, start indicator 812 remains stationary while end indicator 814 moves based on user input 818 to visually indicate the location of user input 818 indicating that the user is dragging end indicator 814. Figure 8I As shown, it can be similar to the above for Figure 8E Move end indicator 814 is performed as described. Figures 8J to 8K Similar functionality is shown as when the start indicator 812 is selected.

[0297] In some examples, different simultaneous user inputs cause a selection mode to be activated, wherein the selection mode causes content to be selected using movement. For example, a first user input may correspond to activating a key (on a physical keyboard) or an affordance (in a virtual keyboard), and a second user input may correspond to moving a cursor (e.g., using a mouse or using multiple fingers on a trackpad) so that content is selected based on the movement. In such examples, the key or affordance is the functional input that turns on the selection mode. In one example, the user input includes pressing a shift key that allows a cursor to be moved to select content. It should be appreciated that other keys or affordances may be used as functional inputs.

[0298] Figures 9A to 9B A flowchart of a method for selecting content using an electronic device according to some embodiments is shown. Method 900 is performed at a device (e.g., 100, 300, 500, 600) (e.g., a mobile device) having a touch-sensitive display device. Some operations in method 900 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

[0299] In some embodiments, the electronic device (e.g., 600) includes a computer system. The computer system optionally communicates (e.g., wired communication, wireless communication) with a display generation component and one or more input devices. The display generation component is configured to provide visual output, such as display via a CRT display, display via an LED display, or display via image projection. In some embodiments, the display generation component is integrated with the computer system. In some embodiments, the display generation component is separated from the computer system. One or more input devices are configured to receive input, such as a touch-sensitive surface that receives user input. In some embodiments, one or more input devices are integrated with the computer system. In some embodiments, one or more input devices are separated from the computer system. Therefore, the computer system can send data (e.g., image data or video data) to an integrated or external display generation component via a wired or wireless connection to visually generate content (e.g., using a display device), and can receive input from one or more input devices via a wired or wireless connection.

[0300] As described below, method 900 provides an intuitive way to select content. This method reduces the cognitive burden on users when selecting content, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to select content faster and more efficiently conserves power and increases the time between battery charges.

[0301] The electronic device displays (902) content (eg, a text document) including multiple groups of characters (eg, multiple words) via a touch-sensitive display device (eg, 806).

[0302] When displaying multiple groups of characters, the electronic device detects (904) a touch gesture (e.g., 808) (e.g., a hold gesture) at a first position corresponding to a group of characters (e.g., 806b) (e.g., a first word) in the multiple groups of characters.

[0303] In response to ( 906 ) detecting the touch gesture, the electronic device visually distinguishes ( 908 ) (eg, selects) the set of characters (eg, 810 ).

[0304] In response to (906) detecting the touch gesture, the electronic device displays (910) a first indicator (e.g., 812) at a first end (the start) of the group of characters (e.g., a start indicator such as a lollipop) and a second indicator (e.g., 814) at a second end (e.g., the end) of the group of characters (e.g., an end indicator such as a lollipop).

[0305] While continuing to detect the touch gesture on the display device, the electronic device detects (912) movement of the touch gesture (e.g., Figures 8E to 8F ).

[0306] In response to detecting the movement (914), the electronic device visually distinguishes (916) (e.g., selects) one or more additional characters from the plurality of groups of characters (e.g., while continuing to visually distinguish the group of characters). In some embodiments, the one or more additional characters are words, such that the movement causes the new word to be selected (e.g., 806c).

[0307] Selecting text according to a touch gesture in the described manner allows a user to intuitively and efficiently select text to subsequently perform one or more operations, for example, using affordances in a command display area. Thus, allowing a user to select text in this manner reduces the number of inputs and the amount of time required for a user to operate an electronic device (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device.

[0308] In response to detecting the movement (914), the electronic device moves (918) the second indicator to one end (e.g., the end) of the one or more additional characters based on one or more characteristics (e.g., direction, magnitude) of the movement (e.g., Figures 8E to 8F ).

[0309] In some embodiments, in response to detecting the movement, the electronic device abandons (920) the movement of the first indicator (e.g., maintains the first indicator at the first character in the group of characters) (e.g., Figures 8E to 8F ).

[0310] In some embodiments, a touch gesture has a portion (e.g., an initial portion) that includes maintaining a stationary contact for more than a predetermined time (e.g., Figures 8B to 8D ).

[0311] In some embodiments, the one or more additional characters include a first word and a second word different from the first word. In some embodiments, as part of visually distinguishing the one or more additional characters, the electronic device visually distinguishes the first word at a first time. In some embodiments, as part of visually distinguishing the one or more additional characters, the electronic device visually distinguishes the second word at a second time after the first time, wherein characters in the one or more additional characters are not visually distinguished between the first time and the second time (e.g., Figures 8E to 8F ).

[0312] Distinguishing the second word after distinguishing the first word without distinguishing one or more additional characters between the first and second times allows a user to select text at the word level in an intuitive and efficient manner. Selecting text in this manner can, for example, increase the accuracy of correctly selecting a particular word. Thus, allowing a user to select text in this manner reduces the number of inputs and the amount of time required for a user to operate an electronic device (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device.

[0313] In some embodiments, the electronic device visually distinguishing the set of characters includes selecting an animation of the representation that begins at a first size and ends at a second size that is smaller than the first size (e.g., Figures 8B to 8D ).

[0314] In some embodiments, the electronic device detects (922) a lift-off of the touch gesture. In some embodiments, in response to detecting the lift-off, the electronic device displays (924) a command display area (e.g., 816) adjacent to the visually distinguished content, wherein the command display area includes an affordance that, when selected, performs a first operation (e.g., cut, copy) on the visually distinguished content (e.g., 816a, 816b, 816c) (e.g., does not perform the first operation on content that is not the visually distinguished content).

[0315] In some embodiments, based on determining that the plurality of groups of characters are editable, the predetermined time is a first value. In some embodiments, based on determining that the plurality of groups of characters are non-editable, the predetermined time is a second value less than the first value.

[0316] In some embodiments, when the first indicator and the second indicator are displayed, the electronic device detects a second touch gesture (e.g., a hold gesture) at the second indicator. In some embodiments, when the first indicator and the second indicator are displayed, after the second touch gesture is detected at the second indicator, the electronic device detects movement of the second touch gesture. In some embodiments, when the first indicator and the second indicator are displayed, in response to detecting movement of the second touch gesture, the electronic device changes the number of visually distinguished characters in the multiple groups of characters (e.g., Figures 8H to 8I ).

[0317] In some embodiments, when one or more visually distinguished characters in the content are displayed, the electronic device receives a command to perform a second operation (e.g., copy or cut). In some embodiments, in response to receiving the command, the electronic device performs the operation on the one or more visually distinguished characters. In some embodiments, in response to receiving the command, the electronic device abandons performing the operation on the one or more characters in the content that are not visually distinguished (e.g., cut). Figure 8G ).

[0318] Note that the process described above with respect to method 900 (eg, Figures 9A to 9B ) may also apply in a similar manner to the methods described below and above. For example, method 900 optionally includes one or more of the features of the various methods described above with reference to method 700. For example, after selecting a word according to method 900, the finger input may be lowered below the word and then moved so that the end indicator remains in a position above the finger input according to method 700. For example, method 900 optionally includes one or more of the features of the various methods described below with reference to method 1100. For example, after selecting a group of words according to method 1100, a highlighter mode may be employed according to method 900. For example, method 900 optionally includes one or more of the features of the various methods described below with reference to method 1300. For example, after selecting a paragraph according to method 700, the paragraph may be cut and pasted at another location according to method 1300. For the sake of brevity, these details are not repeated below.

[0319] Figures 10A to 10S An exemplary user interface illustrating techniques for selecting content according to some embodiments is shown. The user interfaces in these figures are used to illustrate the processes described below, including Figure 11 in the process.

[0320] Figure 10A The electronic device 600 is shown displaying a user interface 1002 via a touch-sensitive display device 602 at a first time. The user interface 1002 is shown to correspond to a memo application for inputting and viewing content. In some examples, the techniques described herein are implemented using different user interfaces (e.g., any user interface that displays content).

[0321] User interface 1002 includes a telephone number 1004 (e.g., "123-456-7890") that includes an area code 1004a (e.g., "123"), a dash 1004b (e.g., "-"), a middle number 1004c (e.g., "456"), a dash 1004d (e.g., "-"), and an ending number 1004e (e.g., "7890"). In some examples, telephone number 1004 is entered by a user using electronic device 600. For example, the user may type the characters included in telephone number 1004 to cause telephone number 1004 to be displayed in user interface 1002. In other examples, such as when telephone number 1004 is included in a document being viewed on electronic device 600, telephone number 1004 is provided in a different manner.

[0322] Figure 10B The electronic device 600 is shown displaying the user interface 1002 via the touch-sensitive display device 602 at a second time subsequent to the first time. Figure 10B , the electronic device 600 receives user input 1008 corresponding to the middle digit 1004c (e.g., "456"). In one example, the user input 1008 is detected via the touch-sensitive display device 602 as a finger gesture (e.g., a double-click gesture or a hold gesture) at a location on the touch-sensitive display device 602 corresponding to the middle digit 1004c. In some examples, a double-click gesture is required when a first criterion is met (e.g., in an editable mode where the user is able to add and remove content), and a hold gesture is required when a second criterion is met (e.g., in a reading mode where the user is able to view but not add / remove content). In some examples, the user input 1008 is another form of user input including, for example, pressing a button on a pointing device such as a mouse. In response to detecting the user input 1008, the phone number 1004 is selected (rather than selecting only the middle number 1004c), as shown. Figure 10C As shown and discussed further below.

[0323] Figure 10C The electronic device 600 is shown displaying the user interface 1002 via the touch-sensitive display device 602 at a third time after the second time. As described above, Figure 10C1004a, 1004b, and 1004d. The diagram shows that the phone number 1004 is selected even though there are special characters separating groups of characters in the phone number 1004 (e.g., a dash 1004b separates the area code 1004a from the middle number 1004c, and a dash 1004d separates the middle number 1004c from the ending number 1004e). In some examples, the special characters are non-alphanumeric characters such as "@," "#," "$," "%," " / ," "&," "*," "+," "-," "," "," ";," or ".".

[0324] In some examples, based on a determination that phone number 1004 satisfies a group selection criterion (e.g., phone number 1004 corresponds to a specified set of characters), phone number 1004 is selected rather than selecting only middle number 1004c. For example, phone number 1004 is determined to be a phone number and, therefore, is selected in its entirety rather than a set of consecutive alphanumeric characters (e.g., "456") corresponding to user input 1008.

[0325] Figure 10D The electronic device 600 is shown displaying the user interface 1002 via the touch-sensitive display device 602 at a fourth time after the third time. Figure 10D , no user input is shown (eg, user input 1008 has been lifted off of touch-sensitive display device 602).

[0326] like Figure 10D As shown, lifting of user input 1008 causes selection area 1010 to remain at the location where it was at the time of lift (e.g., as shown in FIG. Figure 10C For example, in Figure 10C , the selection area 1010 extends from before the character "1" in the phone number 1004 to after the character "0" in the phone number 1004 (covering the characters in the phone number 1004). Figure 10C , the selection area 1010 is shown as being maintained from before the character "1" in the phone number 1004 to after the character "0" in the phone number 1004 (covering the characters in the phone number 1004).

[0327] Figure 10D Also shown is user interface 1002 including command area display 1016 adjacent to selection area 1010. In some examples, command area display 1016 is displayed in response to detecting a lift-off of user input 1008 (e.g., when a lift-off has occurred while at least one character is indicated as selected).

[0328] Command area display 1016 includes a plurality of affordances, each affordance corresponding to a different operation to be performed on the currently selected character. Figure 10D In some examples, the command area display 1016 includes a copy enable representation 1016a, a search enable representation 1016b, and a share enable representation 1016c. Figure 10D More, fewer, and / or different affordances are shown.

[0329] Copy-enabled representation 1016a, when selected (e.g., electronic device 600 receives user input corresponding to copy-enabled representation 1016a), causes the currently selected character (e.g., Figure 10D In one example, search affordance 1016b, when selected (e.g., electronic device 600 receives user input corresponding to search affordance 1016b), causes a search engine to be used to search for the currently selected characters (e.g., as shown in FIG. 1014 ). Figure 10D 123-456-7890) to identify the definition of the currently selected character. Shared affordance 1016c, when selected (e.g., electronic device 600 receives user input corresponding to shared affordance 1016c), causes the currently selected character (e.g., Figure 10D "123-456-7890") is shown inserted into messages to be sent to different devices.

[0330] Figures 10E to 10F The movable end indicator 1014 is shown to change the selected amount to be less than (or greater than) the entire portion of the phone number 1004 (e.g., Figure 10F 1004a, 1004b, and 1004c are shown selected but 1004d and 1004e are not shown selected). A similar function may be performed using start indicator 1012.

[0331] Figures 10G to 10I 1020) does not meet the group selection criteria. Figure 10B , Figure 10H User input 1022 is shown corresponding to a subset of characters consisting of "456" (with dashes on either side of the set of characters). However, Figure 10I It is shown that only a subset of characters are selected, rather than all characters 1020 being selected. In some examples, the characters 1020 are selected because they are only 9 digits instead of 10 digits (e.g., 1020e includes 3 digits ("789") instead of 4 digits) (e.g., 10A to 10F ), since the characters 1020 do not represent a telephone number, only a subset of the characters is selected.

[0332] Figures 10J to 10K 、 Figures 10N to 10P as well as Figure 10S to Figure 10V It is shown that the group selection criteria can be used for special characters other than the dash (e.g., space, period, dollar sign, or slash, respectively). For example, Figure 10J User input 1032 corresponding to word 1030b is shown. Figure 10K Address 1030 is shown to be selected, rather than just word 1030b being selected, the address including street number 1030a, word 1030b, word 1030c, a first space (e.g., a special character) between word 1030a and word 1030b, and a second space (e.g., a special character) between word 1030b and word 1030c.

[0333] and Figures 10J to 10K compared to, Figures 10L to 10M User input 1036 is shown corresponding to word 1034f (which is the same as word 1030b), which results in only word 1034b being selected, rather than sentence 1034 (eg, "I LOVE GOING TO THEMARKET").

[0334] Figures 10Q to 10R It is shown that the group selection criteria can be used for single characters and single special characters.

[0335] Figure 11 A flowchart of a method for selecting content using an electronic device according to some embodiments is shown. Method 1100 is performed at a device (e.g., 100, 300, 500, 600) having a display device (e.g., a mobile device). Some operations in method 1100 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

[0336] In some embodiments, the electronic device (e.g., 600) includes a computer system. The computer system optionally communicates (e.g., wired communication, wireless communication) with a display generation component and one or more input devices. The display generation component is configured to provide visual output, such as display via a CRT display, display via an LED display, or display via image projection. In some embodiments, the display generation component is integrated with the computer system. In some embodiments, the display generation component is separated from the computer system. One or more input devices are configured to receive input, such as a touch-sensitive surface that receives user input. In some embodiments, one or more input devices are integrated with the computer system. In some embodiments, one or more input devices are separated from the computer system. Therefore, the computer system can send data (e.g., image data or video data) to an integrated or external display generation component via a wired or wireless connection to visually generate content (e.g., using a display device), and can receive input from one or more input devices via a wired or wireless connection.

[0337] As described below, method 1100 provides an intuitive way to select content. This method reduces the cognitive burden on users when selecting content, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to select content faster and more efficiently conserves power and increases the time between battery charges.

[0338] The electronic device displays (1102) via a display device a first group of characters (e.g., 1004a, 1004c, 1004e, 1034f, 1044c, 1062a, 1062b) (e.g., a first word such as January, or a first group of numbers such as 123) (in some embodiments, the first group of characters consists of one or more alphabetic or numeric characters), a second group of characters (e.g., 1004a, 1004c, 1004e, 1034f, 1044c, 1062a, 1062b) (e.g., a second word such as the 25th, or a second group of numbers such as 456 or 1) (in some embodiments, the first group of characters consists of one or more alphabetic or numeric characters), and special characters (e.g., 1004b, 1004d, 1044a) (e.g., spaces or punctuation marks) between the first group of characters and the second group of characters (in some embodiments, special characters are non-alphabetic and non-numeric characters).

[0339] The electronic device receives ( 1104 ) user input (eg, a tap or mouse click; 1008 ) corresponding to selection of the first set of characters.

[0340] In response to receiving the user input (1106), the electronic device visually distinguishes (1108) the first set of characters from the second set of characters based on determining that a set of grouping criteria is satisfied (in some embodiments, the grouping criteria is based on whether the first set of characters and the second set of characters are included in a defined group (e.g., an entity), such as a telephone number, a physical address, an email address, a monetary value, or a date). In some embodiments, the electronic device visually distinguishes special characters (e.g., Figure 10C ).

[0341] In response to receiving the user input (1106), the electronic device visually distinguishes (1112) the first group of characters (e.g., Figure 10I ).

[0342] In response to receiving the user input (1106), the electronic device forgoes (1114) visually distinguishing the second group of characters (e.g., Figure 10I ).

[0343] Visually distinguishing characters based on grouping criteria allows a user to intuitively and efficiently select various types of character groupings. For example, a user can select a phone number, an address, a date, and a monetary value, while also selecting one or more characters (e.g., a dash) associated with the type of character grouping (e.g., a phone number). Allowing a user to select text in this manner reduces the amount of input and the amount of time required for a user to operate an electronic device (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device.

[0344] In some embodiments, the set of grouping criteria includes criteria that are met when a focus indicator (e.g., 1006) is currently displayed.

[0345] In some embodiments, special characters are not alphanumeric characters (e.g., Figure 10B shown).

[0346] In some embodiments, the set of grouping criteria includes criteria that are satisfied when the first set of characters and the second set of characters together represent a character string selected from the group consisting of: at least a portion of a telephone number (e.g., 1004), at least a portion of a mailing address (e.g., 1030), at least a portion of an email address, at least a portion of a monetary value (e.g., 1044, 1054), and at least a portion of a date (1062, 1068).

[0347] In some embodiments, in response to receiving the user input, the electronic device displays a command display area (e.g., 1016) adjacent to the first and second groups of characters. In some embodiments, the command display area includes affordances (e.g., 1016a, 1016b, 1016c) that, when selected to apply a command (e.g., copy or cut), perform a first operation (e.g., cut, copy) on the first and second groups of characters.

[0348] In some embodiments, as part of visually distinguishing the first group of characters from the second group of characters, the electronic device displays a first indicator (e.g., 1012) (e.g., a start indicator such as a lollipop) at the first end (beginning) of the first group of characters and the second group of characters and displays a second indicator (e.g., an end indicator such as a lollipop) at the second end (e.g., 1014) (e.g., the end) of the first group of characters and the second group of characters. In some embodiments, as part of visually distinguishing the first group of characters and forgoing visually distinguishing the second group of characters, the electronic device displays a first indicator (e.g., a start indicator such as a lollipop) at the first end (beginning) of the first group of characters and displays a second indicator (e.g., an end indicator such as a lollipop) at the second end (e.g., the end) of the first group of characters.

[0349] In some embodiments, the electronic device includes a touch-sensitive input device (e.g., the display device is a touch-sensitive display device), and the user input is a touch gesture on the touch-sensitive surface (e.g., Figure 10B ).

[0350] In some embodiments, when one or more visually distinguished characters are displayed, the electronic device receives a command to perform a second operation (e.g., copy or cut). In some embodiments, in response to receiving the command, the electronic device performs the second operation on the one or more visually distinguished characters. In response to receiving the command, the electronic device abandons performing the second operation (e.g., copy or cut) on the one or more characters that are not visually distinguished. Figure 10D ).

[0351] In some embodiments, determining that the set of grouping criteria is satisfied includes determining that the first group of characters and the second group of characters satisfy the set of grouping criteria (e.g., Figure 10C ).

[0352] Note that the process described above with respect to method 1100 (eg, Figure 11) may also apply in a similar manner to the methods described below and above. For example, method 1100 optionally includes one or more features of the various methods described above with reference to method 700. For example, method 1100 optionally includes one or more features of the various methods described above with reference to method 900. For example, method 1100 optionally includes one or more features of the various methods described below with reference to method 1300.

[0353] 12A to 12H Figures 1 and 2 illustrate exemplary user interfaces illustrating techniques for deleting content according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including 13A to 13B in the process.

[0354] Figure 12A The electronic device 600 is shown displaying a user interface 1202 via a touch-sensitive display device 602 at a first time. Similar to the user interface 604, the user interface 1202 corresponds to a memo application for inputting and viewing content. In some examples, the techniques described herein are implemented using different user interfaces (e.g., any user interface in which a user can edit content).

[0355] 12. The user interface 1202 includes three paragraphs (e.g., a first paragraph 1204, a second paragraph 1206, and a third paragraph 1208) and an insertion mark 1210. Each paragraph includes paragraph characters (e.g., a first paragraph character 1204a, a second paragraph character 1206a, and a third paragraph character 1208a) to indicate the end of the current line and the beginning of a new paragraph on the next line. In some examples, new line characters are used instead of paragraph characters. In some examples, such characters (such as paragraph characters and new line characters) are invisible. In such embodiments, the behavior of the editing interface will make it clear whether such characters are invisible or implicitly inserted (e.g., in some embodiments, Hypertext Markup Language (HTML) code or other markup language objects may be used instead of characters to indicate a new line). Figure 12A As shown, the insertion mark 1210 is after the third paragraph character 1208a (eg, the insertion mark 1210 is on the next line after the third paragraph 1208).

[0356] Figure 12BThe electronic device 600 is shown displaying the user interface 1202 via the touch-sensitive display device 602 at a second time after the first time. At the second time, the second paragraph 1206 is selected but the second paragraph character 1206a is not selected (e.g., the selection area encompasses the second paragraph 1206 but not the second paragraph character 1206a). In some examples, the second paragraph 1206 is selected using one or more of the techniques described above (or using some other technique for selecting content) (e.g., a hold gesture (e.g., 1207) on the second paragraph 1206, followed by a motion to select the paragraph according to method 900).

[0357] Figure 12B Also shown is user interface 1202 including command area display 1212 adjacent to second paragraph 1206. In some embodiments, command area display 1212 is displayed in response to detecting a liftoff of the user input, as discussed above.

[0358] Command area display 1212 includes a plurality of affordances, each affordance corresponding to a different operation to be performed on the currently selected content. Figure 12B In some examples, command area display 1212 includes a cut affordance 1212a, a copy affordance, and a paste affordance. Figure 12B More, fewer, and / or different affordances are shown.

[0359] Cut-enabled representation 1212a, when selected (e.g., electronic device 600 receives user input corresponding to cut-enabled representation 1212a), causes the currently selected content (e.g., second paragraph 1206) to be copied and deleted, so that the currently selected content can be later inserted at a location identified by the user. Copy-enabled representation, when selected (e.g., electronic device 600 receives user input corresponding to the copy-enabled representation), causes the currently selected content to be copied, so that the currently selected content can be later pasted at a location identified by the user. Paste-enabled representation, when selected (e.g., electronic device 600 receives user input corresponding to the paste-enabled representation), causes the copied content to be inserted at a location identified by the user.

[0360] Figure 12BAlso shown is receiving user input 1214 corresponding to cut enable indication 1212a. In one example, user input 1214 is detected via touch-sensitive display device 602 as a finger press and lift (e.g., a tap gesture) at a location on touch-sensitive display device 602 corresponding to cut enable indication 1212a. In some examples, user input 1214 is another form of user input including, for example, pressing and releasing a button on a pointing device such as a mouse. In some examples, user input 1214 causes a cut operation to be performed (e.g., copying and deleting second paragraph 1206), which results in the second paragraph being cut. Figure 12C Shown in.

[0361] Figure 12C The electronic device 600 is shown displaying the user interface 1202 via the touch-sensitive display device 602 at a third time after the second time. At the third time, the second paragraph 1206 and the second paragraph character 1206a have been deleted. In some examples, the second paragraph 1206 and the second paragraph character 1206a are deleted in response to the user input 1214 even if the second paragraph character 1206a was not selected when the cut operation corresponding to the user input 1214 was performed.

[0362] Figure 12D The electronic device 600 is shown displaying the user interface 1202 via the touch-sensitive display device 602 at a fourth time after the third time. At the fourth time, the electronic device 600 receives a user input 1216 corresponding to a position after the third paragraph character 1208a. In one example, the user input 1216 is detected via the touch-sensitive display device 602 as a finger press and lift-off (e.g., a tap or a hold gesture with lift-off) on the touch-sensitive display device 602. In some examples, the user input 1216 is another form of user input including, for example, pressing and releasing a button on a pointing device such as a mouse. In some examples, the user input 1216 causes a command area display to be displayed adjacent to the user input 1216, such as Figure 12E shown.

[0363] Figure 12E The electronic device 600 is shown displaying the user interface 1202 via the touch-sensitive display device 602 at a fifth time after the fourth time. At the fifth time, the electronic device 600 displays a command area display 1218 (eg, Figure 12D shown).

[0364] Command area display 1218 includes a paste affordance corresponding to a paste operation to be performed at the current location of insertion marker 1210. In some examples, command area display 1218 includes a Figure 12E More, fewer, and / or different affordances are shown.

[0365] Figure 12E Also shown is receiving user input 1220 corresponding to the paste-enabling indication in command area display 1218. In one example, user input 1220 is detected via touch-sensitive display device 602 as a finger press and lift (e.g., a tap) at a location on touch-sensitive display device 602 corresponding to the paste-enabling indication in command area display 1218. In some examples, user input 1220 is another form of user input including, for example, pressing and releasing a button on a pointing device such as a mouse. In some examples, user input 1220 causes a paste operation to be performed (e.g., inserting the copied content (e.g., second paragraph 1206 instead of second paragraph character 1206a)) at a location corresponding to insertion marker 1210, which results in the insertion of the second paragraph 1206 at the location corresponding to insertion marker 1210. Figure 12F Shown in.

[0366] Figure 12F The electronic device 600 is shown displaying the user interface 1202 via the touch-sensitive display device 602 at a sixth time after the fifth time. At the sixth time, even though the copied content does not include the second paragraph character 1206a, the second paragraph 1206 and the second paragraph character 1206a have been inserted after the third paragraph character 1208a (see FIG. Figure 12B This result is because the system determines that the user may have intended for the second paragraph character 1206a to be included after the second paragraph 1206.

[0367] Figures 12G to 12H A different result is shown when the insertion mark 1210 is before the third paragraph character 1208a rather than after the third paragraph character 1208a. In such a case, the second paragraph character 1206a will not be added after the second paragraph 1206. This result is because the system determines that the user may not have intended for the second paragraph character 1206a to be included after the content from the second paragraph 1206, but rather wanted to combine the third paragraph 1208 and the second paragraph 1206 into a combined paragraph 1226, with a single paragraph character (e.g., the third paragraph character 1208a) after the combined paragraph 1226.

[0368] 13A to 13B 1 is a flow chart illustrating a method for modifying content using an electronic device according to some embodiments. Method 1300 is performed at a device (e.g., 100, 300, 500, 600) having a display device (e.g., a mobile device). Some operations in method 1300 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

[0369] In some embodiments, the electronic device (e.g., 600) includes a computer system. The computer system optionally communicates (e.g., wired communication, wireless communication) with a display generation component and one or more input devices. The display generation component is configured to provide visual output, such as display via a CRT display, display via an LED display, or display via image projection. In some embodiments, the display generation component is integrated with the computer system. In some embodiments, the display generation component is separated from the computer system. One or more input devices are configured to receive input, such as a touch-sensitive surface that receives user input. In some embodiments, one or more input devices are integrated with the computer system. In some embodiments, one or more input devices are separated from the computer system. Therefore, the computer system can send data (e.g., image data or video data) to an integrated or external display generation component via a wired or wireless connection to visually generate content (e.g., using a display device), and can receive input from one or more input devices via a wired or wireless connection.

[0370] As described below, method 1300 provides an intuitive way to modify content. This method reduces the cognitive burden on users when modifying content, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to modify content more quickly and efficiently conserves power and increases the time between battery charges.

[0371] An electronic device displays (1302) a document (e.g., a text document) via a display device. In some embodiments, the document includes a first paragraph (e.g., 1204) of optional text. In some embodiments, the first paragraph includes one or more words, each of which includes a group of one or more characters. In some embodiments, the document includes a second paragraph (e.g., 1206) of optional text. In some embodiments, the second paragraph includes one or more words, each of which includes a group of one or more characters. In some embodiments, the document includes a third paragraph (e.g., 1208) of optional text. In some embodiments, the third paragraph includes one or more words, each of which includes a group of one or more characters. In some embodiments, the document includes a first new line character (e.g., 1204a) between the first paragraph and the second paragraph. In some embodiments, the first new line character is a new paragraph character. In some embodiments, the first new line character is displayed invisibly. In some embodiments, the document includes a second new line character (e.g., 1206a) between the second and third paragraphs. In some embodiments, the second new line character is a new paragraph character.

[0372] The electronic device receives ( 1304 ) a first user input (eg, a tap, a double tap, a triple tap, a mouse click, or a selection of a select button) corresponding to selection of the second paragraph (eg, 1207 ).

[0373] In response to receiving the first user input (1306), the electronic device selects (1308) the second paragraph. In some embodiments, selecting the second paragraph includes visually distinguishing the second paragraph (e.g., Figure 12B ).

[0374] In response to ( 1306 ) receiving the first user input, the electronic device abandons ( 1310 ) selecting the first new line character (eg, 1206 a ).

[0375] In response to (1306) receiving the first user input, the electronic device abandons (1312) selecting the second newline character (eg, the selected second paragraph does not include a newline character) (eg, Figure 12B ).

[0376] When the second paragraph is selected and when the first new line character and the second new line character are not selected (in some embodiments, the selected content is visually distinguished from the unselected content), the electronic device receives (1314) a second user input corresponding to a request to delete the second paragraph (e.g., to delete the selected content) (e.g., in some embodiments, the user input includes one or more user inputs for navigating to a cut or delete operation) (e.g., 1214).

[0377] In response to (1316) receiving the second user input, the electronic device deletes (1318) the second paragraph (e.g., Figure 12C ).

[0378] In response to (1316) receiving the second user input, the electronic device deletes (1320) the new-line character (e.g., 1204a or 1206a) selected from the group consisting of the first new-line character and the second new-line character (e.g., without deleting the other new-line characters). In some embodiments, when the second paragraph is selected and when the first new-line character and the second new-line character are not selected, the electronic device receives a second user input corresponding to a request to perform an operation. In some embodiments, in response to receiving the second user input, based on determining that the operation is of the first type (e.g., a request to delete the second paragraph), the electronic device performs the operation on the second paragraph and the new-line character selected from the group consisting of the first new-line character and the second new-line character. In some embodiments, in response to receiving the second user input, based on determining that the operation is of the second type (e.g., a request to copy the second paragraph), the electronic device performs the operation on the second paragraph instead of the first new-line character or the second new-line character (in other words, the first type performs the operation on the paragraph and the new-line character, and the second type performs the operation on the paragraph instead of the new-line character).

[0379] Deleting newline characters in this manner (e.g., without input specifying that the newline characters are to be deleted) allows a user to edit text intuitively and efficiently without having to specifically select the newline characters to be deleted. Allowing the user to delete text in this manner reduces the number of inputs and the amount of time required for the user to operate the electronic device (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device.

[0380] In some embodiments, the request to delete the second paragraph is a delete or cut operation (e.g., Figure 12B ).

[0381] In some embodiments, after deleting the second paragraph, the electronic device receives (1320) a third user input (e.g., one or more user inputs for navigating to a paste operation) corresponding to a request to add the second paragraph to the document at a location that does not correspond to the first paragraph or the second paragraph (e.g., at a location that is not within any paragraph of the document). In some embodiments, in response to (1322) receiving the third user input, the electronic device adds (1324) the second paragraph to the document. In some embodiments, in response to (1322) receiving the third user input, the electronic device adds (1326) a new line character to a location selected from the group consisting of: before the second paragraph and after the second paragraph (e.g., 12D to 12F ).

[0382] Adding newline characters in this manner (e.g., without input specifying that a newline character is to be added) allows a user to edit text intuitively and efficiently without having to specifically select a newline character to be added. Allowing the user to insert text in this manner reduces the number of inputs and the amount of time required for the user to operate the electronic device (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device.

[0383] In some embodiments, the electronic device receives a fourth user input (e.g., one or more user inputs for navigating to a paste operation) corresponding to a request to add the second paragraph to the document at a location corresponding to a fourth paragraph (e.g., the first paragraph or the second paragraph) (e.g., within the fourth paragraph) (e.g., 1224). In some embodiments, in response to receiving the fourth user input, the electronic device adds the second paragraph to the location within the fourth paragraph. In some embodiments, in response to receiving the fourth user input, the electronic device abandons adding a new line character to the document.

[0384] In some embodiments, the electronic device receives a fifth user input (e.g., a tap, a double tap, a triple tap, a mouse click, or a selection of a selection button) corresponding to selecting a subportion of a fifth paragraph (e.g., the first paragraph or the third paragraph) (e.g., the subportion of the paragraph is not the entire paragraph). In some embodiments, in response to receiving the fifth user input, the electronic device selects the subportion of the fifth paragraph. In some embodiments, selecting the subportion of the paragraph includes visually distinguishing the portion of the second paragraph. In some embodiments, when the subportion of the fifth paragraph is selected, the electronic device receives a sixth user input (e.g., one or more user inputs for navigating to a cut or delete operation) corresponding to a request to delete the subportion of the fifth paragraph (e.g., to delete the selected content). In some embodiments, in response to receiving the sixth user input, the electronic device deletes the subportion of the fifth paragraph. In some embodiments, in response to receiving the sixth user input, the electronic device forgoes deleting the new line character associated with the fifth paragraph (e.g., at the end or beginning of the fifth paragraph).

[0385] In some embodiments, when the second paragraph is selected and before receiving the second user input, the electronic device receives a seventh user input corresponding to performing an operation. In some embodiments, the seventh user input includes one or more user inputs to perform an operation such as copying. In some embodiments, in response to receiving the seventh user input, the electronic device performs the operation on the second paragraph. In some embodiments, in response to receiving the seventh user input, the electronic device abandons performing the operation on the first new line character and the second new line character (e.g., Figure 12B ).

[0386] Note that the process described above with respect to method 1300 (e.g., 13A to 13B ) may also apply in a similar manner to the methods described above. For example, method 1300 optionally includes one or more of the characteristics of the various methods described above with reference to method 700. For example, movement of the insertion cursor of method 1100 may be used to select a paragraph before deleting it according to method 1300. For example, method 1300 optionally includes one or more of the characteristics of the various methods described above with reference to method 900. For example, selection of method 900 may be used to select a paragraph before deleting it according to method 1300. For example, method 1300 optionally includes one or more of the characteristics of the various methods described above with reference to method 1100. For example, selection of method 1100 may be used to select a paragraph before deleting it according to method 1300. For the sake of brevity, these details are not repeated below.

[0387] For the purpose of explanation, the foregoing description is described with reference to specific embodiments. However, the above illustrative discussion is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible based on the above teachings. These embodiments have been selected and described in order to best explain the principles of these techniques and their practical applications. Others skilled in the art will thus be able to best utilize these techniques and various embodiments with various modifications suitable for the specific purposes contemplated.

[0388] Although 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 become apparent to those skilled in the art. It should be understood that such changes and modifications are considered to be included within the scope of the present disclosure and examples defined by the claims.

[0389] As described above, one aspect of the present technology is to collect and use data from various sources to improve the selection of text. The present disclosure contemplates that, in some instances, these collected data may include personal information data that uniquely identifies or can be used to contact or locate a specific person. Such personal information data may include demographic data, location-based data, phone numbers, email addresses, Twitter IDs, home addresses, data or records related to the user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, or any other identification or personal information.

[0390] The present disclosure recognizes that the use of such personal information data in the present technology can be used to benefit users. For example, personal information data can be used to better identify character groups (e.g., phone numbers, addresses, etc.). Thus, the use of such personal information data enables a more intuitive selection method. In addition, the present disclosure also anticipates other uses of personal information data that benefit users. For example, health and fitness data can be used to provide insights into the user's overall health or can be used as positive feedback for individuals using technology to pursue health goals.

[0391] This disclosure contemplates that entities responsible for collecting, analyzing, disclosing, transmitting, storing, or otherwise using such personal information will adhere to established privacy policies and / or practices. Specifically, such entities should implement and adhere to privacy policies and practices that are recognized as meeting or exceeding industry or government requirements for maintaining the privacy and security of personal information. Such policies should be easily accessible to users and updated as the collection and / or use of data changes. Personal information collected from users should be used for the entity's legitimate and reasonable purposes and not shared or sold beyond those legitimate uses. Furthermore, such collection / sharing should be conducted with the user's informed consent. Furthermore, such entities should consider taking any necessary steps to safeguard and secure access to such personal information and ensure that others with access to the personal information adhere to their privacy policies and procedures. Furthermore, such entities may subject themselves to third-party assessments to demonstrate compliance with widely accepted privacy policies and practices. Furthermore, policies and practices should be tailored to the specific type of personal information collected and / or accessed and to applicable laws and standards, including jurisdictional considerations. For example, in the United States, the collection or access of certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); whereas health data in other countries may be subject to other regulations and policies and should be handled accordingly. Therefore, different privacy practices should be maintained for different types of personal data in each country.

[0392] Regardless of the foregoing, the present disclosure also contemplates implementation schemes in which users selectively block the use or access of personal information data. That is, the present disclosure contemplates providing hardware elements and / or software elements to prevent or block access to such personal information data. For example, with respect to text selection, the present technology may be configured to allow users to choose to "opt in" or "opt out" to participate in the collection of personal information data at any time during or after registration for the service. In another example, a user may choose not to provide personal data to a target selection service. In yet another example, a user may choose to limit the length of time personal data is retained or to completely prohibit the development of a baseline selection profile. In addition to providing "opt-in" and "opt-out" options, the present disclosure contemplates providing notifications related to access or use of personal information. For example, a user may be notified that their personal information data will be accessed when downloading an application, and then reminded again just before the personal information data is accessed by the application.

[0393] Furthermore, it is an object of the present disclosure that personal information data should be managed and processed to minimize the risk of unintentional or unauthorized access or use. Risk can be minimized by limiting data collection and deleting data once it is no longer needed. In addition, and when applicable, including in certain health-related applications, data de-identification can be used to protect the privacy of users. De-identification can be facilitated by removing specific identifiers (e.g., date of birth, etc.), 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 users), and / or other methods, where appropriate.

[0394] Thus, while the present disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, the present disclosure also contemplates that various embodiments may be implemented without access to such personal information data. That is, various embodiments of the present technology will not fail to function properly due to the absence of all or a portion of such personal information data. For example, content may be selected and delivered to a user by inferring preferences based on non-personal information data or an absolute minimum of personal information (such as content requested by a device associated with the user, other non-personal information available to a text selection service, or publicly available information).

Claims

1. A method comprising: At electronic devices having a display device: Displaying a document via the display device, the document comprising: The first paragraph of optional text, The second paragraph of the optional text, The third paragraph of the optional text, a first newline character between the first paragraph and the second paragraph, and a second newline character between the second paragraph and the third paragraph; receiving a first user input corresponding to selecting the second paragraph; In response to receiving the first user input: Select the second paragraph; Deselecting the first newline character; and Abandon selecting the second new line character; When the second paragraph is selected and when the first newline character and the second newline character are not selected, receiving a second user input corresponding to a request to delete the second paragraph; and In response to receiving the second user input: Delete the second paragraph; and A newline character selected from the group consisting of the first newline character and the second newline character is deleted. 2 . The method of claim 1 , wherein the request to delete the second paragraph is a delete or cut operation.

3. The method according to any one of claims 1 to 2, further comprising: After deleting the second paragraph, receiving a third user input corresponding to a request to add the second paragraph to the document at a location that does not correspond to the first paragraph or the second paragraph; as well as In response to receiving the third user input: adding the second paragraph to the document; as well as A new line character is added to a position selected from the group consisting of: before the second paragraph and after the second paragraph.

4. The method according to any one of claims 1 to 2, further comprising: receiving a fourth user input corresponding to a request to add the second paragraph to the document at a location corresponding to a fourth paragraph; as well as In response to receiving the fourth user input: adding the second paragraph to a position within the fourth paragraph; and Discards adding newline characters to the document.

5. The method according to any one of claims 1 to 2, further comprising: receiving a fifth user input corresponding to selecting a subsection of a fifth paragraph; in response to receiving the fifth user input, selecting the sub-portion of the fifth paragraph; receiving, when the subsection of the fifth paragraph is selected, a sixth user input corresponding to a request to delete the subsection of the fifth paragraph; as well as In response to receiving the sixth user input: deleting said subpart of said fifth paragraph; and Deleting the newline character associated with the fifth paragraph is discarded.

6. The method according to any one of claims 1 to 2, further comprising: receiving a seventh user input corresponding to performing an operation when the second paragraph is selected and before the second user input is received; In response to receiving the seventh user input: performing the operation on the second paragraph; and Abandon performing the operation on the first newline character and the second newline character.

7. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display device, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 6.

8. An electronic device comprising: Display equipment; one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for executing the method according to any one of claims 1 to 6.

9. An electronic device comprising: Display equipment; and Device for carrying out the method according to any one of claims 1 to 6.

10. A computer program product comprising one or more programs configured to be executed by one or more processors of an electronic device in communication with a display device, the one or more programs comprising instructions for performing the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Method and apparatus for integrating manual input

    US20020015024A1

  • Acceleration-based theft detection system for portable electronic devices

    US20050190059A1

  • Methods and apparatuses for operating a portable device based on an accelerometer

    US20060017692A1

  • Gestures for touch sensitive input devices

    US20060026521A1

  • Gestures for touch sensitive input devices

    US20060026536A1