User interface for transitioning between selection modes

By providing a combination of a touch-sensitive display and a contact intensity sensor in the user interface of an electronic device, the way users select content is optimized, the problems of low interaction efficiency and privacy protection are solved, and more efficient user interaction and privacy management are achieved.

CN115698933BActive Publication Date: 2025-09-09APPLE INC
View PDF 23 Cites 0 Cited by

Patent Information

Application Number
CN202180039623.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-06-01
Filing Date
2021-05-28
Publication Date
2025-09-09
Estimated Expiration
2041-05-28

AI Technical Summary

Technical Problem

In the prior art, the way users select content when interacting with electronic devices is inefficient, resulting in wasted processor and battery power, and making it difficult to effectively manage personally identifiable information to protect user privacy.

Method used

By providing an effective way to select part and/or the entire message in the user interface of an electronic device, the user interaction process is optimized and redundant input is reduced by utilizing a touch-sensitive display and a contact intensity sensor and combining tactile output and visual output.

Benefits of technology

It improves user interaction efficiency, reduces processor and battery power waste, and enhances privacy protection of personally identifiable information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115698933B_ABST
    Figure CN115698933B_ABST
Patent Text Reader

Abstract

In some embodiments, an electronic device presents representations of messages in a messaging user interface. In some embodiments, a user interacting with the messaging user interface may wish to select messaging content corresponding to one or more representations in the messaging user interface. In some embodiments, the electronic device provides for enabling selection of complete and / or partial messaging content in the messaging session.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of U.S. Provisional Application No. 63 / 033,125, filed June 1, 2020, the contents of which are incorporated herein by reference in their entirety for all purposes. Technical Field

[0003] This specification generally relates to electronic devices for selecting content in various selection modes, and user interaction with such devices. Background Art

[0004] In recent years, users' interactions with electronic devices have increased significantly. These devices may be devices such as computers, tablet computers, televisions, multimedia devices, mobile devices, etc. In some cases, users want to use electronic devices to select content for further actions. Summary of the Invention

[0005] Some embodiments described in this disclosure relate to providing a way to efficiently select partial and / or complete message content in a user interface that displays a representation of a message. Enhancing these interactions can improve the user experience with the device and reduce user interaction time, which is particularly important when the input device is battery-powered.

[0006] It is understood that the use of personally identifiable information should be subject to privacy policies and practices that are generally recognized to meet or exceed industry or government requirements for maintaining user privacy. Specifically, personally identifiable information data should be managed and processed to minimize the risk of unintentional or unauthorized access or use, and the nature of authorized use should be clearly stated to users. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] 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, in which like reference numerals designate corresponding parts throughout the several views.

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

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

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

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

[0012] Figure 4A An exemplary user interface for an application menu on a portable multifunction device according to some embodiments is shown.

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

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

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

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

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

[0018] Figures 6A to 6R An exemplary manner in which an electronic device according to some embodiments provides effective selection of partial and / or complete message content is shown.

[0019] 7A to 7B is a flow chart illustrating a method of providing efficient selection of partial and / or complete message content according to some embodiments of the present disclosure. DETAILED DESCRIPTION DETAILED DESCRIPTION

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

[0022] In some implementations, an exemplary electronic device presents content in a user interface, such as a message user interface that includes a representation of the message content. In some implementations, the exemplary electronic device provides an efficient way to select portions of a message and / or the entire message. Such techniques can reduce the cognitive burden on users of the exemplary electronic device. Furthermore, such techniques can reduce processor and battery power that would otherwise be wasted on redundant user input.

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

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

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

[0026] Embodiments of electronic devices, user interfaces for such devices, and processes associated with using such devices are described herein. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions, such as a PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, but are not limited to, the Apple Watch from Apple Inc. (Cupertino, California). Devices, iPod equipment, and Device. Optionally, other portable electronic devices are used, such as laptops or tablet computers with touch-sensitive surfaces (e.g., touch screen displays and / or touchpads). 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 touchpads). 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).

[0027] 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.

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

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

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

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

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

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

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

[0035] Peripherals interface 118 may be used to couple the device's input and output peripherals to CPU 120 and memory 102. One or more processors 120 run or execute various software programs and / or instruction sets stored in memory 102 to perform various functions of device 100 and process data. In some embodiments, peripherals interface 118, CPU 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, they are optionally implemented on separate chips.

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

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

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

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

[0040] 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.

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

[0042] 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

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

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

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

[0046] In some embodiments, in addition to the touch screen, the device 100 optionally includes a touchpad (not shown) 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.

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

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

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

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

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

[0052] Device 100 optionally also includes one or more accelerometers 168 . Figure 1A An accelerometer 168 is shown coupled to the peripherals interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 in the I / O subsystem 106. The accelerometer 168 optionally implements as described in the following U.S. Patent Publication No. 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices," and U.S. Patent Publication No. 20060017692, entitled "Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer," both of which are incorporated herein by reference in their entireties. In some embodiments, information is displayed in a portrait view or a landscape view on the touch screen display based on analysis of data received from one or more accelerometers. Device 100 optionally includes a magnetometer (not shown) and a GPS (or GLONASS or other global navigation system) receiver (not shown) in addition to accelerometer 168 for obtaining information about the position and orientation (e.g., portrait or landscape) of device 100.

[0053] 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: active application state, which indicates which application (if any) is currently active; display state, which indicates what applications, views, or other information occupy various areas of the touch screen display 112; sensor state, which includes information obtained from the device's various sensors and input control devices 116; and position information relating to the device's position and / or posture.

[0054] 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.

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

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

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

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

[0059] 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.

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

[0061] 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 .

[0062] 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).

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

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

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

[0066] Telephone module 138;

[0067] Video conferencing module 139;

[0068] Email client module 140;

[0069] Instant messaging (IM) module 141;

[0070] Fitness support module 142;

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

[0072] Image management module 144;

[0073] Video player module;

[0074] Music player module;

[0075] Browser module 147;

[0076] Calendar module 148;

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

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

[0079] Search module 151;

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

[0081] Memo module 153;

[0082] Map module 154; and / or

[0083] Online video module 155.

[0084] 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.

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

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

[0087] 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.

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

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

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

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

[0092] 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.

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

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

[0095] 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).

[0096] 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).

[0097] 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.

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

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

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

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

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

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

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

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

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

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

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

[0109] 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).

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

[0111] 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.

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

[0113] 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.

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

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

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

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

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

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

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

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

[0122] 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.

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

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

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

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

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

[0128] 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.

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

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

[0131] 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.

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

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

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

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

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

[0137] One or more signal strength indicators 402 of one or more wireless communications (e.g., cellular signals and Wi-Fi signals);

[0138] Time 404;

[0139] Bluetooth indicator 405;

[0140] Battery status indicator 406;

[0141] A tray 408 with common application icons, such as:

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

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

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

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

[0146] Icons for other applications, such as:

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

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

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

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

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

[0152] ○ Icon 434 labeled “Stock Market” of the Stock Market desktop applet 149-2;

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

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

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

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

[0157] o An icon 444 labeled "Memo" of the memo module 153; and

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

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

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

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

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

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

[0164] 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.

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

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

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

[0168] 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 process 700 ( 7A to 7B). 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.

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

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

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

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

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

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

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

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

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

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

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

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

[0181] In addition, in the method described herein where one or more steps depend on having met one or more conditions, it should be understood that the method can be repeated in multiple repetitions so that in the process of repetition, all conditions of the steps in the method of determining the method have been met in different repetitions of the method. For example, if the method needs to perform the first step (if the condition is met), and perform the second step (if the condition is not met), then those of ordinary skill will know that the steps stated are repeated until both the condition is met and the condition is not met (in no particular order). Therefore, the method described as having one or more steps depending on having met one or more conditions can be rewritten as a method of repeating until each condition described in the method is met. However, this does not require a system or computer-readable medium to declare that the system or computer-readable medium includes instructions for performing a contingent operation based on the satisfaction of the corresponding one or more conditions, and is therefore able to determine whether a possible situation has been met without explicitly repeating the steps of the method until all conditions of the steps in the method of determining the method have been met. Those of ordinary skill in the art will also understand that, similar to the method with a contingent step, a system or computer-readable storage medium can repeat the steps of the method as needed multiple times to ensure that all contingent steps have been performed.

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

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

