Techniques for selecting text
By displaying the focus indicator on the touch-sensitive display of the electronic device and detecting the movement of the touch gestures, and dynamically adjusting the focus position, the problem of inefficient text selection in the prior art is solved, and a faster and more efficient human-machine interface is achieved.
Patent Information
- Application Number
- CN202310637858.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-02-10
- Filing Date
- 2020-06-01
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2040-06-01
AI Technical Summary
The prior art is used to select text on electronic devices inefficient and complex user interfaces, resulting in waste of user time and device energy.
By displaying the focus indicator on the touch-sensitive display device and detecting the movement of the corresponding touch gestures, the position of the focus indicator is dynamically adjusted to achieve fast and efficient text selection.
Reduces the cognitive burden of users and improves the efficiency of the human-machine interface, especially in battery-powered devices, saving power and extending the battery charging interval.
Smart Images

Figure CN116661671B_ABST
Abstract
Description
[0001] Division Statement
[0002] This application is a divisional application of the invention patent application with PCT international application number PCT / US2020 / 035546, international application date June 1, 2020, application number 202080039998.X entering the Chinese national phase, and invention name “Technology for selecting text”.
[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 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 prior art techniques use complex and time-consuming user interfaces. Prior art techniques require more time than necessary, which results in wasted user time and device energy. This latter consideration is particularly important in battery-powered devices.
[0008] Therefore, the present technology provides a faster and more efficient method and interface for selecting text for electronic devices. 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 save power and increase the time interval between battery charges.
[0009] Example methods are disclosed herein. An exemplary method includes, at an electronic device having a touch-sensitive display device: 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 in a first direction based on determining that the second touch position is 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 in a second direction based on determining that the second touch position is 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.
[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: 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 second indicator position having a first 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, moving the focus indicator to a third indicator position having a second spatial relationship with the second touch position, the second spatial relationship being different from the first spatial relationship; when the focus indicator is at a fourth indicator position, detecting a lift-off of the touch gesture; and in response to detecting the lift-off, keeping the focus indicator displayed 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 in a first direction based on determining that the second touch position is 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 in a second direction based on determining that the second touch position is 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.
[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 when 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: 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 second indicator position having a first 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, moving the focus indicator to a third indicator position having a second spatial relationship with the second touch position, the second spatial relationship being different from the first spatial relationship; when the focus indicator is at a fourth indicator position, detecting a lift-off of the touch gesture; 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 in a first direction based on determining that the second touch position is 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 in a second direction based on determining that the second touch position is relative to the first touch position, the second spatial relationship being different from the first spatial relationship; a device for detecting lift-off of the touch gesture when the focus indicator is at a fourth indicator position; and a device for keeping 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 displaying 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 based on one or more characteristics of the movement, moving the second indicator to one end of the one or more additional characters.
[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; 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 displaying 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 displaying 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; 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 displaying 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 displaying 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 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 based on determining that the set of grouping criteria are 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 based on determining that the set of grouping criteria are not met: visually distinguishing the first group of characters; 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 based on determining that the set of grouping criteria are not met: visually distinguishing the first group of characters; 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 based on determining that the set of grouping criteria are not met: visually distinguishing the first group of characters; 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 based on determining that the set of grouping criteria are not met: visually distinguishing the first group of characters; 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 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.
[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 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.
[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 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.
[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 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; 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 may 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 showing 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-Figure 5H Exemplary components and user interfaces of a personal electronic device according to some embodiments are shown.
[0042] FIG. 6A to FIG. 6O Techniques for moving an insertion marker according to some embodiments are shown.
[0043] FIG. 7A to FIG. 7B A flowchart of a method of moving an insertion marker using an electronic device according to some embodiments is shown.
[0044] FIG. 8A to FIG. 8K An exemplary user interface illustrating techniques for selecting content is shown according to some embodiments.
[0045] FIG. 9A to FIG. 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] Fig.11 A flowchart of a method for selecting content using an electronic device according to some embodiments is shown.
[0048] FIG. 12A to FIG. 12H An exemplary user interface illustrating techniques for modifying content is shown according to some embodiments.
[0049] FIG. 13A to FIG. 13B A flowchart of a method for 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 appreciated 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 a text cursor may be provided. Such techniques may reduce the cognitive burden on users when manipulating text, thereby increasing productivity. In addition, such techniques may reduce processor power and battery power that would otherwise be wasted on redundant user input.
[0052] under, Figure 1A to Figure 1B , Figure 2 , Figure 3 , FIG. 4A to FIG. 4B as well as FIG. 5A to FIG. 5H A description of an example device for performing techniques for selecting text is provided.
[0053] FIG. 6A to FIG. 6O An exemplary user interface for moving an insertion marker is shown. FIG. 7A to FIG. 7B A flowchart of a method of moving an insertion marker using an electronic device according to some embodiments is shown. FIG. 6A to FIG. 6O The user interface in is used to illustrate the process described below, including FIG. 7A to FIG. 7B process.
[0054] FIG. 8A to FIG. 8K An exemplary user interface for selecting content is shown. FIG. 9A to FIG. 9B A flowchart of a method for selecting content using an electronic device according to some embodiments is shown.
[0055] FIG. 8A to FIG. 8K The user interface in is used to illustrate the process described below, including FIG. 9A to FIG. 9B process.
[0056] Figure 10A to Figure 10V An exemplary user interface for selecting content is shown. Fig.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 is used to illustrate the process described below, including Fig.11 process.
[0057] FIG. 12A to FIG. 12H An exemplary user interface for modifying content is shown. FIG. 13A to FIG. 13B A flowchart of a method for modifying content using an electronic device according to some embodiments is shown. FIG. 12A to FIG. 12H The user interface in is used to illustrate the process described below, including FIG. 13A to FIG. 13B process.
[0058] Although the following description uses the terms "first", "second", etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another element. For example, a first touch can be named a second touch and similarly a second touch can be named a first touch without departing from the scope of the various described embodiments. 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 various described embodiments herein are only for the purpose of describing specific embodiments, and are not intended to be limited. As used in the description of various described embodiments and in the appended claims, the singular forms "one" and "the" are intended to also include plural forms, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" used herein refers to and encompasses any and all possible combinations of one or more items in the associated listed items. It will also be understood that the term "includes", "including", "comprises" and / or "comprising" when used in this specification specifies the presence of stated features, integers, steps, operations, elements and / or parts, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, parts and / or their grouping.
[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 [a stated condition or event] is detected" are optionally interpreted to mean "upon determining that ..." or "in response to determining that ..." or "upon detecting [a stated condition or event]," or "in response to detecting [a stated condition or event]," depending on the context.
[0061] Embodiments of electronic devices, user interfaces for such devices, and associated processes for 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 a music player function. Exemplary embodiments of portable multifunction devices include, but are not limited to, the Apple iPod from Apple Inc. (Cupertino, California). Devices, iPod Equipment, and Device. Optionally use other portable electronic devices, such as laptops or tablet computers with touch-sensitive surfaces (e.g., touch screen displays and / or touch pads). 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 touch pads). 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 presentation 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 a touch-sensitive surface) optionally supports a variety of 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 1Ais a block diagram showing a portable multifunction device 100 with a touch-sensitive display system 112 according to some embodiments. The 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." The device 100 includes a 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, an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input control devices 116, and an external port 124. The device 100 optionally includes one or more optical sensors 164. The device 100 optionally includes one or more contact force sensors 165 for detecting the intensity of contact on the device 100 (e.g., a touch-sensitive surface, such as the touch-sensitive display system 112 of the 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) of 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 substitute for the force or pressure of the contact on the touch-sensitive surface. In some embodiments, the substitute measurement of the contact force or pressure is used directly to determine whether the intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the substitute measurement). In some embodiments, the substitute 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 the 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 functions that would otherwise be inaccessible to the user on a smaller device with limited real estate, which is used to display an enable indication (e.g., on a touch-sensitive display) and / or receive user input (e.g., via a touch-sensitive display, a touch-sensitive surface, or a physical control / mechanical control, such as a knob or button).
[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 the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device, which will be detected by a user using the user's sense of touch. For example, in the case where a device or a component of the device is in contact with a user's touch-sensitive surface (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 corresponding 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" to 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 is physically pressed (e.g., displaced) by the user's movement does not move. As another example, even when there is no change in the smoothness of the touch-sensitive surface, movement of the touch-sensitive surface may optionally be interpreted or sensed by the user as "roughness" of the touch-sensitive surface. Although 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 2000 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 also 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 other components of device 100 to access memory 102.
[0070] The peripheral device interface 118 can be used to couple the input peripheral devices and output peripheral devices of the device to the CPU 120 and the memory 102. The one or more processors 120 run or execute various software programs and / or instruction sets stored in the memory 102 to perform various functions of the device 100 and process data. In some embodiments, the peripheral device interface 118, the CPU 120, and the memory controller 122 are optionally implemented on a single chip such as the chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0071] RF (radio frequency) circuit 108 receives and sends RF signals, also referred to as electromagnetic signals. RF circuit 108 converts electrical signals into / converts electromagnetic signals into electrical signals, and communicates with communication networks and other communication devices via electromagnetic signals. RF circuit 108 optionally includes well-known circuits for performing these functions, including but not limited to antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, codec chipsets, user identity modules (SIM) cards, memories, and the like. RF circuit 108 optionally communicates with networks and other devices via wireless communications, such as the Internet (also referred to 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 circuit 108 optionally includes well-known circuits for detecting near field communications (NFC) fields, such as through short-range communications radio components. 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). 802.11n and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, email protocols (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Utilizing Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communication protocol including communication protocols that have not been developed as of the filing date of this document.
[0072] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between a 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 having 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 a touch screen 112 and other input control devices 116, to a peripheral device 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 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 controller 160 is 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 increase / decrease button for volume control of the speaker 111 and / or the 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 with one or more input devices (e.g., via wireless communication, via wired communication). 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 disengages the lock of the touch screen 112 or optionally begins the process of unlocking the device using gestures on the touch screen, as described in U.S. Patent Application 11 / 322,549, filed on December 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 buttons 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 a 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 the 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 a finger of the user.
[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, while the 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, entitled “Multipoint Touch Surface Controller,” filed on May 2, 2006; (2) U.S. patent application No. 10 / 840,862, entitled “Multipoint Touchscreen,” filed on May 6, 2004; (3) U.S. patent application No. 10 / 903,964, entitled “Gestures For Touch Sensitive Input Devices,” filed on July 30, 2004; (4) U.S. patent application No. 11 / 048,264, entitled “Gestures For Touch Sensitive Input Devices,” filed on January 31, 2005; (5) U.S. patent application No. 11 / 086,874, entitled “Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices,” filed on January 18, 2005 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 of more than 100 dpi. In some embodiments, the touch screen has a video resolution of about 160 dpi. The user optionally uses any suitable object or attachment such as a stylus, finger, etc. 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 the 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 actions desired by the user.
[0081] In some embodiments, in addition to the touch screen, the 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 the touch screen, does not display visual output. The touchpad is optionally a touch-sensitive surface that is separate from the touch screen 112 or an extension of the touch-sensitive surface formed by the touch screen.
[0082] The device 100 also includes a power system 162 for powering the various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, a power fault detection circuit, 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 coupled to an optical sensor controller 158 in the I / O subsystem 106 is shown. The optical sensor 164 optionally includes a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives light projected through one or more lenses from the environment 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 a static image or video. In some embodiments, the optical sensor is located on the rear of the device 100, opposite to the touch screen display 112 on the front of the device, so that the touch screen display can be used as a viewfinder for static images and / or video image acquisition. In some embodiments, the optical sensor is located on the front of the device so that the user's image is optionally obtained for video conferencing while the user views 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) so that a single optical sensor 164 is used with the touch screen display for both video conferencing and static image and / or video image acquisition.
[0084] Device 100 optionally also includes one or more depth camera sensors 175 . Figure 1A A depth camera sensor coupled to a depth camera controller 169 in the I / O subsystem 106 is shown. The depth camera sensor 175 receives data from the environment to create a three-dimensional model of an object (e.g., a face) within the scene from a viewpoint (e.g., a 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 of different portions of an image captured by the imaging module 143. In some embodiments, the depth camera sensor is located at the front of the device 100, so that an image of the user with depth information is optionally obtained for video conferencing while the user is viewing other video conference participants on the touch screen display, and a selfie with depth map data is captured. In some embodiments, the depth camera sensor 175 is located at the rear of the device, or at 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) so that the depth camera sensor 175 is used with the touch screen display for both video conferencing and still image 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 a force sensor controller 159 in the 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 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 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 to 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 entirety. 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 a speaker or other audio component; and / or an electromechanical device for converting energy into linear motion such as a motor, solenoid, electroactive polymer, piezoelectric actuator, electrostatic actuator, or other tactile output generating component (e.g., a component for converting an electrical signal into a tactile output on the device). The contact force sensor 165 receives tactile feedback generation instructions from the tactile feedback module 133 and generates a tactile output on the device 100 that can be felt by a user of the device 100. In some embodiments, at least one tactile output generator is arranged in parallel or adjacent to a touch-sensitive surface (e.g., a touch-sensitive display system 112) and optionally generates a tactile output by moving the touch-sensitive surface vertically (e.g., inward / outward of the surface of the device 100) or laterally (e.g., backward and forward 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 coupled to the peripheral device interface 118 is shown. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 in the I / O subsystem 106. The accelerometer 168 is optionally implemented as described in the following U.S. patent publications: 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 a 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, including information obtained from the device's various sensors and input control devices 116; and position information about 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 through one or more external ports 124, and also includes various software components for processing data received by the RF circuit 108 and / or the external port 124. The external port 124 (e.g., Universal Serial Bus (USB), FireWire, etc.) is suitable for coupling directly to other devices, or indirectly through a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external port is 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 press event), determining the contact strength (e.g., the force or pressure of the contact, or a substitute for the force or pressure of the contact), determining whether there is movement of 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 stopped (e.g., detecting a finger lift event or contact disconnection). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of a contact point optionally includes determining a 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 simultaneous contact (e.g., "multi-touch" / multiple finger contacts). In some embodiments, the contact / motion module 130 and display controller 156 detect contact on a touch pad.
[0093] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an operation 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 thresholds of specific physical actuators and can be adjusted without changing the physical hardware of the device 100). For example, without changing the touchpad or touchscreen display hardware, the mouse "click" threshold of a touchpad or touchscreen can be set to any one of a large range of predefined thresholds. In addition, in some specific implementations, 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] The 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). Therefore, 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 for specifying the graphics to be displayed from an application program, etc., and also receives coordinate data and other graphic attribute data together if necessary, and then generates screen image data to be 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 Pages widget, and the Maps / Navigation widget).
[0100] The 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 images 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] A widget module 149, which optionally includes one or more of the following: a weather widget 149-1, a stock widget 149-2, a calculator widget 149-3, an alarm widget 149-4, a dictionary widget 149-5, and other widgets acquired by the user, and a user-created widget 149-6;
[0114] A widget creator module 150 for forming a user-created widget 149-6;
[0115] Search module 151;
[0116] Video and music player module 152, which merges 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 conjunction with the touch screen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, the contact module 137 is optionally used to manage an address book or contact list (e.g., stored in the application internal state 192 of the contact 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 the like.
[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 sequence of characters corresponding to a phone number, access one or more phone numbers in contact module 137, modify an entered phone number, dial a 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 circuit 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 conjunction with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, instant messaging module 141 includes executable instructions for the following operations: inputting a character sequence corresponding to an instant message, modifying previously input characters, transmitting a corresponding instant message (e.g., using a short message service (SMS) or multimedia message 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 services (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 fitness (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 fitness; and displaying, storing and transmitting fitness data.
[0127] In conjunction 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, 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 calendars 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, and 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 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 GPS module 135 and the 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 performing the following operations: allowing a user to access, browse, receive (e.g., by streaming and / or downloading), playback (e.g., on the touch screen or on an external display connected via external port 124), send an email with a link to a specific 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 specific 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 independent software programs, processes, or modules, so 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, the device 100 is a device on which operation of a predefined set of functions is performed exclusively through a touch screen and / or a touch pad. By using a touch screen and / or a touch pad as the primary input control device for operating the device 100, the number of physical input control devices (e.g., push buttons, dials, etc.) on the device 100 is optionally reduced.
[0140] A predefined set of functions that are performed exclusively 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 to a main menu, a home menu, or a root menu from any user interface displayed on the device 100. In such embodiments, a "menu button" is implemented using a trackpad. 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 1 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 event monitor 171 and event distributor module 174. In some embodiments, application 136-1 includes application internal state 192, which 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 a user to return to a previous state or view of the application 136-1, and a repeat / undo queue of previous actions taken by the user.
[0144] Event monitor 171 receives event information from peripherals interface 118. Event information includes information about sub-events (e.g., user touches 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 (through 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 a programmatic level within the programmatic or view hierarchy of the application. 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 at least in part based 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, higher views in the hierarchy will still remain as actively participating views.
[0151] Event distributor module 174 distributes event information to event recognizers (e.g., event recognizers 180). In embodiments including active event recognizer determination module 173, event distributor module 174 delivers the event information to the event recognizers determined by active event recognizer determination module 173. In some embodiments, event distributor module 174 stores the event information in an event queue, which is retrieved by corresponding event receivers 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 is 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 occurring within a corresponding view of the user interface of the application. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, the corresponding application view 191 includes multiple event recognizers 180. In other embodiments, one or more event recognizers in event recognizers 180 are part of an independent module, which is a higher-level object such as a user interface toolkit or application 136-1 from which methods and other properties are inherited. In some embodiments, the corresponding event handler 190 includes one or more of the following: data updater 176, object updater 177, GUI updater 178, and / or event data 179 received from event classifier 170. Event handler 190 optionally utilizes or calls data updater 176, object updater 177, or GUI updater 178 to update application internal state 192. Alternatively, one or more of the application views in application view 191 include one or more corresponding event handlers 190. In addition, 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] The corresponding event identifier 180 receives event information (e.g., event data 179) from the event classifier 170 and identifies the event based on the event information. The event identifier 180 includes an event receiver 182 and an event comparator 184. In some embodiments, the 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] Event receiver 182 receives event information from event classifier 170. Event information includes information about sub-events such as touch or touch movement. 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 the touch, the event information optionally also includes the speed and direction of the sub-event. In some embodiments, the event includes the device rotating from one orientation to another orientation (for example, from a longitudinal orientation to a transverse 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] Event comparator 184 compares event information with predefined event or sub-event definitions, and determines an event or sub-event based on the comparison, or determines or updates the state of an event or sub-event. In some embodiments, event comparator 184 includes event definition 186. 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, 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 a displayed object, a first lift-off (touch end) of a predetermined duration, a second touch (touch start) of a predetermined duration on a 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 associated with a 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 definition 186, the corresponding event recognizer 180 enters an 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, the 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 to actively participating event recognizers. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact or can interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are 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 the event handler 190 is different from sending (and deferred sending) the sub-events to the corresponding hit view. In some embodiments, the event recognizer 180 throws a tag associated with the identified event, and the event handler 190 associated with the tag obtains the tag and performs a predefined process.
[0162] In some embodiments, the event delivery instructions 188 include a sub-event delivery instruction that delivers event information about a sub-event without activating an event handler. Instead, the sub-event delivery instruction delivers the event information to an event handler associated with a sub-event sequence or to an actively participating view. The event handler associated with the sub-event sequence or with an 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 position 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 processing of user touches on a touch-sensitive display also applies to other forms of user input that utilize input devices to operate the multifunction device 100, and not all user input is initiated on the touch screen. For example, mouse movement and mouse button presses, optionally in conjunction with single or multiple keyboard presses or hold; contact movement on a touch pad, such as tapping, dragging, scrolling, etc.; stylus input; movement of the device; verbal 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 according to some embodiments is shown. 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 these 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 one or more graphics will occur when the user interrupts contact with the one or more graphics. In some embodiments, gestures optionally include one or more taps, one or more swipes (from left to right, from right to left, up and / or down) and / or rolling of fingers that have been in 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 will not select the graphic. For example, when the gesture corresponding to the selection is a tap, a swipe gesture that sweeps over an application icon optionally does not select the corresponding application.
[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 user identity module (SIM) card slot 210, an earphone 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 keeping the button in a pressed state for a predefined time interval; lock the device by pressing the button and releasing the button before the predefined time interval passes; and / or 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 through a microphone 113. The device 100 also optionally includes one or more contact strength sensors 165 for detecting the strength of contact on the touch screen 112, and / or one or more tactile output generators 167 for generating tactile output for a user of the device 100.
[0169] Figure 3300 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments. Device 300 does not have to be portable. In some embodiments, 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 game system, or a control device (e.g., a home controller or an industrial controller). 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. Device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touch screen display. The I / O interface 330 also optionally includes a keyboard and / or a 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 reference 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 may include a high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices; and may optionally include a 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 may optionally include one or more storage devices located away 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 previously mentioned memory device. Each module in the above-mentioned modules corresponds to the instruction set for performing the above-mentioned functions. The above-mentioned modules or programs (e.g., instruction sets) do not have to 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 the 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 that is optionally implemented on, for example, portable multifunction device 100.
[0172] Figure 4A An exemplary user interface of an application menu on portable multifunction device 100 according to some embodiments is shown. 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 signals 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 of the phone module 138 labeled "Phone," which optionally includes an indicator 414 of the number of missed calls or voicemails;
[0179] o an icon 418 of the email client module 140 labeled “Mail”, the icon 418 optionally including an indicator 410 of the number of unread emails;
[0180] o An icon 420 labeled "Browser" of the browser module 147; and
[0181] o An icon 422 labeled “iPod” for a video and music player module 152 (also referred to as an iPod (trademark of Apple Inc.) module 152); and
[0182] Icons for other apps, such as:
[0183] o Icon 424 labeled "Message" of 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 Desktop Applet 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 as “Clock” of the alarm clock desktop applet 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 labeled “Settings” for a settings application or module that provides access to settings for the device 100 and its various applications 136 .
[0195] It should be noted that Figure 4A The icon labels shown in are exemplary only. For example, icon 422 of 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 corresponding application icon includes the name of the application corresponding to the corresponding 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, Figure 3 tablet or touch pad 355) 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 are given with reference to input on a touch screen display 112 (where a touch-sensitive surface and a 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 principal 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) with touch-sensitive surface 451 (e.g., Figure 4B 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 input detected by the device on the touch-sensitive surface (e.g., contacts 460 and 462 and their movement) is separated, the device is used 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). As 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 contact, followed by ceasing to detect contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are optionally used simultaneously, or a mouse and finger contact are optionally used simultaneously.
[0199] Figure 5AAn exemplary personal electronic device 500 is shown. Device 500 includes a body 502. In some embodiments, device 500 may include a body 502 relative to devices 100 and 300 (e.g., Figures 1A to 4B ) some or all of the features described in the foregoing. In some embodiments, device 500 has a touch-sensitive display screen 504, referred to hereinafter as touch screen 504. As an alternative 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 strength sensors for detecting the intensity of contact (e.g., touch) applied. One or more strength sensors of touch screen 504 (or touch-sensitive surface) can provide output data representing the intensity of touch. The user interface of device 500 can respond to touch 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. The 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. I / O portion 514 may be connected to a display 504, which may have a touch-sensitive component 522 and optionally a strength sensor 524 (e.g., a contact strength sensor). In addition, I / O portion 514 may 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, input mechanism 506 is optionally a rotatable input device or a depressible input device and a rotatable input device. In some examples, 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 GPS sensor 532, accelerometer 534, orientation sensor 540 (e.g., compass), gyroscope 536, motion sensor 538, and / or combinations thereof, all of which are operably 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 ( FIG. 7A to FIG. 7B , FIG. 9A to FIG. 9B , Fig.11 ,as well as FIG. 13A to FIG. 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 "indicative representation" refers to an optional feature of the apparatus 100, 300, and / or 500 ( Figure 1A , Figure 3 and FIG. 5A to FIG. 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 the display, the particular user interface element is adjusted according to the detected input. In the case that a touch-screen display (e.g., Figure 1A A touch-sensitive display system 112 or Figure 4AIn some implementations of the touch screen 112 in FIG. 1 , a contact detected on the touch screen acts as a “focus selector” such that when an 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 in accordance with 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 in accordance with 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 typically 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 a 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 starts to move, before contact ends, before or after contact intensity is detected to increase, and / or before or after contact intensity is detected to decrease). 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 when 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 screen 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 each 9 intensity units, and the intensity measurements of intensity sensors 524B and 524C are each 7 intensity units. In some implementations, the cumulative intensity is the sum of the intensity measurements of multiple intensity sensors 524A-524D, which is 32 intensity units in this example. In some embodiments, each contact is assigned a corresponding intensity, which is a portion of the cumulative intensity. Figure 5DThe 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 contact strength of 8 strength units of the cumulative strength, and each of contacts 552C and 552D is assigned a contact strength of 4 strength units of the cumulative strength. More generally, in some embodiments, each contact j is assigned a corresponding strength Ij, which 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 equivalent 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 the readers.
[0209] In some embodiments, a portion of a gesture is identified for determining 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 strength of the swipe contact before determining the characteristic strength of the contact. For example, a 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 depressions in the strength of the swipe contact to achieve the purpose of determining the characteristic strength.
[0210] The intensity of 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 having a characteristic intensity lower than the light press intensity threshold (e.g., and higher than a nominal contact detection intensity threshold, contacts lower than the nominal contact detection intensity threshold are no longer detected) is detected, the device will move the focus selector according to 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 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 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 that the strength of the contact (or multiple contacts) increases to above a press input strength threshold. In some embodiments, the corresponding operation is performed in response to detecting that the strength of the corresponding contact increases to above the press input strength threshold (e.g., a "down stroke" of the corresponding press input). In some embodiments, the press input includes an increase in the strength of the corresponding contact to above the press input strength threshold and the strength of the contact subsequently decreases to below the press input strength threshold, and the corresponding operation is performed in response to detecting that the strength of the corresponding contact subsequently decreases to below the press input threshold (e.g., an "up stroke" of the corresponding press input).
[0213] Figure 5E-Figure 5HDetection of a gesture is shown, the gesture comprising contact 562 with an intensity from below Figure 5E The light press intensity threshold in L ”) increases to a strength higher than Figure 5H The deep compression 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 above the application icon 572B corresponding to application 2, a gesture performed using 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 (for example, “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 increasing to a 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, such as 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-Figure 5H To assist the readers.
[0214] In some embodiments, the display of representations 578A-578C includes animation. For example, representation 578A is initially displayed near application icon 572B, such as Fig. 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 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 increase as the strength of contact 562 approaches a deep press strength threshold (eg, “IT D ”) increases and moves upward. 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 equivalent to device 100, 300, or 500. FIG. 5E to FIG. 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 the 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 "upward stroke" 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, optionally, 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 triggered in response to detecting any of the following: contact intensity increasing to 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 to below the press input intensity threshold, and / or contact intensity decreasing to 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 a downloaded software package and integrates the extracted portions with the operating system of a computer system.
[0218] As used herein, the term "open application" or "executing application" refers to a software application that has retained 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 application currently displayed on the display of the device on which the application is being used;
[0220] Background applications (or background processes) that are not currently displayed but whose processes or 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 have retained state information (e.g., the state information of a closed application is not stored in the memory of the device). Therefore, closing an application includes stopping and / or removing the application process of the application and removing the state information of the application from the memory of the device. 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 being displayed, the first application becomes a background application.
[0223] Attention is now turned to embodiments 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] FIG. 6A to FIG. 6O Exemplary user interfaces illustrating techniques for moving an insertion marker according to some embodiments are shown. In some examples, the insertion marker indicates where additional content (if received) will be inserted. In other examples, the insertion marker is any visual indication 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 FIG. 7A to FIG. 7B process.
[0225] Fig. 6A An 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 to correspond to a memo application for inputting and viewing content. In some examples, the techniques described herein are implemented using other user interfaces (eg, 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 input 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 Fig. 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 the user input 610, the insertion marker 608 is selected and can be moved on the touch-sensitive display device 602 by moving the user input 610. In some examples, moving the user input 610 in different directions may result in different results (e.g., horizontal movement causes the insertion marker 608 to remain within the area determined as the user input 610 until a vertical movement exceeding a threshold is received, and vertical movement exceeding the threshold causes the insertion marker 608 to move outside the area determined as the 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 after the first time. Figure 6B In the example, user input 610 has been compared to user input 610 in Fig. 6A608 is moved horizontally to the right from the location where it was. With such movement, insertion marker 608 is displayed in the area corresponding to user input 610. In some examples, insertion marker 608 is not displayed when user input 610 is detected (e.g., because there is no need to display insertion marker 608 because the user's finger will cover the location where insertion marker 608 will be displayed). Although only shown as moving to the right, in some examples, insertion marker 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 the position in which the insertion mark 608 is located. Through such movement, the insertion mark 608 is maintained at the position in the word 606 (e.g., between the character "R" and the character "L"). Such functionality may be referred to as line stickiness, which means that when the user input 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 text line. In some examples, the horizontal movement of the insertion mark 608 is combined with the vertical movement below the threshold distance so that the insertion mark 608 moves horizontally according to the horizontal movement.
[0233] Fig.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. Fig.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 user input 610, in some examples, insertion mark 608 is displayed in a location other than the area determined to correspond to user input 610. In some examples, insertion mark 608 is animated from, for example, Figure 6C The position shown is as follows Fig.6D The location shown (e.g., the insertion mark 608 is shown in Figure 6C The positions shown and Fig.6D In other examples, the insertion mark 608 is displayed at one or more locations between the locations shown. Figure 6CAt the location shown, and then immediately after Fig.6D At the location shown (e.g., the insertion mark 608 is not shown Figure 6C The positions shown and Fig.6D at a position between the positions shown).
[0235] like Fig.6D As shown, the insertion mark 608 is no longer displayed in the text line, but is displayed at a position 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] Fig. 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. Fig. 6E In the example, user input 610 has been compared to Fig.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 shows that once insertion marker 608 has moved outside of the area determined to correspond to user input 610, insertion marker 608 remains at a certain position relative to the area determined to correspond to user input 610 until user input 610 is lifted off. 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., FIG. 6A to FIG. 6B shown).
[0237] Fig. 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., Fig. 6E A second insertion mark 612 is shown after 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., Fig.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] Fig. 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. Fig. 6F In the example, user input 610 has been compared to Fig. 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] Fig. 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 Fig. 6E Not displayed in Fig. 6F It should be recognized that the technology described herein may not include Fig. 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. 6 , no user input is shown (e.g., user input 610 has been lifted off touch-sensitive display device 602). The lifting of user input 610 causes insertion mark 608 to remain at the location where the insertion mark was when the lifting occurred between characters. Fig. 6F In FIG. 6 , 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 off, 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 that is closest to the insertion mark when the user input is lifted off. Similar results are produced 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 character).
[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 a hold gesture in some examples. Also as discussed above, user input 614 can move laterally (e.g., left or right) while keeping insertion marker 608 at a position corresponding to the area determined as user input 614.
[0244] Fig.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. Fig.6I , user input 614 has been compared to user input 614 in Figure 6H The position in which the Figure 6C By such movement, insertion mark 608 is maintained at the position after the character "D" in word 606. Such functionality may be referred to as line stickiness, meaning that when user input 614 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.
[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 In FIG. 6 , 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). Fig.6D The situation under discussion is different. Fig.6I A situation is shown in which the insertion mark 608 is located above the area determined to correspond to the user input 614 without having to move the insertion mark 608. Such functionality is achieved due to the user input 614 moving in the downward direction, thereby displaying the insertion mark 608 at a position adjacent to above the area determined to correspond to the user input 614. After the insertion mark 608 is located adjacent to above the area determined to correspond to the user input 614, the insertion mark 608 is maintained at the position adjacent to above the area determined to correspond to the 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 Fig.6D ), and when the user input 614 is in the upward direction, the insertion marker is maintained at a position adjacent to and below the area determined to correspond to the user input 614 (similar to as described above in Fig.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 a position corresponding to the user input 614. For example, Figure 6J The user input 614 is shown at a first position, where the insertion mark 608 is 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 A user input 614 is shown at a second position after moving at a speed less than the speed threshold. Figure 6K As shown, insertion marker 608 has not yet maintained the same distance from user input 614 (e.g., the distance between insertion marker 608 and user input 614 has increased). Figure 6K Insertion marker 608 is shown maintaining its position after character "D" in word 606.
[0249] Figure 6L shows the display corresponding to the Figure 6K 3 characters to the left of (e.g., at the insertion point 608 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 user input 614 is moved, the 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 , user input 614 has been lifted off the touch-sensitive display device 602. The lifting of user input 614 causes insertion mark 608 to remain at the position where the insertion mark was when the lifting occurred between characters. Figure 6M In FIG. 6 , 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 position (e.g., a position 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 an initial position of user input 616. In one example, user input 616 is detected via touch-sensitive display device 602 as a finger swipe on 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 Fig.6O As shown.
[0253] Fig.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. Fig.6O 6, the content displayed in user interface 604 has been shifted (e.g., scrolled or moved) to the right. Such functions are performed due to user input 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 due to 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] FIG. 6A to FIG. 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] FIG. 7A to FIG. 7BA flow chart 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 receiving 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 generate content (e.g., using a display device) in a visual manner, 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 an 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 interval between battery charges.
[0258] The electronic device positions a first indicator on the touch-sensitive display device via the touch-sensitive display device (e.g., 608, such as Fig. 6A A focus indicator (eg, a cursor or text insertion mark) is displayed (702) at a position (shown).
[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 close to the first indicator position) (e.g., 610, as shown in FIG. 5 ). Fig. 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 different from the first touch location (e.g., Figure 6B , Figure 6C or Fig.6D movement of the position in the
[0261] In response to (708) detecting 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 having a second spatial relationship with the second touch location (e.g., Fig.6D ), the second spatial relationship is different from the first spatial relationship.
[0263] When the focus indicator is in a fourth indicator position (eg, the second indicator position or the third indicator position) ( Fig. 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 the manner in which the focus indicator moves. Allowing the user to move the focus indicator in this manner reduces the amount of input 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 third direction being toward (e.g., directly toward; along an axis perpendicular to the upper edge of the display) the upper edge of the touch-sensitive display, the electronic device moves (720) (e.g., repositions) the focus indicator along the third direction to a fourth indicator location (e.g., without displaying an animation of the indicator moving), the fourth indicator location being closer to the upper edge of the touch-sensitive display by a first predetermined distance (e.g., a distance from the upper edge of the touch-sensitive display) than the second touch location (e.g., moving the focus indicator along the third direction). FIG. 6B to FIG. 6D ). In some embodiments, the focus indicator moves along the vertical axis to a position closer to the upper 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 greater than a second predetermined distance from the first touch location (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), the fifth indicator location being along an axis perpendicular to the upper edge of the touch-sensitive display and closer to the upper edge by a third predetermined distance (e.g., the first predetermined distance) than the second touch location (e.g., FIG. 6H to FIG. 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 moving), the sixth indicator position being closer to the upper edge than the second touch position by a distance less than a 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), the seventh indicator position being closer to the upper edge of the touch-sensitive display than the third touch position by a first predetermined distance (e.g., FIG. 6E to FIG. 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 location 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 location, 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 location, the sixth direction being along an axis 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 location, the electronic device moves the focus indicator along the sixth direction to an eighth indicator location (e.g., a location along the same axis as the third indicator location that is parallel to the upper edge of the display; a location that is closer to the upper edge of the display than the fourth touch location), the eighth indicator location being at a distance from the fourth touch location 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 position has a first speed and a first movement distance, the distance between the second indicator position and the second touch position is a fourth predetermined distance; and based on determining that the movement of the touch gesture to the second touch position 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 position and the second touch position 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 spacing between the position of the moving indicator and the touch position is greater than the spatial spacing 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 movement distance of the gesture allows the user to intuitively and effectively control the way 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 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.
[0272] In some embodiments, the electronic device displays first text content (e.g., a text body; 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 a touch gesture to a second touch position, the focus indicator is moved to a 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., changes the position where the newly 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 abandons 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., Fig. 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., Fig.6O ). In some embodiments, in response to detecting the second touch gesture, the electronic device abandons scrolling the content based on determining that the fifth touch position does not correspond to the focus indicator. 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, wherein the third indicator location is closer to the top edge of the touch-sensitive display than the second touch location.
[0276] Note that the above reference method 700 (eg, FIG. 7A to FIG. 7B ) also apply in a similar manner to the methods described below. For example, method 700 optionally includes one or more of the characteristics 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 characteristics 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 characteristics 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] FIG. 8A to FIG. 8K An exemplary user interface showing 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 FIG. 9A to FIG. 9B process.
[0278] Fig. 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, a 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 Fig. 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 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 via touch-sensitive display device 602. 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 cannot 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 a location on touch-sensitive display device 602 corresponding to word 806b (sometimes referred to as a double tap that is 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, such as Fig.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 after the first time. FIG. 8B to FIG. 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 different (e.g., having a different color or pattern) from other areas.
[0283] Figure 8B Also shown is a start indicator 812 at a first side of the selection area 810 and an end indicator 814 at a second side of the selection area 810, the second side being opposite the first side. The start indicator 812 and the end indicator 814 indicate the beginning and end of the selection area 810 (respectively) and provide visual indications where the user can touch to modify the size of the selection area 810 and the selected content.
[0284] Figure 8C and Fig.8D The selection area 810 is shown to be contracted to a second size (in Figure 8C , smaller than the first size), and then shrinks to a third size (in Fig.8D , smaller than the second size). Figure 8C and Fig.8D Also shown are a start indicator 812 and an end indicator 814. Figure 8B The dimensions shown shrink to Fig.8D In some examples, the start indicator 812 and the end indicator 814 are Fig.8D The sizes shown start when the selection area 810 is the first size (eg Figure 8B shown) or a third dimension (such as Fig.8D In some examples, although FIG. 8B to FIG. 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 some time after the animation begins.
[0285] Fig. 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. Fig. 8E , user input 808 has been compared to user input 808 in FIG. 8A to FIG. 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. Fig. 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 being 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 start 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 maintained contact with the touch-sensitive display device 602 (e.g., the electronic device 600 has not detected the lift-off of the user input 808) (sometimes referred to as a single gesture). Figure 8F , user input 808 has been compared to user input 808 in Fig. 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 relative to user input 808 Fig. 8EAs user input 808 moves horizontally to the left from its position in word 806a, 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 locations where they were at the time of lift-off (e.g., as shown in FIG. Figure 8F For example, in Figure 8F : start indicator 812 is located before the character "W" in word 806b, end indicator 814 is located after the character "O" in word 806c, and selection area 810 extends from start indicator 812 to end indicator 814 (covering characters in both word 806b and word 806c). Figure 8G Middle: start indicator 812 is shown as remaining before the character "W" in word 806b, end indicator 814 is shown as remaining after the character "O" in word 806c, and selection area 810 is shown as remaining from start indicator 812 to end indicator 814 (covering characters in both word 806b and word 806c).
[0291] Figure 8G Also shown is user interface 804 including command region display 816 adjacent selection region 810. In some examples, command region 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] 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 indication 816a, a search enable indication 816b, and a share enable indication 816c. Figure 8GMore, less and / or different affordances are shown.
[0293] Copy-enable representation 816a, when selected (e.g., electronic device 600 receives user input corresponding to copy-enable representation 816a), causes the currently selected character (e.g., Figure 8G In one example, search affordance 816 b, when selected (e.g., electronic device 600 receives user input corresponding to search affordance 816 b), causes a search engine to be used to search for the currently selected characters (e.g., such as Figure 8G When shared affordance 816c is selected (e.g., electronic device 600 receives user input corresponding to shared affordance 816c), 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, user input 818 corresponds to selecting end indicator 814. In such embodiments, electronic device 600 determines that user input 818 corresponds to selecting end indicator 814 by detecting that user input 818 (sometimes referred to as a hold gesture) is held at a location corresponding to end indicator 814 on touch-sensitive display device 602 for an amount of time exceeding a threshold. In response to detecting user input 818, end indicator 814 is selected and can be moved to change the selected content, such as Figure 8I As 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, user input 818 has been moved to a position between the character "H" and the character "E" in word 808c such that end indicator 814 is at that position, start indicator 812 is held before the character "W" in word 806b, and selection area 810 encompasses the content between the character "W" in word 806b and the character "E" in word 806c (e.g., the character "H" in both word 806b and word 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 represent the position 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 Fig. 8E Move end indicator 814 is performed as described. Figure 8J to Figure 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, where 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 a functional input that turns on the selection mode. In one example, the user input includes pressing a shift key that allows the cursor to move to select content. It should be appreciated that other keys or affordances may be used as functional inputs.
[0298] FIG. 9A to FIG. 9B A flow chart 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 receiving 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 generate content (e.g., using a display device) in a visual manner, 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. The 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 saves power and increases the time interval 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 multiple groups of characters are displayed, 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 (start) of the group of characters (e.g., a start indicator such as a lollipop) and displays a second indicator (e.g., 814) at a second end (e.g., 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., FIG. 8E to FIG. 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 multiple 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, so that the movement causes the new word to be selected (e.g., 806c).
[0307] Selecting text according to a touch gesture in the manner described allows a user to intuitively and efficiently select text to subsequently perform one or more operations, for example, using an affordance of a command display area. Thus, 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.
[0308] In response to detecting the movement (914), the electronic device moves (918) the second indicator to one end (e.g., end) of the one or more additional characters based on one or more characteristics (e.g., direction, magnitude) of the movement (e.g., FIG. 8E to FIG. 8F ).
[0309] In some embodiments, in response to detecting the movement, the electronic device abandons (920) the movement of the first indicator (e.g., maintaining the first indicator at the first character in the group of characters) (e.g., FIG. 8E to FIG. 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., FIG. 8B to FIG. 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., FIG. 8E to FIG. 8F ).
[0312] Distinguishing the second word after distinguishing the first word without distinguishing one or more additional characters between the first time and the second time allows the 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. Therefore, allowing the user to select 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.
[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., FIG. 8B to FIG. 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 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., FIG. 8H to FIG. 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., Figure 8G ).
[0318] Note that the process described above with respect to method 900 (eg, FIG. 9A to FIG. 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 characteristics 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 at a position above the finger input according to method 700. For example, method 900 optionally includes one or more of the characteristics 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 adopted according to method 900. For example, method 900 optionally includes one or more of the characteristics 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] FIG. 10A to FIG. 10S An exemplary user interface showing techniques for selecting content according to some embodiments is shown. The user interface in some figures is used to illustrate the processes described below, which include Fig.11 process.
[0320] Fig. 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] The user interface 1002 includes a phone 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, the phone number 1004 is input by a user using the electronic device 600. For example, the user may type characters included in the phone number 1004 to cause the phone number 1004 to be displayed in the user interface 1002. In other examples, the phone number 1004 is provided in a different manner, such as when the phone number 1004 is included in a document being viewed on the electronic device 600.
[0322] Fig. 10B The electronic device 600 is shown displaying the user interface 1002 via the touch-sensitive display device 602 at a second time after the first time. Fig. 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. Fig. 10C As shown and discussed further below.
[0323] Fig. 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, Fig. 10CIt is shown that even if there are special characters separating character groups 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 end number 1004e), the phone number 1004 is selected, rather than just the middle number 1004c being selected. In some examples, the special characters are non-alphanumeric characters, such as "@", "#", "$", "%", " / ", "&", "*", "+", "-", "", ",",";", or ".".
[0324] In some examples, based on determining 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 being selected.
[0325] Fig. 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. Fig. 10D , no user input is shown (eg, user input 1008 has been lifted off of touch-sensitive display device 602).
[0326] like Fig. 10D As shown, lifting of user input 1008 causes selection area 1010 to remain at the location where the selection area was at the time of lifting (e.g., as shown in FIG. Fig. 10C For example, in Fig. 10C In the example, 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). Fig. 10C , the selection area 1010 is shown to be 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] Fig. 10D Also shown is user interface 1002 including command region display 1016 adjacent to selection region 1010. In some examples, command region 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. Fig. 10D In some examples, command area display 1016 includes copy enable indication 1016a, search enable indication 1016b and share enable indication 1016c. Fig. 10D More, less and / or different affordances are shown.
[0329] When copy-enabled representation 1016a is selected (e.g., electronic device 600 receives user input corresponding to copy-enabled representation 1016a), it causes the currently selected character (e.g., Fig. 10D In one example, search affordance 1016 b, when selected (e.g., electronic device 600 receives user input corresponding to search affordance 1016 b), causes a search engine to be used to search for the currently selected characters (e.g., such as Fig. 10D The shared affordance 1016c, when selected (e.g., electronic device 600 receives user input corresponding to the shared affordance 1016c), causes the currently selected character (e.g., Fig. 10D "123-456-7890") is shown inserted into messages to be sent to different devices.
[0330] FIG. 10E to FIG. 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., Fig.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] FIG. 10G to FIG. 10I 1020 does not meet the grouping selection criteria. Fig. 10B , Fig. 10H A 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, Fig.10I It is shown that only a subset of characters are selected, rather than all characters 1020 being selected. In some examples, because they are only 9 digits instead of 10 digits (e.g., 1020e includes 3 digits ("789") instead of 4 digits) (e.g. FIG. 10A to FIG. 10F ), since the characters 1020 do not represent a telephone number, only a subset of the characters is selected.
[0332] FIG. 10J to FIG. 10K , Figure 10N to Figure 10P as well as Figure 10S to Figure 10V It is shown that the grouping selection criteria can be used for special characters other than the dash (e.g., space, period, dollar sign, or slash, respectively). For example, Fig.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 FIG. 10J to FIG. 10K compared to, Figure 10L to Figure 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] Figure 10Q to Figure 10R It is shown that the grouping selection criteria can be used for single characters and single special characters.
[0335] Fig.11 A flow chart 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) (e.g., a mobile device) having a display 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 receiving 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 generate content (e.g., using a display device) in a visual manner, 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. The method reduces the cognitive burden on the user 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 saves power and increases the time interval 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 group of characters.
[0340] In response to receiving the user input (1106), the electronic device visually distinguishes (1108) the first group of characters from the second group 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 group of characters and the second group 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., Fig. 10C ).
[0341] In response to receiving the user input (1106), the electronic device visually distinguishes (1112) the first group of characters (e.g., Fig.10I ).
[0342] In response to receiving the user input (1106), the electronic device abandons (1114) visually distinguishing the second group of characters (e.g., Fig.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., Fig. 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 user input, the electronic device displays a command display area (e.g., 1016) adjacent to the first group of characters and the second group of characters. In some embodiments, the command display area includes an enabling representation (e.g., 1016a, 1016b, 1016c) that performs a first operation (e.g., cut, copy) on the first group of characters and the second group of characters when selected to apply a command (e.g., copy or cut).
[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) at the first end (beginning) of the first group of characters and the second group of characters (e.g., a start indicator such as a lollipop) and displays a second indicator (e.g., an end indicator such as a lollipop) at the second end (e.g., 1014) (e.g., 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 abandoning 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., 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., Fig. 10B ).
[0350] In some embodiments, when displaying one or more visually distinguished characters, 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. Fig. 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., Fig. 10C ).
[0352] Note that the process described above with respect to method 1100 (eg, Fig.11) may also be applied 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] FIG. 12A to FIG. 12H An exemplary user interface illustrating techniques for deleting content according to some embodiments is shown. The user interfaces in these figures are used to illustrate the processes described below, including FIG. 13A to FIG. 13B process.
[0354] Fig. 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] User interface 1202 includes three paragraphs (e.g., first paragraph 1204, second paragraph 1206, and third paragraph 1208) and insertion mark 1210. Each paragraph includes paragraph characters (e.g., first paragraph character 1204a, second paragraph character 1206a, and 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 can be used instead of characters to indicate new lines). Fig. 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] Fig. 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 without selecting the second paragraph character 1206a (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] Fig. 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 a 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. Fig. 12B In some examples, command area display 1212 includes a cut enable indication 1212a, a copy enable indication, and a paste enable indication. Fig. 12B More, less and / or different affordances are shown.
[0359] Cut-enabling indication 1212a, when selected (e.g., electronic device 600 receives user input corresponding to cut-enabling indication 1212a), causes 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-enabling indication, when selected (e.g., electronic device 600 receives user input corresponding to copy-enabling indication), causes currently selected content to be copied, so that the currently selected content can be later pasted at a location identified by the user. Paste-enabling indication, when selected (e.g., electronic device 600 receives user input corresponding to paste-enabling indication), causes the copied content to be inserted at a location identified by the user.
[0360] Fig. 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 1206 being deleted. Fig. 12C Shown in.
[0361] Fig. 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 is not selected when the cut operation corresponding to the user input 1214 is performed.
[0362] Fig.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 Fig.12E As shown.
[0363] Fig.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, Fig.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 Fig.12E More, less and / or different affordances are shown.
[0365] Fig.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 content being pasted into command area display 1218. Fig.12F Shown in.
[0366] Fig.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. 12B This result is due to the system determining that the user may have intended for the second paragraph character 1206a to be included after the second paragraph 1206.
[0367] FIG. 12G to FIG. 12H A different result is shown when the insertion mark 1210 is before the third paragraph character 1208a instead of after the third paragraph character 1208a. In such a case, the second paragraph character 1206a will not be added after the second paragraph 1206. Such a result is due to the system determining that the user may not intend to include the second paragraph character 1206a after the content from the second paragraph 1206, but rather wants to combine the third paragraph 1208 and the second paragraph 1206 into a combined paragraph 1226, where there is a single paragraph character (e.g., the third paragraph character 1208a) after the combined paragraph 1226.
[0368] FIG. 13A to FIG. 13B 1 is a flowchart showing 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) (e.g., a mobile device) having a display 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 receiving 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 generate content (e.g., using a display device) in a visual manner, 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. The 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 faster and more efficiently saves power and increases the time interval between battery charges.
[0371] The 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 paragraph and the third paragraph. 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 selection button) corresponding to a selection of a 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., Fig. 12B ).
[0374] In response to (1306) receiving the first user input, the electronic device abandons (1310) selecting the first new line character (eg, 1206a).
[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, Fig. 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 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., 1214).
[0377] In response to (1316) receiving the second user input, the electronic device deletes (1318) the second paragraph (e.g., Fig. 12C ).
[0378] In response to (1316) receiving the second user input, the electronic device deletes (1320) a 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 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 newline characters to be deleted. Allowing a user to delete 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.
[0380] In some embodiments, the request to delete the second paragraph is a delete or cut operation (e.g., Fig. 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., FIG. 12D to FIG. 12F ).
[0382] Adding new line characters in this manner (e.g., without input specifying that the new line characters are to be added) allows a user to edit text intuitively and efficiently without having to specifically select the new line characters to be added. Allowing a user to insert 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.
[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 sub-portion of a fifth paragraph (e.g., the first paragraph or the third paragraph) (e.g., the sub-portion of the paragraph is not the entirety of the paragraph). In some embodiments, in response to receiving the fifth user input, the electronic device selects the sub-portion of the fifth paragraph. In some embodiments, selecting the sub-portion of the paragraph includes visually distinguishing the portion of the second paragraph. In some embodiments, when the sub-portion 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 sub-portion 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 sub-portion of the fifth paragraph. In some embodiments, in response to receiving the sixth user input, the electronic device abandons 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 the second user input is received, 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., Fig. 12B ).
[0386] Note that the process described above with respect to method 1300 (eg, FIG. 13A to FIG. 13B ) may also be applied 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 preceding description is described by reference to specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or limit the invention to the disclosed precise form. According to the above teachings, many modifications and variations are possible. These embodiments are selected and described in order to best explain the principles of these technologies and their practical applications. Others skilled in the art can thus best utilize these technologies and various embodiments with various modifications suitable for the intended specific use.
[0388] Although the 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 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 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.). Therefore, 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 to individuals who use technology to pursue health goals.
[0391] This disclosure envisions that entities responsible for collecting, analyzing, disclosing, transmitting, storing or otherwise using such personal information data will comply with established privacy policies and / or privacy 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 data. Such policies should be easily accessible to users and should be updated as the collection and / or use of data changes. Personal information from users should be collected for legitimate and reasonable purposes of the entity and not shared or sold outside of these legitimate uses. In addition, such collection / sharing should be performed after receiving informed consent from the user. In addition, such entities should consider taking any necessary steps to defend and secure access to such personal information data and ensure that others who have access to personal information data comply with their privacy policies and processes. In addition, such entities may subject themselves to third-party assessments to demonstrate their compliance with widely accepted privacy policies and practices. In addition, policies and practices should be adjusted to specific types of personal information data collected and / or accessed, and to applicable laws and standards including specific considerations of jurisdiction. 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), while 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 in each country for different types of personal data.
[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 that hardware elements and / or software elements may be provided 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" at any time during or after registration for a service to participate in the collection of personal information data. 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 that 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 the user may be reminded again just before the personal information data is accessed by the application.
[0393] In addition, 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. Risks 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 at the address level), controlling how data is stored (e.g., aggregating data between users), and / or other methods when 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 also be implemented without access to such personal information data. That is, the various embodiments of the present technology will not fail to function properly due to the lack 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. 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: 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 selection of the first set of characters; as well as 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 is satisfied, wherein the set of grouping criteria is based on the first group of characters and the second group of characters, and wherein the set of grouping criteria includes a first criterion that is satisfied when the first group of characters, the second group of characters, and the special character between the first group of characters and the second group of characters together represent a predefined group, wherein visually distinguishing the first group of characters from the second group of characters includes displaying a first indicator at a first end of the first group of characters and the second group of characters and displaying a second indicator at a second end of the first group of characters and the second group of characters; as well as Based on determining that the set of grouping criteria is not met: visually distinguishing the first set of characters; as well as Forgoing visually distinguishing the second set of characters, wherein visually distinguishing the first set of characters and forgoing visually distinguishing the second set of characters comprises displaying a first indicator at a first end of the first set of characters and displaying a second indicator at a second end of the first set of characters. 2 . The electronic device of claim 1 , wherein the set of grouping criteria includes criteria that are satisfied when a focus indicator is currently displayed. The electronic device of claim 1 , wherein the special character is not an alphanumeric character.
4. The electronic device of claim 1, wherein the predefined group is selected from the group consisting of: at least a portion of a telephone number, at least a portion of a mailing address, at least a portion of an email address, at least a portion of a monetary value, and at least a portion of a date.
5. The electronic device of claim 1, wherein the one or more programs further comprise instructions for: In response to receiving the user input, a command display area is displayed adjacent to the first group of characters and the second group of characters, wherein the command display area includes an affordance that, when selected for applying a command, performs a first operation on the first group of characters and the second group of characters.
6. The electronic device according to claim 1, wherein: The electronic device comprises a touch-sensitive input device, and the user input is a touch gesture on the touch-sensitive input device.
7. The electronic device of claim 1, wherein the one or more programs further comprise instructions for: receiving a command to perform a second operation while the one or more visually distinguishable characters are displayed; as well as In response to receiving the command: performing the second operation on the one or more visually distinguished characters; as well as The second operation is abandoned for one or more characters that are not visually distinguished.
8. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display device, the one or more programs comprising instructions for performing the following operations: 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 selection of the first set of characters; as well as 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 is satisfied, wherein the set of grouping criteria is based on the first group of characters and the second group of characters, and wherein the set of grouping criteria includes a first criterion that is satisfied when the first group of characters, the second group of characters, and the special character between the first group of characters and the second group of characters together represent a predefined group, wherein visually distinguishing the first group of characters from the second group of characters includes displaying a first indicator at a first end of the first group of characters and the second group of characters and displaying a second indicator at a second end of the first group of characters and the second group of characters; as well as Based on determining that the set of grouping criteria is not met: visually distinguishing the first set of characters; as well as Forgoing visually distinguishing the second set of characters, wherein visually distinguishing the first set of characters and forgoing visually distinguishing the second set of characters comprises displaying a first indicator at a first end of the first set of characters and displaying a second indicator at a second end of the first set of characters. 9 . The non-transitory computer-readable storage medium of claim 8 , wherein the set of grouping criteria includes criteria that are satisfied when a focus indicator is currently displayed.
10. The non-transitory computer-readable storage medium of claim 8, wherein the special character is not an alphanumeric character.
11. The non-transitory computer-readable storage medium of claim 8, wherein the predefined group is selected from the group consisting of: at least a portion of a telephone number, at least a portion of a mailing address, at least a portion of an email address, at least a portion of a monetary value, and at least a portion of a date.
12. The non-transitory computer-readable storage medium of claim 8, wherein the one or more programs further comprise instructions for: In response to receiving the user input, a command display area is displayed adjacent to the first group of characters and the second group of characters, wherein the command display area includes an affordance that, when selected for applying a command, performs a first operation on the first group of characters and the second group of characters.
13. The non-transitory computer-readable storage medium of claim 8, wherein: The electronic device comprises a touch-sensitive input device, and the user input is a touch gesture on the touch-sensitive input device.
14. The non-transitory computer-readable storage medium of claim 8, wherein the one or more programs further comprise instructions for: receiving a command to perform a second operation while the one or more visually distinguishable characters are displayed; as well as In response to receiving the command: performing the second operation on the one or more visually distinguished characters; as well as The second operation is abandoned for one or more characters that are not visually distinguished.
15. A method comprising: 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 selection of the first set of characters; as well as 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 is satisfied, wherein the set of grouping criteria is based on the first group of characters and the second group of characters, and wherein the set of grouping criteria includes a first criterion that is satisfied when the first group of characters, the second group of characters, and the special character between the first group of characters and the second group of characters together represent a predefined group, wherein visually distinguishing the first group of characters from the second group of characters includes displaying a first indicator at a first end of the first group of characters and the second group of characters and displaying a second indicator at a second end of the first group of characters and the second group of characters; as well as Based on determining that the set of grouping criteria is not met: visually distinguishing the first set of characters; as well as Forgoing visually distinguishing the second set of characters, wherein visually distinguishing the first set of characters and forgoing visually distinguishing the second set of characters comprises displaying a first indicator at a first end of the first set of characters and displaying a second indicator at a second end of the first set of characters.
16. The method of claim 15, wherein the set of grouping criteria includes criteria that are satisfied when a focus indicator is currently displayed.
17. The method of claim 15, wherein the special character is not an alphanumeric character.
18. The method of claim 15, wherein the predefined group is selected from the group consisting of: at least a portion of a telephone number, at least a portion of a mailing address, at least a portion of an email address, at least a portion of a monetary value, and at least a portion of a date.
19. The method according to claim 15, further comprising: In response to receiving the user input, a command display area is displayed adjacent to the first group of characters and the second group of characters, wherein the command display area includes an affordance that, when selected for applying a command, performs a first operation on the first group of characters and the second group of characters.
20. The method of claim 15, wherein: The electronic device comprises a touch-sensitive input device, and the user input is a touch gesture on the touch-sensitive input device.
21. The method of claim 15, further comprising: receiving a command to perform a second operation while the one or more visually distinguishable characters are displayed; as well as In response to receiving the command: performing the second operation on the one or more visually distinguished characters; as well as The second operation is abandoned for one or more characters that are not visually distinguished.
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