[0184] The active application, which is currently displayed on the display of the device on which the application is being used;

[0185] Background applications (or background processes) that are not currently displayed but whose processes are being processed by one or more processors; and

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

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

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

[0189] User interface and associated processes

[0190] User interface to facilitate partial and complete content selection

[0191] The user interacts with the electronic device in many different ways, including using the device to send and / or receive messages. In some embodiments, those electronic devices display a messaging user interface in which the message sent and / or received is displayed. In some cases, the user who interacts with this type of messaging user interface on the electronic device may wish to select content from the message of this type of sending and / or receiving for further action (e.g., copying, pasting, etc.). The embodiments described below provide electronic devices that provide effective selection of partial and / or complete message content for further action. Enhancing the interaction with the device reduces the amount of time required for the user to perform the operation, thereby reducing the power consumption of the device and extending the battery life of battery-powered devices. It should be understood that people use the device. When a person uses the device, this person is optionally referred to as the user of the device.

[0192] Figures 6A to 6R The embodiments in these figures are used to illustrate the process described below, including reference to 7A to 7B The process described. Figures 6A to 6R The electronic device is shown to be capable of performing the following reference 7A to 7B Various examples of the manner in which the process is described are provided, but it should be understood that these examples are not meant to be limiting and that the electronic device can be used without reference to Figures 6A to 6R The following references are explicitly described 7A to 7B Describes one or more processes.

[0193] Figure 6AAn exemplary messaging user interface 602 is shown displayed by a device (e.g., the device 500 described with reference to Figures 1 to 5). In some embodiments, the user interface 602 is displayed by the device via a display generating component (e.g., "display 504"). In some embodiments, the display generating component is a hardware component (e.g., including electronic components) capable of receiving display data and displaying a user interface. In some embodiments, examples of display generating components include a touch screen display, a monitor, a television, a projector, an integrated, discrete, or external display device, or any other suitable display device. Figure 6A , the electronic device optionally also communicates with a touch-sensitive surface 451 (e.g., a touchpad) that optionally controls a cursor 601 displayed on the display 504. Figure 6A The touch-sensitive surface 451 is shown as being separate from the display 504, but it will be appreciated that the embodiments described herein may also be implemented with electronic devices including touch screens or other display / input configurations. In some embodiments, the position of the input is not a cursor, but is defined by, for example, the position of a user's finger (e.g., on a touch screen) or other quantities associated with the display / input configuration being used.

[0194] Figure 6A The example shown is a desktop user interface, and the messaging application is optionally one of multiple applications currently displayed within the desktop. For example, the electronic device also displays a user interface 605 for another application. In some embodiments, the messaging user interface described herein is displayed by a smartphone, media player, or tablet that displays one user interface for one application at a time. For example, a smartphone may display the messaging user interface as a full-screen user interface without simultaneously displaying a user interface for another application. In some embodiments, one or more other applications are running in the background of the smartphone, although the smartphone does not display the user interfaces for those applications. As another example, in some embodiments, the messaging user interface is displayed by a tablet that displays one or more user interfaces (including the messaging user interface) at a time. Figure 6A As shown, user interface 602 includes a plurality of messages from at least two users. Figure 6B This user interface 602 is described in more detail in .

[0195] Figure 6B Shown Figure 6A An exemplary detailed view of messaging user interface 602 is shown. Figures 6B to 6D A selection of a portion of the content of a single message is shown. Figures 6B to 6RThe user interface 602 is shown, but the user interface 605 for displaying the generation component 504 and other applications is not shown, but it should be understood that the following reference Figures 6B to 6R The example described can Figure 6A As described above, in some embodiments, the user interface 602 can be displayed in different ways, such as on a smartphone or media player that displays one user interface at a time or on a tablet that displays one or more user interfaces at a time. The messaging user interface 602 is optionally a user interface of a messaging application installed on the electronic device. The messaging application / user interface 602 optionally facilitates the sending and / or receiving of electronic messages (e.g., text messages, rich electronic messages, etc.) from the electronic device 500 to other user accounts (e.g., user accounts other than the user account of the device 500) / electronic devices and / or from other user accounts / electronic devices to the electronic device 500.

[0196] refer to Figure 6B , the messaging user interface 602 optionally includes representations 614 of various messaging conversations with other electronic devices (e.g., 614a, 614b, etc.), a search field 604 for searching for message content in the messaging user interface 602, and selectable options 608 that can be selected to compose a new message and / or start a new conversation with another electronic device. Figure 6B , representation 614b is currently selected (eg, highlighted by the bold font surrounding representation 614b). Consequently, the content of the messaging conversation corresponding to representation 614b (eg, the messaging conversation with Alice) is displayed on the right side of messaging user interface 602. Figure 6B The right side of the user interface 602 in includes an indication 610 of a participant (e.g., Alice) of the currently selected messaging session, and a selectable option 612 that can be selected to view additional detailed information related to the participant of the currently selected messaging session. Additionally, Figure 6B The right side of the user interface 602 includes a number of representations (e.g., 616a, 616b, etc.) of the messages 616 contained in the conversation (e.g., the number of partial and / or complete representations of the messages that will fit in the current view of the user interface 602), a text input field 618 for editing additional messages to add to the conversation, and a selectable option 620 to send / transmit those edited messages to the conversation.

[0197] In some embodiments, the representation of a given message includes a container (e.g., a message bubble) within which the contents of the message (e.g., text) are displayed. For example, Figure 6B616a in includes a message bubble containing the text content of its corresponding message (e.g., "Lorem ipsum dolor sit amet"). In some embodiments, representations of messages 616 provided to the conversation by the electronic device 500 of the present invention (e.g., the device that is displaying the user interface 602) are displayed on / toward one side of the user interface 602 (e.g., the right side, such as representations 616b and 616d), and representations of messages 616 provided to the conversation by other electronic devices (e.g., devices other than the device 500) are displayed on / toward the other side of the user interface 602 (e.g., the left side, such as representations 616a and 616c). In some embodiments, representations of messages 616 displayed on / toward different sides of the user interface 602 are also displayed with different visual characteristics, such as different container (e.g., message bubble) colors, different text colors, etc.

[0198] As previously mentioned, in some embodiments, a user interacting with the messaging user interface 602 may wish to select content from one or more messages in a messaging conversation (e.g., for further action, such as copying the content for later pasting, etc.). The embodiments described herein provide various ways to efficiently select partial / complete message content in a messaging conversation. For example, in Figure 6B , when cursor 601 is displayed at position 622 within representation 616d, the device detects a click on touch-sensitive surface 451 (e.g., via contact 603), and while the click is maintained, detects movement of contact 603 to the left on the touch-sensitive surface, as shown. Figure 6C In response, and before detecting the end of the selection input (e.g., lift-off of contact 603 from touch-sensitive surface 451), the electronic device moves cursor 601 to a new position 622 within representation 616d based on the movement of contact 603 on touch-sensitive surface 451, and highlights (e.g., using highlight indicator 624) the portion of text within representation 616d through which cursor 601 moved based on the movement of contact 603, as shown. Figure 6C As shown. Highlight indicator 624 optionally indicates which portion of the message will be selected when the end of the selection input is detected. Figure 6CAs shown, in some embodiments, highlighting of a portion of the content represented by 616d is represented by highlighting that portion of the content (e.g., using highlight indicator 624) without changing the appearance of other content (or other messages) within the message or the appearance of the container (e.g., bubble) in which the message is displayed as a whole. In some embodiments, highlight indicator 624 is a user interface element that is displayed as an overlay (e.g., at least partially transparent) on the content to be selected and / or any other manner of displaying the content to be selected differently from the content that will not be selected when the selection input ends (e.g., a different typeface, a different font, a different color, a different size).

[0199] exist Figure 6D In , the electronic device detects the lifting of contact 603 from touch-sensitive surface 451, and Figure 6C The portion of the message highlighted in representation 616d becomes selected / remains highlighted (e.g., for further action). Figure 6E , when cursor 601 is over (e.g., near) a selected portion of a message (e.g., corresponding to highlight indicator 624), the electronic device detects user input on touch-sensitive surface 451 (e.g., separate from and / or following contact 603, such as a double-contact click (e.g., via contacts 603a and 603b) or a right-click input). In response, the electronic device optionally displays a context menu for performing one or more actions on the selected portion of the message. For example, in Figure 6E , the context menu includes a selectable option 623a to copy the selected portion of the message and a selectable option 623b to cut (e.g., copy and delete) the selected portion of the message. Subsequent input for pasting the copied / cut portion of the message will optionally cause the electronic device to paste the copied / cut portion of the message into the target content input area. In some embodiments, lifting off contact 603 causes the context menu to be displayed, rather than in response to detecting user input (e.g., a double-contact click).

[0200] In some embodiments, input for selecting content from more than one message causes the selection mode of the electronic device to switch from a partial message selection mode (e.g., where portions of a single message are selected) (e.g., where selection is made character by character) to a full message selection mode (e.g., where the entirety of the message is selected) (e.g., where selection is made message by message, such that character by character selection is unavailable (e.g., content of less than the entire message cannot be selected)), as will now be described. For example, if the electronic device is Figure 6B The input is detected and then the contact 603 is Figure 6F616d to position 622 within representation 616c, and before the electronic device detects liftoff of contact 603 from touch-sensitive surface 451, the electronic device optionally switches to full message selection mode. In some embodiments, in full message selection mode, the electronic device indicates that the entirety of the message to which cursor 601 was moved during the selection input will be selected upon detecting the end of the selection input, regardless of the location within the message to which cursor 601 had been moved. For example, Figure 6F In the example, during the selection input, the cursor 601 has moved from the representation 616d ( Figure 6B ) moves to the display 616c( Figure 6F ) within position 622. In response, the electronic device optionally indicates that the entirety of the contents of representation 616c will be selected upon detecting the end of the selection input, even if the cursor 601 has only moved to position 622 between the words "sem" and "viverra." In some embodiments, when the entirety of the contents of a given representation is indicated as selected, subsequent actions (e.g., copy, paste, etc.) apply to the entirety of the contents of the given representation. Additionally, in some embodiments, the electronic device indicates selection of the entirety of the contents of a given representation by modifying the appearance of the container (e.g., a bubble) that contains the content, rather than displaying a highlight indicator that spans the entirety of the contents of the container (e.g., rather than highlighting each character individually). For example, in Figure 6F In some embodiments, the electronic device has modified the appearance (e.g., color, shading, transparency, size, etc.) of the message bubble of representation 616c to indicate that all message content of the representation will be selected when the selection input ends (e.g., lift-off of contact 603), rather than displaying a highlight indicator spanning all message content of representation 616c. However, in some embodiments, the electronic device instead displays a highlight indicator spanning all message content of representation 616c, rather than modifying the appearance of the message bubble of representation 616c. In the manner described above, the electronic device is able to provide an efficient way to select the entirety of the messages in the messaging conversation without having to detect a separate input for transitioning to a full message selection mode (e.g., separate from the selection input itself spanning multiple messages).

[0201] In some embodiments, the message where the cursor 601 is located when the selection input begins (e.g., Figure 6B ) remains partially selected even if the cursor is moved to another message during the selection input. For example, in Figure 6F616d when the selection input ends. In some embodiments, the portion of the message of representation 616d designated by highlight indicator 624 that is selected is the location of cursor 601 when the selection input begins (e.g., Figure 6B ) and the cursor 601 in the representation 616c is in Figure 6F In some embodiments, the electronic device does not change the portion of the message between the locations in the Figure 6F The appearance of the container (e.g., bubble) shown in FIG. 616d is not changed, but rather, as previously described, a highlight indicator 624 is used to indicate the portion of the message that is designated as selected. Figure 6G , the electronic device detects liftoff of contact 603 from touch-sensitive surface 451, and Figure 6F The portion of the message represented by 616d that is highlighted in the , and the entire message represented by 616c for which the container appearance is modified become selected / remain highlighted (e.g., for further action). Figures 6F to 6G , the appearance of the container representing 616c and the highlighted appearance of the portion of the message representing 616d remain the same.

[0202] The selection of additional messages is optionally performed according to the complete selection mode described above. Figure 6H , the electronic device detects additional leftward and upward movement of contact 603 on touch-sensitive surface 451 (e.g., from Figure 6F ), rather than Figure 6G In response, the electronic device moves the cursor to position 622 within the message representation 616b, as shown in FIG. Figure 6HAs shown. Thus, the electronic device optionally indicates that the entirety of the messages of representations 616b and 616c and a portion of the message of representation 616d (e.g., the portion highlighted by highlight indicator 624) will be selected in response to detecting the end of the selection input. In some embodiments, the entirety of the message of representation 616b will be selected in response to detecting the end of the selection input, regardless of the position of cursor 601 within representation 616b (e.g., as described with reference to representation 616c). In addition, the electronic device optionally indicates that the entirety of the message of representation 616b will be selected by changing the appearance of the container (e.g., bubble) of representation 616b. In some embodiments, the appearance of the container of representation 616b is different from the appearance of the container of representation 616c (e.g., a different color, a different shade, etc.), even if both are indicated as being fully selected because their corresponding messages are optionally provided to the messaging session by different electronic devices. In some embodiments, the electronic device indicates that the entirety of the message of representation 616b will be selected by displaying a highlight indicator over the entire contents of representation 616b rather than changing the appearance of the container of representation 616b.

[0203] In some embodiments, when a selection input spanning multiple messages is detected, the electronic device also performs a complete message selection on the original message (e.g., the message where the selection input begins) rather than performing a partial message selection on the original message (e.g., Figures 6B to 6H For example, in Figures 6I to 6K In the case of electronic devices, the Figures 6B to 6C and Figure 6F and during the selection input, indicates that the entirety of the message represented by 616d will be selected upon detection of the end of the selection input. This response is optionally combined with Figures 6B to 6H 616d is selected. As previously described, the electronic device optionally indicates that the entirety of the message of representation 616d is to be selected by changing the appearance of a container (e.g., a bubble) for representation 616d. In some embodiments, the electronic device instead indicates that the entirety of the message of representation 616d is to be selected by displaying a highlight indicator over the entire contents of representation 616d rather than changing the appearance of the container for representation 616d.

[0204] In some embodiments, in response to the selection input moving back into a single message (e.g., specifying the content of a single message to be selected), the electronic device transitions back to partial message selection mode. Figure 6L in Figure 6K During the same selection input of Figure 6KAfter detecting movement of contact 603 in the touch sensitive surface, the electronic device detects movement of contact 603 downward and to the right on the touch sensitive surface to move cursor 601 back to position 622 within representation 616d, as shown in FIG. Figure 6L In response, the electronic device no longer indicates that the entire message of representation 616d will be selected upon detecting the end of the selection input. Instead, in some embodiments, the electronic device indicates using highlight indicator 624 that a portion of the message of representation 616d will be selected upon detecting the end of the selection input (e.g., Figure 6I The original position of the cursor 601 and Figure 6L The portion between the cursor 601 position in ).

[0205] In some embodiments, the selection mode of the user input is changed based on the direction of movement of the user input (e.g., up or down in the timeline of messages in the conversation). For example, when the selection mode of the user input is in full selection mode (as described above) based on the user input moving in a first direction (e.g., the user input moves in a first direction, causing the user input to move outside a single message and into a second message different from where the user input started), when the user input moves a predetermined amount of distance (e.g., a non-zero amount of distance) in a second direction different from the first direction (e.g., opposite to the first direction) (e.g., downward), the selection mode changes from full selection mode to partial selection mode. Such embodiments allow the selection mode of the user input to be switched back to partial selection mode within the second message by changing the direction of the user input (such as from a first direction (e.g., a direction that causes the selection mode to change from partial selection mode to full selection mode) to a second direction). In some embodiments, after changing from a full selection mode to a partial selection mode within the second message, when the user input moves outside the second message and into a third message (e.g., different from the first and second messages), the selection mode of the user input changes from a partial selection mode to a full selection mode (e.g., by moving in a first direction), similar to as described above when moving outside a single message.

[0206] In some embodiments, selection inputs other than movement-based selection inputs also result in selection of complete and / or partial messages according to the above-described embodiments. Figure 6M , the electronic device has detected a first selection input (e.g., the end of the first selection input) that has caused a portion of the message represented by 616d to be selected (e.g., the portion indicated by highlight indicator 624). Figure 6M, after the first selection input, the electronic device detects an upward and leftward movement of contact 603 on touch-sensitive surface 451 and, in response, moves cursor 601 to be displayed within representation 616a while the portion of the message of representation 616d remains selected (e.g., indicated by highlight indicator 624). Figure 6N , when cursor 601 is within representation 616a and a portion of the message of representation 616d is selected, the electronic device detects a click input on touch-sensitive surface 451 (e.g., via contact 603) while, for example, shift key 626 on a keyboard (e.g., a physical or virtual keyboard) is pressed. In some embodiments, a different key on the keyboard or other additional input (e.g., in addition to the click input on touch-sensitive surface 451) is detected instead.

[0207] In response to Figure 6N 616d and the message of representation 616a, and the entirety of the message of representation 616a. Figure 6N 616a regardless of where the cursor 601 is located within the representation 616a. Figure 6N In the embodiment of the present invention, the electronic device has retained a partial selection of the message represented by 616d (e.g., similar to the reference Figure 6F ), but additionally includes a portion of the message representing 616d, which is located at Figure 6M between the portion of the message in the previously selected representation 616d and the representation 616a (e.g., excluding Figure 6M 'eu volutpat' part of the message previously selected in ). Figure 6O In an embodiment, the electronic device instead responds to Figure 6M and Figure 6O 616d (e.g., similar to reference 616d). Figure 6K described). Although Figure 6N and Figure 6O Shows that the complete selection of a message is indicated by changing the style of the container representing itself (e.g. Figure 6N 、 Figure 6O 616a, 616b and 616c and Figure 6O 616d), but in some embodiments, the electronic device 500 instead indicates complete selection of the message by highlighting all of the contents of the representation while maintaining the appearance of the container.

[0208] In some embodiments, the electronic device similarly responds in response to a non-motion-based selection input to select the content of the original message and one additional message (without selecting a message between the two messages). Figure 6P , the electronic device has detected a first selection input (e.g., the end of the first selection input) that has caused a portion of the message represented by 616d to be selected (e.g., the portion indicated by highlight indicator 624). Figure 6P , after the first selection input, the electronic device detects an upward and leftward movement of contact 603 on touch-sensitive surface 451 and, in response, moves cursor 601 to be displayed within representation 616a while the portion of the message of representation 616d remains selected (e.g., indicated by highlight indicator 624). Figure 6Q , when cursor 601 is within representation 616a and a portion of the message of representation 616d is selected, the electronic device detects a click input on touch-sensitive surface 451 (e.g., via contact 603) while, for example, pressing a command key 628 on a keyboard (e.g., a physical or virtual keyboard). In some embodiments, a different key on the keyboard or other additional input (e.g., in addition to the click input on touch-sensitive surface 451) is detected instead (e.g., Figures 6N to 6O key or additional input is different).

[0209] In response to Figure 6Q In some embodiments, the electronic device optionally indicates that upon detecting the end of the selection input (e.g., lift-off of contact 603 after the click), the entire message of representation 616a will be selected (e.g., rather than the message between representation 616d and the message of representation 616a), for example, by changing the appearance of the message container of representation 616a as previously described or displaying a highlight indicator spanning the entire message in representation 616a. Figure 6Q 616a regardless of where the cursor 601 is located within the representation 616a. Figure 6Q In the embodiment of the present invention, the electronic device has retained a partial selection of the message represented by 616d (e.g., similar to the reference Figure 6F ) without additionally including in the selection the portion of the message 616d represented at Figure 6P between the portion of the message in the previously selected representation 616d and representation 616a (e.g., also not including Figure 6P The "euvolutpat" part of the message previously selected in ). Figure 6R In an embodiment, the electronic device instead responds to Figure 6P and Figure 6R616d (e.g., similar to reference 616d). Figure 6K described). Although Figure 6Q and Figure 6R Shows that the complete selection of a message is indicated by changing the style of the container representing itself (e.g. Figure 6Q and Figure 6R In the representation 616a and Figure 6R 616d), but in some embodiments, the electronic device 500 instead indicates complete selection of the message by highlighting all of the contents of the representation while maintaining the appearance of the container.

[0210] 7A to 7B 700 is a flow chart illustrating a method for providing effective selection of partial and / or complete message content according to some embodiments of the present disclosure. Method 700 is optionally performed on an electronic device (such as device 100, device 300, device 500), as described above with reference to Figure 1A-1B 、 Figure 2-Figure 3 、 Figure 4A-4B and Figures 5A-5H Some operations in method 700 are optionally combined, and / or the order of some operations is optionally changed.

[0211] As described below, method 700 provides an electronic device with a method for efficiently selecting partial and / or complete message content. This method reduces the cognitive burden on a user when interacting with the device user interface of the present disclosure, thereby creating a more efficient human-computer interface. For battery-powered electronic devices, improving the efficiency of user interaction with the user interface saves power and increases the time between battery charges.

[0212] In some embodiments, method 700 is performed at an electronic device that communicates with a display generation component and one or more input devices (e.g., a mobile device (e.g., a tablet, a smartphone, a media player), a computer (e.g., a desktop computer, a laptop computer), or a wearable device (e.g., a watch, a head-mounted device). In some embodiments, the display generation component is a display integrated with the electronic device (optionally a touch screen display) and / or an external display (e.g., a monitor, a projector, a television, etc.).

[0213] In some embodiments, such as Figure 6B, the electronic device 500 displays (702) a messaging user interface including a representation 616d of a first message and a representation 616c of a second message via a display generation component. In some embodiments, the representation of the corresponding message includes an indication of the user account that sent the message and the content (e.g., text) of the message. The content of the message is optionally displayed within a container (e.g., a window or bubble or other visual container). In some embodiments, the representation of the corresponding message does not include a visual indication of the user account that sent the message. Alternatively, in some embodiments, for a messaging session with two (or more) participants, messages from the user account of the electronic device are displayed as aligned with one side (e.g., the right side) of the messaging user interface, and messages from different user accounts (e.g., from other electronic devices other than the electronic device) are aligned with the other side (e.g., the left side) of the messaging user interface.

[0214] In some embodiments, such as Figure 6C , while displaying a messaging user interface, the electronic device 500 receives (704) a selection input 603 comprising a first part and a second part via one or more input devices 451. In some embodiments, the selection input selects the content of the messaging session (e.g., text, an image, etc.). In some embodiments, the selection input comprises a touch press on the touch-sensitive surface and / or a click on a mouse button, followed by a drag input, followed by a lift-off from the touch-sensitive surface / mouse button. In some embodiments, the lift-off from the touch-sensitive surface / mouse button is the end of the selection input. In some embodiments, the first part of the selection input is a portion of the drag while maintaining the touch press / click of the mouse button, and the second part of the selection input is another portion of the drag while maintaining the touch press / click of the mouse button. In some embodiments, the first and second parts of the selection input precede the end of the selection input.

[0215] In some embodiments, such as Figure 6C As shown in , while receiving the selection input and before detecting the end of the selection input (706) (e.g., lift-off of the selection of the messaging content (e.g., lift-off of the contact on a touch-sensitive surface such as a touchpad or touch screen or lift-off of a selection button of a mouse or keyboard) or another indication by the user that the messaging content is complete), in response to receiving the first portion of the selection input, the electronic device 500 indicates (708) that the first portion 624 of the first message will be selected when the end of the selection input is detected. The electronic device optionally changes a visual characteristic of the first portion (e.g., text) to indicate that the first portion will be selected in response to detecting the end of the selection input. For example, the electronic device displays a highlight over or around the first portion, displays the first portion in a different size or color than previously displayed, or displays a visual indication around the first portion marking the boundaries of the selection.

[0216] In some embodiments, such as Figure 6C As shown in , while receiving the selection input and before detecting the end of the selection input (706), in response to receiving a second portion of the selection input, where the second portion of the selection input includes a movement input (710) to a corresponding location in the messaging user interface (e.g., the electronic device detects movement of a marker of a boundary of the selection beyond the first portion (e.g., movement of a cursor via a directional input detected at an input device such as a keyboard, mouse, touchpad, or movement of a contact on a touch screen), thereby selecting the second portion in addition to the first portion), based on determining that the corresponding location in the messaging user interface corresponds to the second portion 624 of the first message, the electronic device 500 indicates (712) that the first and second portions of the first message, but not the third portion of the first message, will be selected when the end of the second selection input is detected. In some embodiments, the electronic device detects movement of the selection input that covers the first and second portions of the first message, but not the third portion of the first message. In some embodiments, the electronic device enables the user to select one or more portions of the first message, but not all, of the first message. For example, a user begins a selection input at the beginning of a first word in a first message, moves the selection input to encompass the entire first word, and continues to move the selection input to encompass a second word in the first message, and in response, the electronic device highlights the first word and the second word in the first message without highlighting one or more other words in the first message. In this example, in response to detecting the end of the selection input, the electronic device selects the first word and the second word in the first message without selecting one or more other words in the first message.

[0217] In some embodiments, such as Figure 6FAs shown in FIG, while receiving a selection input and before detecting an end of the selection input (706), in response to receiving a second portion of the selection input, wherein the second portion of the selection input includes a movement input to a corresponding location in a messaging user interface (710), based on determining that the corresponding location in the messaging user interface corresponds to a first portion of a second message (e.g., a movement across one or more characters or words of the second message, but not encompassing the entirety of the second message), the electronic device indicates (714) that the entirety of the second message will be selected upon detecting the end of the selection input. In some embodiments, the electronic device detects the movement of the selection input encompassing the first portion of the first message and the first portion of the second message. In some embodiments, in response to detecting the movement of the selection input encompassing portions of the first message and the second message, the electronic device indicates that, in response to detecting the end of the selection input, the selection will include the entirety of the second message, even if the movement of the selection input did not encompass the entirety of the second message. For example, a user begins selecting a sentence of the first message and moves the selection input to a location encompassing a word of the second message, but not the entirety of the second message, and in response to detecting the movement of the selection input, the messaging user interface is updated to indicate that the first portion of the first message and the entirety of the second message will be selected. In some embodiments, the first portion of the first message is selected, but not the entirety of the first message. In some embodiments, the entirety of the first message is selected even if the movement of the selection input does not encompass the entire first message.

[0218] In some embodiments, such as Figure 6H As shown in , while receiving a selection input and before detecting the end of the selection input (706), in response to receiving a second portion of the selection input, wherein the second portion of the selection input includes a movement input to a corresponding location in a messaging user interface (710), based on determining that the corresponding location in the messaging user interface corresponds to a second portion of a second message that is different from the first portion of the second message, the electronic device 500 indicates (716) that the entirety of the second message will be selected when the end of the selection input is detected. In some embodiments, regardless of which portion of the second message is included in the movement of the selection input, the electronic device indicates that the entirety of the second message will be selected in response to detecting the end of the selection input. In some embodiments, in response to detecting the movement of a selection input that covers portions of more than one message, the electronic device indicates that the entirety of each message whose portion is covered by the movement of the selection input will be selected in response to detecting the end of the selection. In some embodiments, the electronic device indicates that the entire message will be selected by updating the appearance of the message's container (e.g., a window, a bubble) rather than updating the appearance of the message's content. For example, the electronic device changes the color of the bubble, including the content of the message that will be selected in its entirety.

[0219] The above-mentioned manner of switching between partial selection and complete selection of message content enables the electronic device to provide an efficient way of selecting message content, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by enabling the user to quickly select multiple entire messages when needed, and reducing the time the user spends trying to select part of the first message and part of the second message by conveying to the user that the entire second message will be selected before the selection input is final input), which additionally reduces power usage and improves the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.

[0220] In some embodiments, such as Figure 6G , the end of the selection input includes a lift-off event. In some embodiments, the selection input includes an initial selection that is maintained while the movement input is detected to specify the portion of the content to be selected, followed by a release of the selection (e.g., a lift-off) to specify the end of the selection input. For example, a selection made using a mouse includes an initial click, movement of the mouse, and then release of the mouse button, i.e., a lift-off. As another example, a selection made using a touch-sensitive surface includes contact, movement of the contact, and then lift-off of the contact to end the selection input.

[0221] The above-mentioned manner of ending the selection input in response to detecting a lift-off event enables the electronic device to effectively stop adding content to the selection, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by reducing the input required to control the selection and make the selection), which additionally enables the user to use the electronic device more quickly and efficiently to reduce power usage and improve the battery life of the electronic device.

[0222] In some embodiments, such as Figure 6D As shown in , the electronic device 500 detects the end of the selection input. In some embodiments, such as Figure 6DAs shown in , in response to detecting the end of the selection input, based on determining that the corresponding position in the messaging user interface corresponds to the second part of the first message, the electronic device 500 selects the first part and the second part of the first message, rather than the third part of the first message, for further input. In some embodiments, subsequent input corresponding to a request to perform an action on the selected content will point to the first part and the second part of the first message, rather than the third part of the first message. For example, additional actions include copying, cutting, searching, and other actions. In some embodiments, the electronic device displays the selected portion of the first information with visual characteristics that are different from the visual characteristics of the unselected portion of the first message. For example, the electronic device highlights the selected portion of the first content. In some embodiments, the electronic device changes the size or color of the selected portion of the content, or visually distinguishes it in another way.

[0223] In some embodiments, such as Figure 6G As shown in , in response to detecting the end of the selection input, based on determining that the corresponding position in the messaging user interface corresponds to the first part of the second message, the electronic device 500 selects the entirety of the second message for further input. In some embodiments, subsequent input corresponding to a request to perform an action on the selected content will point to the entirety of the second message and a portion of the first message included in the selection. For example, additional actions include copying, cutting, searching, and other actions. In some embodiments, the selected content is displayed with an appearance indicating that it is selected, such as by changing the appearance of the content or changing the appearance of the container in which the content of the second message is displayed. In some embodiments, the electronic device highlights the selected content in a different color from the unselected content, in a different size from the unselected content, or distinguishes the selected content in some other way. In some embodiments, the electronic device displays a container in which the content of the second message is displayed in a color different from the color displayed by the container before the second message is selected.

[0224] In some embodiments, such as Figure 6D As shown in , in response to detecting the end of the selection input, based on determining that the corresponding position in the messaging user interface corresponds to a second portion of the second message that is different from the first portion of the second message, the electronic device 500 selects the entire second message for further input. In some embodiments, subsequent input corresponding to a request to perform an action on the selected content will be directed to the entire second message and the portion of the first message included in the selection. For example, additional actions include copying, cutting, searching, and other actions.

[0225] The above-mentioned manner of selecting portions of the first message and the second message indicated by the selection input for further action enables the electronic device to indicate to the user the portion of the message to which the input will be directed before entering the input, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by reducing user errors when performing operations on the selected portion of the message), which additionally reduces power usage and improves the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.

[0226] In some embodiments, such as Figure 6B , representation 616c of the second message includes a user interface element that includes the content of the second message. In some embodiments, the content of the second message is displayed within a container, such as a window, bubble, or other display outline surrounding the content of the second message. The user interface element optionally includes the content of the second message displayed on a background contained within the user interface element.

[0227] In some embodiments, such as Figure 6B As shown in , before receiving the selection input, the user interface element is displayed with a visual characteristic having a first value. In some embodiments, when the user interface element is not selected, the outline of the user interface element is displayed with a first thickness, a first line style, or a first color, and / or the background of the user interface element is displayed with a first color, translucency, or pattern, or the user interface element itself is displayed with a first size or position. In some embodiments, before receiving the selection input, the content of the second message is displayed with a first visual appearance. For example, text content is displayed with a first size, color, and text style, and images are displayed with a first size, color, and a first outline or no outline.

[0228] In some embodiments, such as Figure 6K, indicating that the entirety of the second message will be selected when the end of the selection input is detected includes displaying the user interface element with a visual characteristic having a second value different from the first value. In some embodiments, when the entirety of the user interface element is selected, the outline of the user interface element is displayed with a second thickness, a second line style, or a second color, and / or the background of the user interface element is displayed with a second color, translucency, or pattern, or the user interface element itself is displayed at a second size or position that is different from the way the user interface element was displayed before the user interface element was selected. In some embodiments, after receiving the selection input, the content of the second message is displayed with a first visual appearance that is the same as the visual appearance of the content displayed before the selection input is detected. In some embodiments, one or more visual characteristics of the content of the message before receiving the selection input are different from the visual characteristics of the content of the message after receiving the selection input. For example, text content is displayed at a first size, color, and text style, and images are displayed at a first size, color, and a first outline or no outline.

[0229] The above-mentioned manner of updating the visual characteristics of the user interface element containing the content of the second message in response to detecting the selection of the entire second message enables the electronic device to effectively convey to the user the selection of the entire content of the second message, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by reducing user errors and the input required to correct user errors caused by misunderstandings about which content was selected), which additionally reduces power usage and improves the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.

[0230] In some embodiments, such as Figure 6B As shown in , representation 616c of the second message includes a user interface element that contains the content of the second message (in some embodiments, the content of the second message is displayed within a container, such as a window, bubble, or other display outline surrounding the content of the second message. The user interface element optionally includes the content of the second message displayed on a background contained within the user interface element.

[0231] In some embodiments, such as Figure 6BAs shown in , before receiving the selection input, the user interface element is displayed with a visual characteristic having a first value, and the content of the second message is displayed without a selection indicator (e.g., not covered by the selection indicator), wherein the selection indicator is different from the user interface element. In some embodiments, when the content of the second message is not selected, the outline of the user interface element is displayed with a first thickness, a first line style, or a first color, and / or the background of the user interface element is displayed with a first color, translucency, or pattern, or the user interface element itself is displayed with a first size or position. In some embodiments, the selection indicator is highlighted as covering the content of the message, and the content of the message does not cover the entirety of the user interface element containing the content of the second message. In some embodiments, the selection indicator is the display of the content of the message with a visual characteristic having a value different from the value of the visual characteristic before the selection of the content of the message. For example, the electronic device displays the selected text in a color, text style (e.g., bold, italic, underline) or size different from the unselected text. In some embodiments, the selection indicator is a user interface element displayed as containing the content of the second message, such as a box or other outline displayed around the selected content, and is different from the user interface element containing the content of the message.

[0232] In some embodiments, indicating that the entirety of the second message will be selected upon detecting the end of the selection input includes maintaining display of a user interface element with a visual characteristic having a first value, such as Figure 6B In some embodiments, when the content of the second message is selected, the outline of the user interface element continues to be displayed with the first thickness, first line style, or first color, and / or the background of the user interface element continues to be displayed with the first color, translucency, or pattern, or the user interface element itself continues to be displayed with the first size or position.

[0233] In some embodiments, indicating that the entirety of the second message will be selected when the end of the selection input is detected includes displaying the contents of the second message using a selection indicator similar to highlight 624 (e.g., covered by the selection indicator), such as Figure 6J. In some embodiments, in response to selection of the entire second message, all of the content in the second message is displayed using a selection indicator. In some embodiments, displaying the content using the selection indicator includes one or more of the following: displaying the content in a size, color, text style (e.g., bold, italic, underline, highlighting), and / or outline that is different from the way the content was displayed before the content was selected or indicated for selection. The above-mentioned manner of displaying the content of the second message using a selection indicator in response to selection of the second message enables the electronic device to effectively indicate to the user that the content of the second message is selected, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (e.g., by reducing user errors and the input required to correct user errors), which additionally reduces power usage and improves the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.

[0234] In some embodiments, such as Figure 6L As shown in , in response to receiving the second part of the selection input, based on determining that the corresponding position in the messaging user interface corresponds to the first part of the second message, the electronic device 500 indicates that the first part of the first message will be selected when the end of the selection input is detected, rather than the fourth part of the first message. In some embodiments, the only part of the first message that will be selected in response to detecting the end of the selection input is the first part of the first message covered by the selection input, even if the entire second message will be selected in response to the end of the selection input. When the selection input is being performed before detecting the end of the selection input, the electronic device optionally indicates that the first part of the first message will be selected in response to the end of the selection input. In some embodiments, the electronic device indicates that the content is for selection by changing the size, color, text style (e.g., bold, underline, highlighting, italics) and / or outline of the content compared to the manner in which the content is displayed before the content is indicated for selection. In some embodiments, indicating the first part of the first message and the entire second message for selection includes indicating that the content between the first part of the first message and the entire second message will also be selected, such as additional content of the first message or another message between the first message and the second message.

[0235] In some embodiments, such as Figure 6L, based on determining that the corresponding position in the messaging user interface corresponds to the second part of the second message, the electronic device 500 indicates that the first part of the first message will be selected when the end of the selection input is detected, rather than the fourth part of the first message. In some embodiments, the only part of the first message that will be selected in response to detecting the end of the selection input is the first part of the first message covered by the selection input, even if the entire second message will be selected in response to the end of the selection input, regardless of the part of the second message covered by the selection input. In some embodiments, the electronic device indicates content for selection by changing the size, color, text style (e.g., bold, underline, highlighting, italics) and / or outline of the content, as compared to the manner in which the content is displayed before being indicated for selection. In some embodiments, indicating the first part of the first message and the entire second message for selection includes indicating that content between the first part of the first message and the entire second message, such as additional content of the first message or another message between the first message and the second message, will also be selected.

[0236] The above-mentioned manner of indicating that the first part of the first message will be selected and the fourth part of the first message will not be selected enables the electronic device to provide a user with a way to control the portion of the first message that will be selected even when the entirety of another message is selected, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by reducing user errors and reducing the user input required to correct errors of selecting unintended portions of the first message), which additionally reduces power usage and improves the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.

[0237] In some embodiments, such as Figure 6K, in response to receiving the second part of the selection input, based on determining that the corresponding position in the messaging user interface corresponds to the first part of the second message, the electronic device 500 indicates that the entirety of the first message, rather than the first part, will be selected when the end of the selection input is detected. In some embodiments, in response to detecting a selection input that covers the first part of the first message and the first part of the second message, the electronic device indicates that the entire first message and the entire second message will be selected because the selection input includes parts of more than one message. In some embodiments, the electronic device indicates that the entire first message will be selected by displaying the contents of the first message with different visual characteristics (e.g., highlighting, size, color, outline, etc.) than the way the contents of the first message were displayed before indicating that the first message would be selected. In some embodiments, the electronic device indicates that the entire first message will be selected by displaying a user interface element (e.g., a bubble or other container) containing the contents of the first message with different visual characteristics (e.g., size, color, outline style) than the way the user interface element containing the contents of the first message was displayed before indicating that the first message would be selected.

[0238] In some embodiments, such as Figure 6K , based on determining that the corresponding position in the messaging user interface corresponds to the second part of the second message, the electronic device 500 indicates that the entirety of the first message will be selected when the end of the selection input is detected. In some embodiments, in response to detecting a selection input covering the first part of the first message and the second part of the second message, the electronic device indicates that the entire first message and the entire second message will be selected because the selection input includes parts of more than one message. In some embodiments, the electronic device indicates that the entire first message will be selected by displaying the contents of the first message with different visual characteristics (e.g., highlighting, size, color, outline, etc.) than the manner in which the contents of the first message were displayed before indicating that the first message will be selected. In some embodiments, the electronic device indicates that the entire first message will be selected by displaying a user interface element (e.g., a bubble or other container) containing the contents of the first message with different visual characteristics (e.g., size, color, outline style) than the manner in which the user interface element containing the contents of the first message was displayed before indicating that the first message will be selected.

[0239] The above-mentioned indication of selecting the entire first message in response to a selection input specifying a portion of the first message and a portion of the second message enables the electronic device to effectively provide a way to select multiple entire messages, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by reducing the number of inputs required to select the entire first message when selecting the entire second message), which additionally reduces power usage and improves the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.

[0240] In some embodiments, such as Figure 6L As shown in , while receiving the selection input and before detecting the end of the selection input, after receiving the first and second parts of the selection input, the electronic device 500 receives a third part of the selection input, wherein the third part of the selection input includes a movement input to a second corresponding position in the messaging user interface (for example, the position of the input (for example, the position of the cursor or insertion mark in the user interface indicates the current position of the input device or the position of the finger on the touch screen) moves from a position within the second message to a position within the first message). In response to the third part of the selection input, the electronic device no longer indicates that any portion of the second message will be selected because the selection input has moved away from any portion of the covered second message.

[0241] In some embodiments, such as Figure 6L As shown in , in response to receiving the third part of the selection input, based on determining that the second corresponding position in the messaging user interface corresponds to the fourth part of the first message, the electronic device 500 indicates that the first and fourth parts of the first message will be selected when the end of the selection input is detected, rather than the fifth part of the first message. In some embodiments, the third part of the selection input causes the selection input to cover the first and fourth parts of the first message, rather than the entire first message. In response to detecting the end of the selection input, the electronic device optionally selects the first and fourth parts of the first message (and any part of the first message between the first and fourth parts of the first message), rather than the entire first message. In some embodiments, the electronic device indicates that the first and fourth parts of the first message will be selected by displaying the first and fourth parts of the first message with visual characteristics (e.g., highlighting, size, color, outline, etc.) that are different from the way the first and fourth parts of the first message were displayed before indicating that the first and fourth parts of the first message will be selected. In some embodiments, the third part of the selection input causes the electronic device to specify a sixth part of the first message that is different from the first and fourth parts of the first message for selection. For example, a user begins a selection input at a corresponding position within a first message, moves the selection input in a first direction to select first corresponding portions of the first and second messages, and then moves the selection input in a second direction opposite to the first direction to a second corresponding position. In this example, in response to movement of the selection input to the second corresponding position within the first message, the electronic device designates a portion of the first message between the first corresponding position and the second corresponding position within the first message for input.

[0242] The manner in which the above indication selects the first and fourth parts of the first message in response to the third part of the selection input enables the electronic device to effectively transition between selecting the entire message and selecting a portion of a message, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by reducing the number of inputs required to change the selection mode), which additionally reduces power usage and improves the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.

[0243] In some embodiments, such as Figure 6N As shown in , when a first part of a third message that is different from the first message and different from the second message is selected (for example, other parts of the third message and / or the fourth message are not selected), the electronic device 500 receives a second selection input associated with a second corresponding position in the messaging user interface via one or more input devices, wherein the second selection input 626 corresponds to a request to select an additional one or more parts of the one or more messages, and the second selection input does not include a move input. In some embodiments, the second selection input is performed by entering an input that modifies the corresponding part of the corresponding content to be selected, such as: selection or pressing of a shift key to indicate that all content between the first selection and the second selection is to be selected; selection of an option key to indicate that the selected content is not continuous in the user interface (for example, content is selected between the first selection and the second selection, and content is selected between the third selection and the fourth selection, but not between the two selections). In some embodiments, the user first designates a corresponding portion of the messaging conversation (e.g., including content within the third message and / or the fourth message) for selection, such as by clicking a mouse, moving the mouse, and then releasing a button on the mouse or touching a touch screen, moving the contact, and then lifting the contact, and then pressing a key associated with a special selection mode (e.g., a shift key, a control key, a command key, or another function key), and then provides another selection input (e.g., including clicking a mouse or touching the touch screen).

[0244] In some embodiments, while receiving the second selection input and before detecting the end of the second selection input, based on determining that the second corresponding position in the messaging user interface corresponds to the second part of the third message, the electronic device 500 indicates that when the end of the second selection input is detected, the first part and the second part of the third message will be selected instead of the third part of the third message, such as Figure 6LIn some embodiments, in response to a selection input encompassing the first and second parts of the third message, the electronic device designates the first and second parts of the third message for selection, rather than designating the entire third message for selection. In some embodiments, the electronic device further designates the third message content between the first and second parts of the third message for selection.

[0245] In some embodiments, such as Figure 6N , while receiving the second selection input and before detecting the end of the second selection input, based on determining that the second corresponding position in the messaging user interface corresponds to the first part of a fourth message that is different from the first message and different from the second message (and different from the third message), the electronic device 500 indicates that the entirety of the fourth message will be selected when the end of the second selection input is detected. In some embodiments, in response to the selection input that covers the first part of the fourth message, the electronic device designates the entire fourth message for selection even if the first part of the fourth message does not include the entirety of the fourth message.

[0246] In some embodiments, such as Figure 6N , while receiving the second selection input and before detecting the end of the second selection input, based on determining that the second corresponding position in the messaging user interface corresponds to a second part of the fourth message that is different from the first part of the fourth message, the electronic device 500 indicates that the entirety of the fourth message will be selected when the end of the second selection input is detected. In some embodiments, in response to the selection input covering the second part of the fourth message, the electronic device designates the entire fourth message for selection even if the second part of the fourth message does not include the entirety of the fourth message.

[0247] The above-mentioned manner of designating the entire fourth message for selection in response to a second selection input that does not include a motion input enables the electronic device to provide an efficient manner of selecting the entire message when using a selection input that does not include a motion input, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by reducing the time and amount of input required to designate the entire fourth message for selection and select the fourth second message), which additionally reduces power usage and improves the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.

[0248] It should be understood that 7A to 7B The specific order in which the operations are described is merely exemplary and is not intended to indicate that the described order is the only order in which the operations can be performed. A person of ordinary skill in the art will recognize many ways to reorder the operations described herein.

[0249] The operations in the above information processing method are optionally implemented by running one or more functional modules in an information processing device, such as a general-purpose processor (e.g., a processor in combination with a processor). Figure 1A to Figure 1B 、 Figure 3 、 Figures 5A to 5H In addition, the above reference 7A to 7B The described operations are optionally performed by Figure 1A to Figure 1B , which are implemented by the components depicted in . For example, the display operation 702, the receiving operation 704, and the indication operation 712 are optionally implemented by the event classifier 170, the event identifier 180, and the event handler 190. The event monitor 171 in the event classifier 170 detects contact on the touch screen 504, and the event distributor module 174 transmits the event information to the application 136-1. The corresponding event identifier 180 of the application 136-1 compares the event information with the corresponding event definition 186 and determines whether the first contact at the first position on the touch screen corresponds to a predefined event or sub-event, such as the selection of an object on the user interface. When the corresponding predefined event or sub-event is detected, the event identifier 180 activates the event handler 190 associated with the detection of the event or sub-event. The event handler 190 optionally utilizes or calls the data updater 176 or the object updater 177 to update the application internal state 192. In some embodiments, the event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, those skilled in the art will clearly know how to update the content displayed by the application based on the GUI updater 178. Figure 1A to Figure 1B The components depicted in the figure implement other processes.

[0250] As described above, one aspect of the present technology is the collection and use of data available from specific and legitimate sources to present content relevant to the user. The present disclosure contemplates that, in some instances, the collected data may include personal information data that uniquely identifies or can be used to identify a specific person. Such personal information data may include demographic data, location-based data, online identifiers, phone numbers, email addresses, home addresses, data or records related to the user's health or fitness level (e.g., vital signs measurements, medication information, exercise information), date of birth, or any other personal information.

[0251] The present disclosure recognizes that the use of such personal information data in the present technology can be used to benefit users. For example, accessing a user's contact information enables an electronic device to send and receive messages and / or provide rich linking ("mention") functionality. Thus, the use of such personal information data enables users to communicate with other devices. In addition, the present disclosure also contemplates other uses of personal information data that benefit users.

[0252] This disclosure contemplates that entities responsible for collecting, analyzing, disclosing, transmitting, storing, or otherwise using such personal information will adhere to established privacy policies and / or practices. Specifically, such entities are expected to implement and consistently apply privacy practices generally recognized as meeting or exceeding industry or government requirements for safeguarding user privacy. Such information regarding the use of personal data should be prominently displayed and easily accessible to users and updated as the collection and / or use of data changes. Users' personal information should be collected only for lawful uses. Furthermore, such collection / sharing should occur only after receiving user consent or other lawful basis as provided in applicable law. Furthermore, such entities should consider taking any necessary steps to safeguard and secure access to such personal information and ensure that others with access to such personal information adhere to their privacy policies and procedures. Furthermore, such entities may subject themselves to third-party assessments to demonstrate compliance with widely accepted privacy policies and practices. Furthermore, policies and practices should be tailored to the specific types of personal information being collected and / or accessed and adapted to applicable laws and standards, including jurisdiction-specific considerations that may impose higher standards. 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.

[0253] Regardless of the foregoing, the present disclosure also contemplates implementations whereby users selectively block the use or access of personal information data. That is, the present disclosure contemplates providing hardware and / or software components to prevent or block access to such personal information data. For example, the present technology can be configured to allow users to "opt in" or "opt out" of the collection of personal information data during or at any time after registration for a service. For example, when interacting with a messaging application, a user can limit the sharing of personal information (such as contact information).

[0254] Furthermore, it is an object of the present disclosure that personal information data should be managed and processed to minimize the risk of unintentional or unauthorized access or use. Risk can be minimized by limiting data collection and deleting data once it is no longer needed. In addition, and when applicable, including in certain health-related applications, data de-identification can be used to protect the privacy of users. De-identification can be facilitated where appropriate by removing identifiers, controlling the amount or specificity of stored data (e.g., collecting location data at a city level rather than an address level), controlling how data is stored (e.g., aggregating data across users), and / or other methods such as differential privacy.

[0255] Thus, while this disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, this disclosure also contemplates that various embodiments may be implemented without access to such personal information data. That is, various embodiments of the present technology will not be unable to function properly due to the lack of all or part of such personal information data. For example, a user may prevent the sharing of contact information or other personal information when interacting with a messaging application.

[0256] For purposes of explanation, the foregoing description has been described with reference to specific embodiments. However, the above illustrative discussion is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments have been chosen and described in order to best illustrate the principles of the invention and its practical application so as to enable others skilled in the art to best utilize the invention and the various described embodiments with various modifications suitable for the specific purposes contemplated.

Claims

1. A method comprising: At an electronic device in communication with a display generating component and one or more input devices: displaying, via the display generating component, a messaging user interface, the messaging user interface including a representation of a first message and a representation of a second message; while displaying the messaging user interface, receiving, via the one or more input devices, a selection input comprising a first portion and a second portion; as well as While receiving the selection input and before detecting the end of the selection input: in response to receiving the first portion of the selection input, indicating that the first portion of the first message is to be selected upon detecting the end of the selection input; as well as In response to receiving the second portion of the selection input, wherein the second portion of the selection input comprises a movement input to a corresponding location in the messaging user interface: indicating, based on determining that the corresponding position in the messaging user interface corresponds to the second portion of the first message, that the first portion and the second portion of the first message are to be selected, but not the third portion of the first message, when the end of the selection input is detected; indicating, based on determining that the corresponding position in the messaging user interface corresponds to the first portion of the second message, that the entirety of the second message, the first portion of the first message, and not the third portion of the first message, is to be selected upon detecting the end of the selection input; as well as Based on determining that the corresponding position in the messaging user interface corresponds to a second part of the second message that is different from the first part of the second message, it is indicated that when the end of the selection input is detected, the entirety of the second message, the first part of the first message, and not the third part of the first message will be selected. The method of claim 1 , wherein the end of the selection input comprises a lift-off event.

3. The method according to claim 1, further comprising: detecting said end of said selection input; as well as In response to detecting the end of the select input: selecting the first and second parts of the first message, but not the third part of the first message, for further input based on the determination that the corresponding location in the messaging user interface corresponds to the second part of the first message; selecting the entirety of the second message for further input based on the determination that the corresponding location in the messaging user interface corresponds to the first portion of the second message; as well as Based on the determining that the corresponding location in the messaging user interface corresponds to the second portion of the second message that is different from the first portion of the second message, the entirety of the second message is selected for further input.

4. The method according to claim 1, wherein: The representation of the second message includes a user interface element that includes content of the second message, the user interface element being displayed with a visual characteristic having a first value prior to receiving the selection input, and Indicating that the entirety of the second message is to be selected when the end of the selection input is detected includes displaying the user interface element with the visual characteristic having a second value different than the first value.

5. The method according to claim 1, wherein: the representation of the second message comprising a user interface element, the user interface element containing content of the second message, Prior to receiving the selection input, the user interface element is displayed with a visual characteristic having a first value, and the content of the second message is displayed without a selection indicator, wherein the selection indicator is distinct from the user interface element, and Indicating that the entirety of the second message is to be selected upon detecting the end of the selection input comprises: maintaining display of the user interface element with the visual characteristic having the first value; and The content of the second message is displayed with the selection indicator.

6. The method according to claim 1, further comprising: In response to receiving the second portion of the selection input: indicating, based on the determination that the corresponding position in the messaging user interface corresponds to the first portion of the second message, that the first portion of the first message is to be selected instead of the fourth portion of the first message when the end of the selection input is detected; as well as Based on the determination that the corresponding position in the messaging user interface corresponds to the second portion of the second message, it is indicated that the first portion of the first message will be selected rather than the fourth portion of the first message when the end of the selection input is detected.

7. The method according to claim 1, further comprising: In response to receiving the second portion of the selection input: based on said determining that said corresponding position in said messaging user interface corresponds to said first portion of said second message, indicating that upon detecting said end of said selection input an entirety of said first message, which is more than said first portion, will be selected; as well as Based on the determination that the corresponding location in the messaging user interface corresponds to the second portion of the second message, an indication is given that the entirety of the first message will be selected when the end of the selection input is detected.

8. The method according to claim 1, further comprising: While receiving the selection input and before detecting the end of the selection input: receiving, after receiving the first and second portions of the selection input, a third portion of the selection input, wherein the third portion of the selection input comprises a movement input to a second corresponding location in the messaging user interface; and in response to receiving the third portion of the selection input: Based on determining that the second corresponding position in the messaging user interface corresponds to the fourth part of the first message, it is indicated that when the end of the selection input is detected, the first part and the fourth part of the first message will be selected instead of the fifth part of the first message.

9. The method according to claim 1, further comprising: upon selecting a first portion of a third message that is different from the first message and different from the second message, receiving, via the one or more input devices, a second selection input associated with a second corresponding location in the messaging user interface, wherein the second selection input corresponds to a request to select an additional one or more portions of the one or more messages and the second selection input does not include a movement input; as well as While the second selection input is received and before the end of the second selection input is detected: indicating, based on determining that the second corresponding position in the messaging user interface corresponds to the second portion of the third message, that the first portion and the second portion of the third message are to be selected, rather than the third portion of the third message, upon detecting the end of the second selection input; indicating, based on determining that the second corresponding position in the messaging user interface corresponds to a first portion of a fourth message that is different from the first message and different from the second message, that the entirety of the fourth message is to be selected when the end of the second selection input is detected; as well as Based on determining that the second corresponding location in the messaging user interface corresponds to a second portion of the fourth message different from the first portion of the fourth message, indicating that the entirety of the fourth message will be selected when the end of the second selection input is detected.

10. An electronic device comprising: one or more processors; Memory; as well as One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for performing any of the methods according to claims 1 to 9.

11. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which, when executed by one or more processors of an electronic device, cause the electronic device to perform any one of the methods according to claims 1 to 9.

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