Visual effects for messages
By dynamically applying visual effects to the messaging user interface, the inefficiency of existing technologies is solved, improving user experience and device efficiency, especially extending battery life in battery-powered devices.
Patent Information
- Application Number
- CN202510607860.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-11-06
- Filing Date
- 2025-05-13
- Publication Date
- 2025-11-14
AI Technical Summary
Existing methods for providing visual effects for messages are inefficient, resulting in wasted user time and device energy, especially in battery-powered devices.
By displaying the message transmission user interface on the generated component in the computer system, and applying or not applying visual effects depending on the content, the need for users to manually label visual effects is reduced, thereby improving efficiency.
It reduces the cognitive burden on users, improves device effectiveness and user satisfaction, and saves power consumption of battery-powered devices.
Smart Images

Figure CN120956831A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates generally to computer user interfaces, and more specifically to techniques for providing visual effects for messages. Background Technology
[0002] Electronic devices provide the ability to transmit and receive communications, including communications with text or other graphical content, such as text messages and instant messages. Summary of the Invention
[0003] However, some technologies used to provide visual effects for messages using electronic devices are often cumbersome and inefficient. For example, some existing technologies use complex and time-consuming user interfaces that may involve multiple keystrokes or button presses. These technologies require more time than necessary, resulting in wasted user time and device energy. This latter consideration is particularly important in battery-powered devices.
[0004] Therefore, this technology provides electronic devices with faster and more efficient methods and interfaces for delivering visual effects for messages. Such methods and interfaces optionally complement or replace other methods for delivering visual effects for messages. These methods and interfaces reduce the cognitive burden on users and result in more efficient human-computer interfaces. For battery-powered computing devices, such methods and interfaces save power and increase the time interval between battery charging sessions.
[0005] According to some embodiments, a method is described. The method includes: at a computer system communicating with one or more display generation components: displaying a messaging user interface via the one or more display generation components, the messaging user interface including a message dialogue between a first participant and one or more other participants, the message dialogue including one or more messages between the first participant and the one or more other participants, wherein the one or more messages include a first message, the first message including the first content and the second content different from the first content; and when displaying the messaging user interface, displaying the first message via the one or more display generation components, the display including: displaying the first content when the first visual effect is applied to the first content; and displaying the second content when the first visual effect is not applied to the second content.
[0006] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generation components. The one or more programs include instructions for: displaying a messaging user interface via the one or more display generation components, the messaging user interface including a message dialogue between a first participant and one or more other participants, the message dialogue including one or more messages between the first participant and the one or more other participants, wherein the one or more messages include a first message, the first message including first content and second content different from the first content; and, when displaying the messaging user interface, displaying the first message via the one or more display generation components, the display including: displaying the first content when a first visual effect is applied to the first content; and displaying the second content when the first visual effect is not applied to the second content.
[0007] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generation components. The one or more programs include instructions for: displaying a messaging user interface via the one or more display generation components, the messaging user interface including a message dialogue between a first participant and one or more other participants, the message dialogue including one or more messages between the first participant and the one or more other participants, wherein the one or more messages include a first message, the first message including first content and second content different from the first content; and, when displaying the messaging user interface, displaying the first message via the one or more display generation components, the display including: displaying the first content when a first visual effect is applied to the first content; and displaying the second content when the first visual effect is not applied to the second content.
[0008] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more display generation components. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a messaging user interface via the one or more display generation components, the messaging user interface including a message dialogue between a first participant and one or more other participants, the message dialogue including one or more messages between the first participant and the one or more other participants, wherein the one or more messages include a first message, the first message including first content and second content different from the first content; and, when displaying the messaging user interface, displaying the first message via the one or more display generation components, the display including: displaying the first content when a first visual effect is applied to the first content; and displaying the second content when the first visual effect is not applied to the second content.
[0009] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more display generation components. The computer system includes: a component for displaying a messaging user interface via the one or more display generation components, the messaging user interface including a message dialogue between a first participant and one or more other participants, the message dialogue including one or more messages between the first participant and the one or more other participants, wherein the one or more messages include a first message, the first message including first content and second content different from the first content; and a component for displaying the first message via the one or more display generation components when displaying the messaging user interface, the display including: displaying the first content when a first visual effect is applied to the first content; and displaying the second content when the first visual effect is not applied to the second content.
[0010] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to execute by one or more processors of a computer system communicating with one or more display generation components. The one or more programs include instructions for: displaying a messaging user interface via the one or more display generation components, the messaging user interface including a message dialogue between a first participant and one or more other participants, the message dialogue including one or more messages between the first participant and the one or more other participants, wherein the one or more messages include a first message, the first message including first content and second content different from the first content; and, when displaying the messaging user interface, displaying the first message via the one or more display generation components, the display including: displaying the first content when a first visual effect is applied to the first content; and displaying the second content when the first visual effect is not applied to the second content.
[0011] According to some embodiments, a method is described. The method includes: at a computer system communicating with one or more display generating components and one or more input devices: displaying a message delivery user interface via the one or more display generating components; while displaying the message delivery user interface, detecting a set of one or more inputs via the one or more input devices corresponding to the selection of first content of a message; and in response to detecting the set of one or more inputs corresponding to the selection of the first content of the message: providing a representation of a first visual effect for a corresponding portion of the first content based on determination that the first content meets a first set of visual effect recommendation criteria.
[0012] According to some embodiments, a non-transitory computer-readable storage medium is described. This non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generating components and one or more input devices. The one or more programs include instructions for: displaying a message delivery user interface via the one or more display generating components; detecting, while displaying the message delivery user interface, a set of one or more inputs via the one or more input devices corresponding to the selection of first content of a message; and in response to detecting the set of one or more inputs corresponding to the selection of the first content of the message: providing a representation of a first visual effect for a corresponding portion of the first content based on determination that the first content meets a first set of visual effect recommendation criteria.
[0013] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generating components and one or more input devices. The one or more programs include instructions for: displaying a message transmission user interface via the one or more display generating components; detecting, while displaying the message transmission user interface, a set of one or more inputs via the one or more input devices corresponding to a selection of first content of a message; and in response to detecting the set of one or more inputs corresponding to the selection of the first content of the message: providing a representation of a first visual effect for a corresponding portion of the first content based on determination that the first content meets a first set of visual effect recommendation criteria.
[0014] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more display generation components and one or more input devices. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a message delivery user interface via the one or more display generation components; detecting, while displaying the message delivery user interface, a set of one or more inputs via the one or more input devices corresponding to the selection of first content of a message; and in response to detecting the set of one or more inputs corresponding to the selection of the first content of the message: providing a representation of a first visual effect for a corresponding portion of the first content based on determination that the first content meets a first set of visual effect recommendation criteria.
[0015] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more display generation components and one or more input devices. The computer system includes: a component for displaying a message transmission user interface via the one or more display generation components; a component for detecting, while displaying the message transmission user interface, a set of one or more inputs via the one or more input devices corresponding to a selection of first content of the message; and a component for, in response to detecting the set of one or more inputs corresponding to the selection of the first content of the message, providing a representation of a first visual effect for a corresponding portion of the first content based on determination that the first content meets a first set of visual effect recommendation criteria.
[0016] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generation components and one or more input devices. The one or more programs include instructions for: displaying a message transmission user interface via the one or more display generation components; detecting, while displaying the message transmission user interface, a set of one or more inputs via the one or more input devices corresponding to a selection of first content of a message; and in response to detecting the set of one or more inputs corresponding to the selection of the first content of the message: providing a representation of a first visual effect for a corresponding portion of the first content based on determination that the first content meets a first set of visual effect recommendation criteria.
[0017] Executable instructions for performing these functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0018] Therefore, providing devices with faster and more efficient methods and interfaces for delivering visual effects for messages improves the effectiveness, efficiency, and user satisfaction of such devices. These methods and interfaces can complement or replace other methods for delivering visual effects for messages. Attached Figure Description
[0019] To better understand the various described embodiments, reference should be made to the following detailed description in conjunction with the accompanying drawings, wherein similar reference numerals indicate corresponding parts in all the drawings.
[0020] Figure 1A This is a block diagram illustrating a portable multi-functional device with a touch-sensitive display according to some implementation schemes.
[0021] Figure 1B This is a block diagram illustrating exemplary components for event handling according to some implementation schemes.
[0022] Figure 2 Examples of portable multi-functional devices with touchscreens according to some implementation schemes are shown.
[0023] Figure 3A This is a block diagram of an exemplary multifunctional device having a display and a touch-sensitive surface according to some implementation schemes.
[0024] Figures 3B to 3G This example demonstrates how to perform an operation using an Application Programming Interface (API).
[0025] Figure 4A An exemplary user interface for a menu applied to a portable multi-functional device, according to some implementation schemes, is illustrated.
[0026] Figure 4B An exemplary user interface for a multifunctional device having a touch-sensitive surface separate from the display is illustrated according to some embodiments.
[0027] Figure 5A Examples of personal electronic devices according to some implementation schemes are shown.
[0028] Figure 5B This is a block diagram illustrating a personal electronic device according to some implementation schemes.
[0029] Figures 6A to 6AP Examples of user interfaces for providing visual effects for messages, according to some implementation schemes, are shown.
[0030] Figure 7 This is a flowchart illustrating a method for providing visual effects for messages according to some implementation schemes.
[0031] Figure 8 This is a flowchart illustrating a method for providing visual effects for messages according to some implementation schemes. Detailed Implementation
[0032] The following description illustrates exemplary methods, parameters, etc. However, it should be understood that such description is not intended to limit the scope of this disclosure, but is provided as a description of exemplary embodiments.
[0033] Electronic devices require more efficient methods and interfaces for providing visual effects for messages. In some implementations, the computer system displays the message with visual effects applied to a first portion of the message, without applying the visual effects to a second portion. This allows users to emphasize a specific part of the message, for example, by applying the visual effects to that part. In some implementations, the computer system provides a representation of visual effects for a portion of the content selected for the message. This allows the computer system to provide suggested visual effects for a portion of the message, for example, based on the content selected for the message, without requiring the user to manually identify the visual effects. Such techniques can reduce the cognitive burden on users sending and / or receiving messages using electronic devices, thereby increasing productivity. Furthermore, such techniques can reduce processor power and battery power otherwise wasted on redundant user input.
[0034] under, Figures 1A to 1B , Figure 2 , Figures 3A to 3G , Figures 4A to 4B and Figures 5A to 5BA description of an exemplary device for performing management event notifications is provided. Figures 6A to 6AP An exemplary user interface for providing visual effects for messages is shown. Figure 7 and Figure 8 This is a flowchart illustrating a method for providing visual effects for messages according to some implementation schemes. Figures 6A to 6AP The user interface in the document is used to illustrate the methods described below, including Figure 7 and Figure 8 The method in the middle.
[0035] The processes described below enhance device operability and make user-device interfaces more efficient through various technologies (e.g., by helping users provide appropriate input and reducing user errors when operating / interacting with the device), including providing users with improved visual feedback, reducing the amount of input required to perform operations, providing additional control options without cluttering the user interface with additional displayed controls, performing operations without requiring further user input when a set of conditions are met, and / or additional technologies. These technologies also reduce power consumption and extend device battery life by enabling users to use the device faster and more efficiently.
[0036] Furthermore, in methods described herein where one or more steps depend on the satisfaction of one or more conditions, the described method can be repeated in multiple repetitions such that, during the repetitions, all conditions determining the steps in the method are satisfied in different repetitions of the method. For example, if a method requires performing a first step (if the condition is satisfied) and a second step (if the condition is not satisfied), those skilled in the art will know that the stated steps are repeated until both the conditions are satisfied and not satisfied (in no particular order). Thus, a method described as having one or more steps depending on the satisfaction of one or more conditions can be rewritten as a method that repeats until each of the conditions described in the method is satisfied. However, this does not require the system or computer-readable medium to declare that the system or computer-readable medium contains instructions for performing discretionary operations based on the satisfaction of the corresponding one or more conditions, and thus to determine whether possible conditions have been satisfied without explicitly repeating the steps of the method until all conditions determining the steps in the method are satisfied. Those skilled in the art will also understand that, similar to methods having discretionary steps, a system or computer-readable storage medium can repeat the steps of the method multiple times as needed to ensure that all discretionary steps have been performed.
[0037] Although the following description uses the terms "first," "second," etc., to describe various elements, these elements should not be limited by the terms. In some embodiments, these terms are used to distinguish one element from another. For example, a first touch may be referred to as a second touch, and similarly, a second touch may be referred to as a first touch, without departing from the scope of the various described embodiments. In some embodiments, a first touch and a second touch are two separate references to the same touch. In some embodiments, both a first touch and a second touch are touches, but they are not the same touch.
[0038] The terminology used in the description of the various described embodiments herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description of the various described embodiments and in the appended claims, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and / or” as used herein refers to and covers any and all possible combinations of one or more of the associated listed items. It will also be understood that the terms “comprising” and / or “including” as used in this specification specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0039] Depending on the context, the term "if" may optionally be interpreted as meaning "when," "in response to," or "in response to detection." Similarly, depending on the context, the phrases "if it is determined..." or "if [the stated condition or event] is detected" may optionally be interpreted as meaning "in response to determining..." or "in response to detecting [the stated condition or event]."
[0040] Implementations of electronic devices, user interfaces for such devices, and associated processes for using such devices are described. In some implementations, the device is a portable communication device, such as a mobile phone, that also includes other functions such as PDA and / or music player functionality. Exemplary implementations of portable multi-functional devices include, but are not limited to, those from Apple Inc. (Cupertino, California). Devices, iPod Equipment and Device. Optionally, other portable electronic devices may be used, such as laptops or tablets with touch-sensitive surfaces (e.g., touchscreen 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 touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads). In some embodiments, the electronic device is a computer system that communicates (e.g., via wireless or wired communication) with a display generating component (e.g., a display device such as a head-mounted display (HMD), monitor, projector, touchscreen display, etc., or other devices or components, such as those presenting visual content to a user on or in the display generating component itself, or those generated from the display generating component and visible elsewhere). The display generating component is configured to provide visual output, such as a display via a CRT monitor, a display via an LED monitor, or a display via image projection. In some embodiments, the display generating component is integrated with the computer system. In some embodiments, the display generating component is separate from the computer system. As used herein, “display” content includes content (e.g., video data rendered or decoded by display controller 156) that is visually generated by sending data (e.g., image data or video data) to an integrated or external display generating component via a wired or wireless connection.
[0041] 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.
[0042] The device typically supports a variety of applications, such as one or more of the following: drawing applications, presentation applications, word processing applications, website creation applications, disk editing applications, spreadsheet applications, gaming applications, telephone applications, video conferencing applications, email applications, instant messaging applications, fitness support applications, photo management applications, digital camera applications, digital video camcorder applications, web browsing applications, digital music player applications, and / or digital video player applications.
[0043] Various applications running on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and the 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 device's common physical architecture (such as the touch-sensitive surface) optionally utilizes a user interface that is intuitive and clear to the user to support various applications.
[0044] Now let’s turn our attention to implementation schemes for portable devices with touch-sensitive displays. Figure 1AThis is a block diagram illustrating a portable multi-functional device 100 with a touch-sensitive display system 112 according to some embodiments. The touch-sensitive display system 112 is sometimes conveniently referred to as a “touchscreen” or “touchscreen display,” and is sometimes simply called a “touchscreen display.” Device 100 includes a memory 102 (which optionally includes one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral 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 an external port 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact strength sensors 165 for detecting the intensity of contact on device 100 (e.g., a touch-sensitive surface, such as the touch-sensitive display system 112 of device 100). Device 100 optionally includes one or more haptic output generators 167 for generating haptic output on device 100 (e.g., generating haptic output on a touch-sensitive surface such as the touch-sensitive display system 112 of device 100 or the touchpad 355 of device 300). These components optionally communicate via one or more communication buses or signal lines 103.
[0045] As used in this specification and claims, the term "intensity" of contact on a tactile surface refers to the force or pressure (force per unit area) of a contact (e.g., finger contact) on a tactile surface, or to a substitute (alternative) for the force or pressure of a contact on a tactile surface. The intensity of contact has a range of values that includes at least four different values and more typically hundreds of different values (e.g., at least 256). The intensity of contact is optionally determined (or measured) using various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the tactile surface are optionally used to measure the force at different points on the tactile surface. In some embodiments, force measurements from multiple force sensors are combined (e.g., weighted average) to determine the estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the tactile surface. Alternatively, the size and / or variation of the contact area detected on the touch-sensitive surface, the capacitance and / or variation of the touch-sensitive surface adjacent to the contact, and / or the resistance and / or variation of the touch-sensitive surface adjacent to the contact are optionally used as substitutes for the force or pressure of the contact on the touch-sensitive surface. In some embodiments, the substitute measurement of the contact force or pressure is used directly to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the substitute measurement). In some embodiments, the substitute measurement of the contact force or pressure is converted into an estimated force or pressure, and the estimated force or pressure is used to determine whether 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 user input allows the user to access additional device functions that would otherwise be inaccessible to the user on a smaller device with limited physical space, which is used (e.g., on a touch-sensitive display) to display an indication and / or receive user input (e.g., via a touch-sensitive display, a touch-sensitive surface, or physical / mechanical controls such as knobs or buttons).
[0046] As used in this specification and claims, the term "haptic output" refers to a physical displacement of the device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., the housing), or a displacement of a component relative to the center of mass of the device, which is detected by the user using the user's tactile sense. For example, when the device or a component of the device comes into contact with a touch-sensitive surface (e.g., a finger, palm, or other part of the user's hand), the haptic output generated by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in the physical characteristics of the device or a component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or touchpad) may optionally be interpreted by the user as a "press-click" or "release-click" on a physically actuated button. In some cases, the user will feel a tactile sensation, such as a "press-click" or "release-click," even when a physically actuated button associated with the touch-sensitive surface, which has been physically pressed (e.g., displaced) by the user's movement, does not move. As another example, even when the smoothness of the tactile surface remains unchanged, the movement of the tactile surface can optionally be interpreted or perceived by the user as the “roughness” of the tactile surface. While such interpretations of touch by users will be limited by the individualized sensory perceptions of the user, many sensory perceptions of touch are common to most users. Therefore, when a tactile output is described as corresponding to a specific sensory perception of the user (e.g., “press click,” “release click,” “roughness”), unless otherwise stated, the generated tactile output corresponds to a physical displacement of the device or its components that will generate the sensory perception described by a typical (or ordinary) user.
[0047] It should be understood that device 100 is merely an example of a portable multifunctional device, and device 100 may optionally have more or fewer components than those shown, may optionally combine two or more components, or may optionally have different configurations or arrangements of these components. Figure 1A The various components shown are implemented in hardware, software, or a combination of both, including one or more signal processing and / or application-specific integrated circuits.
[0048] Memory 102 optionally includes high-speed random access memory, and also 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.
[0049] Peripheral interface 118 can be used to couple input and output peripherals of the device to CPU 120 and memory 102. The one or more processors 120 run or execute various software programs (such as computer programs (e.g., including instructions)) and / or instruction sets stored in memory 102 to perform various functions of device 100 and process data. In some embodiments, peripheral interface 118, CPU 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0050] RF (Radio Frequency) circuit 108 receives and transmits RF signals, also known as electromagnetic signals. RF circuit 108 converts electrical signals into electromagnetic signals / converts electromagnetic signals into electrical signals, and communicates with communication networks and other communication devices via electromagnetic signals. RF circuit 108 optionally includes well-known circuitry for performing these functions, including but not limited to antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, codec chipsets, Subscriber Identity Module (SIM) cards, memory, etc. RF circuit 108 optionally communicates with networks and other devices wirelessly, 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 circuit 108 optionally includes well-known circuitry for detecting near-field communication (NFC) fields, such as via short-range communication radio components. Wireless communication may optionally employ 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, Pure Data (EV-DO), HSPA, HSPA+, Dual-Unit 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), and Wi-Fi (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE...). 802.11n and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, email protocols (e.g., Internet Messaging 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 with Extended Utility (SIMPLE), Instant Messaging and Presence Service (IMPS)) and / or Short Message Service (SMS), or any other suitable communication protocol that has not been developed as of the date of this document submission.
[0051] Audio circuitry 110, speaker 111, and microphone 113 provide an audio interface between the user and device 100. Audio circuitry 110 receives audio data from peripheral interface 118, converts the audio data into electrical signals, and sends the electrical signals to speaker 111. Speaker 111 converts the electrical signals into sound waves that are audible to humans. Audio circuitry 110 also receives electrical signals converted from sound waves by microphone 113. Audio circuitry 110 converts the electrical signals into audio data and sends the audio data to peripheral interface 118 for processing. Audio data is optionally retrieved by peripheral interface 118 from and / or sent to memory 102 and / or RF circuitry 108. In some embodiments, audio circuitry 110 also includes a headset jack (e.g., ...). Figure 2 (212 in the text). The headset jack provides an interface between the audio circuitry 110 and a removable audio input / output peripheral device, such as an output-only headphone or a headset with both output (e.g., a single-ear or dual-ear headphone) and input (e.g., a microphone).
[0052] I / O subsystem 106 couples input / output peripherals on device 100, such as touchscreen 112 and other input control devices 116, to peripheral interface 118. I / O subsystem 106 optionally includes display controller 156, optical sensor controller 158, depth camera controller 169, intensity sensor controller 159, haptic feedback controller 161, and one or more input controllers 160 for other input or control devices. One or more input controllers 160 receive electrical signals from / transmit electrical signals to other input control devices 116. These other input control devices 116 optionally include physical buttons (e.g., push-buttons, rocker buttons, etc.), dials, slide switches, joysticks, click dials, etc. In some embodiments, input controllers 160 are optionally coupled to (or not coupled to) any of the following: keyboard, infrared port, USB port, and pointing device such as mouse. One or more buttons (e.g., ... Figure 2 Optionally, 208) includes an increase / decrease button for volume control of speaker 111 and / or microphone 113. The one or more buttons optionally include a push-button (e.g., Figure 2(Ref. 206 in the original text). In some embodiments, the electronic device is a computer system that communicates with one or more input devices (e.g., via wireless communication, via wired communication). In some embodiments, the one or more input devices include a touch-sensitive surface (e.g., a touchpad, as part of a touch-sensitive display). In some embodiments, the one or more input devices include one or more camera sensors (e.g., one or more optical sensors 164 and / or one or more depth camera sensors 175), such as for tracking user gestures (e.g., hand gestures and / or air 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. In some implementations, air gestures are gestures detected without the user touching an input element that is part of the device (or independently of an input element that is part of the device) and based on the detected movement of a part of the user's body through the air (including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of the user's fingers relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (e.g., a tapping gesture that includes the hand moving a predetermined amount and / or speed in a predetermined pose, or a shaking gesture that includes a predetermined speed or amount of rotation of a part of the user's body)).
[0053] A quick press of the push button optionally disengages the touchscreen 112 from its lock or optionally initiates a process of unlocking the device using gestures on the touchscreen, as described in U.S. Patent Application 11 / 322,549 (i.e., U.S. Patent No. 7,657,849), filed December 23, 2005, entitled "Unlocking a Device by Performing Gestures on an Unlock Image," the entire contents of which are incorporated herein by reference. A long press of the push button (e.g., 206) optionally powers the device 100 on or off. The function of one or more buttons is optionally user-customizable. The touchscreen 112 is used to implement virtual buttons or soft buttons and one or more soft keyboards.
[0054] The touch-sensitive display 112 provides input and output interfaces between the device and the user. The display controller 156 receives electrical signals from and / or transmits electrical signals to the touchscreen 112. The touchscreen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively, "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.
[0055] Touchscreen 112 has a touch-sensitive surface, sensor, or sensor array that accepts input from a user based on tactile and / or haptic contact. Touchscreen 112 and display controller 156 (along with any associated modules and / or instruction set in memory 102) detect contact on touchscreen 112 (and any movement or interruption of that contact) and translate the detected contact into interaction with user interface objects (e.g., one or more soft keys, icons, web pages, or images) displayed on touchscreen 112. In an exemplary embodiment, the contact point between touchscreen 112 and the user corresponds to the user's finger.
[0056] Touchscreen 112 optionally employs LCD (Liquid Crystal Display) technology, LPD (Light Emitting Polymer Display) technology, or LED (Light Emitting Diode) technology, but other display technologies are used in other embodiments. Touchscreen 112 and display controller 156 optionally employ any of a variety of touch sensing technologies now known or to be developed thereafter, along with other proximity sensor arrays or other elements for determining one or more points of contact with touchscreen 112, to detect contact and any movement or interruption thereof. These various touch sensing technologies include, but are not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as that from Apple Inc. (Cupertino, California). and iPod The technology used.
[0057] In some embodiments of the touchscreen 112, the touch-sensitive display optionally resembles a multi-touch touchpad 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 incorporated herein by reference in its entirety. However, the touchscreen 112 displays visual output from the device 100, while the touch-sensitive touchpad does not provide visual output.
[0058] The touch-sensitive display in some embodiments of the touchscreen 112 is described in the following applications: (1) U.S. Patent Application No. 11 / 381,313, filed May 2, 2006, entitled “Multipoint Touch Surface Controller”; (2) U.S. Patent Application No. 10 / 840,862, filed May 6, 2004, entitled “Multipoint Touchscreen”; (3) U.S. Patent Application No. 10 / 903,964, filed July 30, 2004, entitled “Gestures For Touch Sensitive Input Devices”; (4) U.S. Patent Application No. 11 / 048,264, filed January 31, 2005, entitled “Gestures For Touch Sensitive Input Devices”; and (5) U.S. Patent Application No. 11 / 038,590, filed January 18, 2005, entitled “Mode-Based Graphical User Interfaces For Touch Sensitive Input”. (6) U.S. Patent Application No. 11 / 228,758, filed September 16, 2005, entitled “Virtual Input Device Placement On A Touch Screen User Interface”; (7) U.S. Patent Application No. 11 / 228,700, filed September 16, 2005, entitled “Operation Of A Computer With A Touch Screen Interface”; (8) U.S. Patent Application No. 11 / 228,737, filed September 16, 2005, entitled “Activating Virtual Keys Of ATouch-Screen Virtual Keyboard”; and (9) U.S. Patent Application No. 11 / 367,749, filed March 3, 2006, entitled “Multi-Functional Hand-Held Device”. The entire contents of all these applications are incorporated herein by reference.
[0059] Touchscreen 112 optionally has a video resolution exceeding 100 dpi. In some embodiments, the touchscreen has a video resolution of approximately 160 dpi. Users optionally use any suitable object or accessory such as a stylus, finger, etc., to interact with touchscreen 112. In some embodiments, the user interface is designed to operate primarily through finger-based touch and gestures, which may be less precise than stylus-based input due to the larger contact area of a finger on the touchscreen. In some embodiments, the device translates coarse finger-based input into precise pointer / cursor positioning or commands to perform the user-desired actions.
[0060] In some embodiments, in addition to the touchscreen, device 100 optionally includes a touchpad for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touchscreen, does not display visual output. Optionally, the touchpad is a touch-sensitive surface separate from the touchscreen 112, or an extension of the touch-sensitive surface formed by the touchscreen.
[0061] The device 100 also includes a power system 162 for supplying power to various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, a power fault detection circuit, a power converter or inverter, a power status indicator (e.g., light-emitting diodes (LEDs)), and any other components associated with the generation, management, and distribution of power in the portable device.
[0062] Device 100 optionally also includes a secure element 163 for securely storing information. In some embodiments, secure element 163 is a hardware component (e.g., a secure microcontroller chip) configured to securely store data or algorithms. In some embodiments, secure element 163 provides (e.g., publishes) security information (e.g., payment information (e.g., account number and / or transaction-specific dynamic security code), identification information (e.g., credentials for nationally approved digital identifiers), and / or authentication information (e.g., data generated using a cryptographic engine and / or by performing asymmetric cryptographic operations)). In some embodiments, secure element 163 provides (or publishes) security information in response to device 100 receiving authorization, such authorization being user authentication (e.g., fingerprint authentication; password authentication; detection of a double press of a hardware button when device 100 is in an unlocked state, and optionally when device 100 has remained on the user's wrist since being unlocked by providing authentication credentials to device 100), wherein the continued presence of device 100 on the user's wrist is determined by periodically checking the contact between the device and the user's skin. For example, device 100 detects a fingerprint at its fingerprint sensor (e.g., a fingerprint sensor integrated into a button). Device 100 determines whether the detected fingerprint matches a registered fingerprint. If the fingerprint matches a registered fingerprint, security element 163 provides (e.g., publishes) security information. If the fingerprint does not match a registered fingerprint, security element 163 abandons providing (e.g., publishing) security information.
[0063] The device 100 may optionally also include one or more optical sensors 164. Figure 1A An optical sensor 164 coupled to an optical sensor controller 158 in I / O subsystem 106 is shown. The optical sensor 164 optionally includes a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The optical sensor 164 receives light projected through one or more lenses from the environment and converts the light into data representing an image. In conjunction with an imaging module 143 (also referred to as 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 device 100, facing away from a touchscreen display 112 on the front of the device, allowing the touchscreen display to be used as a viewfinder for still image and / or video image acquisition. In some embodiments, the optical sensor is located on the front of the device, allowing images of the user to be optionally acquired for video conferencing while the user views other video conferencing participants on the touchscreen display. In some embodiments, the positioning of the optical sensor 164 can be changed by the user (e.g., by rotating the lenses and sensors within the device housing), allowing a single optical sensor 164 to be used in conjunction with the touchscreen display for both video conferencing and still image and / or video image acquisition.
[0064] The device 100 optionally also includes one or more depth camera sensors 175. Figure 1A A depth camera sensor is shown coupled to a depth camera controller 169 in I / O subsystem 106. Depth camera sensor 175 receives data from the environment to create a 3D model of an object (e.g., a face) within the scene from a viewpoint (e.g., the depth camera sensor). In some embodiments, in conjunction with imaging module 143 (also referred to as camera module), depth camera sensor 175 is optionally used to determine depth maps of different portions of an image captured by imaging module 143. In some embodiments, the depth camera sensor is located at the front of device 100, such that user images with depth information are optionally acquired for video conferencing while a user views other video conferencing participants on a touchscreen display, and selfies with depth map data are captured. In some embodiments, depth camera sensor 175 is located at the rear of the device, or both the rear and front of device 100. In some embodiments, the positioning of depth camera sensor 175 can be changed by the user (e.g., by rotating a lens and sensor within the device housing), such that depth camera sensor 175 is used in conjunction with a touchscreen display for both video conferencing and still image and / or video image acquisition.
[0065] The device 100 may optionally also include one or more contact strength sensors 165. Figure 1A A contact strength sensor is shown coupled to a strength sensor controller 159 in I / O subsystem 106. The contact strength sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electro-force sensors, piezoelectric sensors, optical force sensors, capacitive touch-sensitive surfaces, or other strength sensors (e.g., sensors for measuring the force (or pressure) of contact on a touch-sensitive surface). The contact strength sensor 165 receives contact strength information (e.g., pressure information or a substitute for pressure information) from the environment. In some embodiments, at least one contact strength sensor is arranged juxtaposed with or near a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact strength sensor is located on the rear of device 100, opposite to the touchscreen display 112 located on the front of device 100.
[0066] The device 100 optionally also includes one or more proximity sensors 166. Figure 1AA proximity sensor 166 coupled to a peripheral device interface 118 is shown. Alternatively, the proximity sensor 166 may optionally be coupled to an input controller 160 in an I / O subsystem 106. The proximity sensor 166 may optionally perform 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", the entire contents of which are incorporated herein by reference. In some implementations, the proximity sensor is turned off and the touchscreen 112 is disabled when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call).
[0067] The device 100 may optionally also include one or more tactile output generators 167. Figure 1A A haptic output generator coupled to a haptic feedback controller 161 in I / O subsystem 106 is shown. The haptic output generator 167 optionally includes one or more electroacoustic devices such as speakers or other audio components; and / or electromechanical devices that convert energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other haptic output generating components (e.g., components that convert electrical signals into haptic outputs on the device). A contact intensity sensor 165 receives haptic feedback generation instructions from a haptic feedback module 133 and generates a haptic output on device 100 that can be felt by a user of device 100. In some embodiments, at least one haptic output generator is juxtaposed with or near a haptic surface (e.g., haptic display system 112) and optionally generates the haptic output by moving the haptic surface vertically (e.g., in / outward from the surface of device 100) or laterally (e.g., backward and forward in the same plane as the surface of device 100). In some embodiments, at least one haptic output generator sensor is located on the rear of the device 100, opposite to the touch screen display 112 located on the front of the device 100.
[0068] The device 100 may optionally also include one or more accelerometers 168. Figure 1A An accelerometer 168 coupled to a peripheral device interface 118 is shown. Alternatively, the accelerometer 168 may be coupled to an input controller 160 in an I / O subsystem 106. The accelerometer 168 may optionally perform as described in the following U.S. patent publications: No. 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices" and No. 20060017692, entitled "Methods And Apparatuses For Operating A PortableDevice Based On An Accelerometer," both of which are incorporated herein by reference in their entirety. In some embodiments, information is displayed on a touchscreen display in portrait or landscape view based on analysis of data received from one or more accelerometers. Device 100 may optionally include, in addition to the accelerometer 168, a magnetometer and a GPS (or GLONASS or other global navigation system) receiver for acquiring information about the location and orientation (e.g., portrait or landscape) of device 100.
[0069] In some embodiments, the software components stored in memory 102 include an operating system 126, a biometric module 109, 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, an authentication module 105, and an application (or instruction set) 136. Furthermore, in some embodiments, memory 102 ( Figure 1A ) or 370 ( Figure 3A Storage device / global internal state 157, such as Figure 1A and Figure 3A As shown in the figure. Device / global internal state 157 includes one or more of the following: active application state, which indicates which applications (if any) are currently active; display state, indicating what applications, views or other information occupy various areas of the touch screen display 112; sensor state, including information obtained from various sensors and input control devices 116 of the device; and position information relating to the device's position and / or orientation.
[0070] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or embedded operating systems 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 facilitates communication between various hardware and software components.
[0071] The communication module 128 facilitates communication with other devices via one or more external ports 124 and 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 adapted to be directly coupled to other devices or indirectly coupled via a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external port is connected to… (Trademark of Apple Inc.) The same or similar and / or compatible multi-pin (e.g., 30-pin) connectors used in Apple Inc. devices.
[0072] The biometric module 109 optionally stores information about one or more registered biometric features (e.g., fingerprint features, facial recognition features, eye and / or iris features) for verifying whether received biometric information matches the registered biometric features. In some embodiments, the stored information about one or more registered biometric features includes data that enables comparison between the stored information and the received biometric information, but does not include sufficient information to reproduce the registered biometric features. In some embodiments, the biometric module 109 stores information about registered biometric features in association with a user account of device 100. In some embodiments, the biometric module 109 compares the received biometric information with the registered biometric features to determine whether the received biometric information matches the registered biometric features.
[0073] The contact / motion module 130 optionally detects contact with the touchscreen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., touchpads or physical click-based rotary dials). The contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether a contact has occurred (e.g., detecting a finger press event), determining the contact intensity (e.g., the force or pressure of the contact, or an alternative to force or pressure), determining whether there is movement of the contact and tracking movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger lift event or contact disconnection). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the 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 the contact point being represented by a series of contact data. These operations are optionally applied to single-point contact (e.g., single-finger contact) or multi-point simultaneous contact (e.g., "multi-touch" / multiple-finger contact). In some implementations, the contact / motion module 130 and the display controller 156 detect contact on the touchpad.
[0074] In some implementations, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an operation has been performed by the user (e.g., determining whether the user has “clicked” an icon). In some implementations, at least a subset of the intensity thresholds is determined based on software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a specific physical actuator and can be adjusted without changing the physical hardware of device 100). For example, the mouse “click” threshold of a touchpad or touchscreen can be set to any of a wide range of predefined thresholds without changing the touchpad or touchscreen display hardware. Additionally, in some specific implementations, the user of the device is provided with software settings for adjusting one or more intensity thresholds in a set (e.g., by adjusting the individual intensity thresholds and / or by adjusting multiple intensity thresholds at once using system-level clicks on the “intensity” parameter).
[0075] The touch / motion module 130 optionally detects gesture input performed by the user. Different gestures on a touch-sensitive surface have different contact patterns (e.g., different movements, timings, and / or intensities of the detected contact). Therefore, gestures are optionally detected by detecting specific contact patterns. For example, detecting a finger tap gesture includes detecting a finger press event, and then detecting a finger lift-off (lift-away) event at the same (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 a touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and subsequently detecting a finger lift-off (lift-away) event.
[0076] The graphics module 132 includes various known software components for rendering and displaying graphics on the touchscreen 112 or other display, including components for altering the visual impact of the displayed graphics (e.g., brightness, transparency, saturation, contrast, or other visual properties). 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.
[0077] In some implementations, the graphics module 132 stores data representing the graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes from applications, etc., specifying the graphics to be displayed, and also receives coordinate data and other graphic attribute data if necessary, and then generates screen image data for output to the display controller 156.
[0078] The haptic feedback module 133 includes various software components for generating instructions which are used by the haptic output generator 167 to generate haptic output at one or more locations on the device 100 in response to user interaction with the device 100.
[0079] Optionally, the text input module 134, a component of the graphics module 132, provides a soft keyboard for entering text in various applications (e.g., the contact module 137, the email client module 140, the IM module 141, the browser module 147, and any other application that requires text input).
[0080] GPS module 135 determines the location of the device and provides that information for use in various applications (e.g., to telephone module 138 for use in location-based dialing; to camera module 143 as image / video metadata; and to applications that provide location-based services, such as weather widgets, local yellow pages widgets, and map / navigation widgets).
[0081] Authentication module 105 determines whether a requested operation (e.g., requested by an application in application 136) is authorized to be performed. In some embodiments, authentication module 105 receives an operation to be performed that optionally requires authentication. Authentication module 105 determines whether the operation is authorized to be performed based on a range of factors, including the locked state of device 100, the location of device 100, whether a security delay has occurred, whether the received biometric information matches a registered biometric feature, and / or other factors. Once authentication module 105 determines that the operation is authorized to be performed, authentication module 105 triggers the execution of the operation.
[0082] Application 136 optionally includes the following modules (or instruction sets) or subsets or supersets thereof:
[0083] • Contacts module 137 (sometimes called address book or contact list);
[0084] • Telephone module 138;
[0085] • Video conferencing module 139;
[0086] • Email client module 140;
[0087] • Instant Messaging (IM) module 141;
[0088] Fitness support module 142;
[0089] • Camera module 143 for still images and / or video images;
[0090] • Image management module 144;
[0091] • Video player module;
[0092] Music player module;
[0093] • Browser module 147;
[0094] • Calendar module 148;
[0095] • Widget module 149, which optionally includes one or more of the following: weather widget 149-1, stock market widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5 and other widgets acquired by the user, as well as user-created widgets 149-6;
[0096] • Widget creator module 150 for creating user-created widgets 149-6;
[0097] • Search module 151;
[0098] • Video and music player module 152, which combines a video player module and a music player module;
[0099] • Notepad module 153;
[0100] • Map module 154; and / or
[0101] • Online video module 155.
[0102] Examples of other applications 136 that may be 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, speech recognition, and speech duplication.
[0103] In conjunction with the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, the contact module 137 is optionally used to manage an address book or contact list (e.g., in the application internal state 192 of the contact module 137 stored 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 the telephone module 138, video conferencing module 139, email client module 140, or IM module 141; and so on.
[0104] Combining RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, telephone module 138 is optionally used to input character sequences corresponding to telephone numbers, access one or more telephone numbers in contact module 137, modify already input telephone numbers, dial corresponding telephone numbers, initiate conversations, and disconnect or hang up when a conversation is completed. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.
[0105] Combining RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touchscreen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132, text input module 134, contact module 137, and telephone module 138, video conferencing module 139 includes executable instructions to initiate, conduct, and terminate video conferences between the user and one or more other participants based on user instructions.
[0106] Incorporating RF circuitry 108, touchscreen 112, display controller 156, touch / 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 commands. Combined with image management module 144, email client module 140 makes it very easy to create and send emails containing still images or video images captured by camera module 143.
[0107] In conjunction with RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, instant messaging module 141 includes executable instructions for: entering a character sequence corresponding to an instant message, modifying previously entered characters, sending a corresponding instant message (e.g., using Short Message Service (SMS) or Multimedia Messaging Service (MMS) protocols for telephone-based instant messaging or using XMPP, SIMPLE, or IMPS for internet-based instant messaging), receiving an instant message, and viewing received instant messages. In some embodiments, the sent and / or received instant messages optionally include graphics, photographs, audio files, video files, and / or other attachments supported by MMS and / or Enhanced Messaging Services (EMS). As used herein, "instant message" means both telephone-based messages (e.g., messages delivered using SMS or MMS) and internet-based messages (e.g., messages delivered using XMPP, SIMPLE, or IMPS).
[0108] Incorporating RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music player module, fitness support module 142 includes executable instructions for creating fitness activities (e.g., with time, distance, and / or calorie burning goals); communicating with fitness sensors (executive devices); receiving fitness sensor data; calibrating sensors used to monitor fitness; selecting and playing music for fitness activities; and displaying, storing, and transmitting fitness data.
[0109] In conjunction with the touchscreen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132, and image management module 144, camera module 143 includes executable instructions for: capturing still images or videos (including video streams) and storing them in memory 102, modifying the characteristics of still images or videos, or deleting still images or videos from memory 102.
[0110] Incorporating the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and camera module 143, the image management module 144 includes executable instructions for arranging, modifying (e.g., editing) or otherwise manipulating, marking, deleting, presenting (e.g., in a digital slideshow or album), and storing still images and / or video images.
[0111] Combining RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, browser module 147 includes executable instructions for browsing the Internet according to user instructions, including searching, linking to, receiving, and displaying web pages or portions thereof, as well as links to attachments and other files on web pages.
[0112] Combining RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, email client module 140, and browser module 147, calendar module 148 includes executable instructions to create, display, modify, and store calendars and associated data (e.g., calendar entries, to-dos, etc.) according to user instructions.
[0113] In conjunction with RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and browser module 147, widget module 149 is optionally a micro-application downloaded and used by a user (e.g., weather widget 149-1, stock market widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5) or a user-created micro-application (e.g., user-created widget 149-6). In some embodiments, the widget includes HTML (Hypertext Markup Language) files, CSS (Cascading Style Sheets) files, and JavaScript files. In some embodiments, the widget includes XML (Extensible Markup Language) files and JavaScript files (e.g., Yahoo! widgets).
[0114] In conjunction with RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and browser module 147, widget creator module 150 can optionally be used by the user to create widgets (e.g., to convert user-specified portions of a webpage into widgets).
[0115] In conjunction with the touchscreen 112, display controller 156, touch / 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) according to user instructions.
[0116] Incorporating touchscreen 112, display controller 156, touch / 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 allowing users 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 touchscreen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player such as an iPod (a trademark of Apple Inc.).
[0117] Combining the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, the notepad module 153 includes executable instructions for creating and managing notes, to-do items, etc., according to user instructions.
[0118] Combining RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, map module 154 is optionally used to receive, display, modify, and store maps and map-related data (e.g., driving directions, data related to shops and other points of interest at or near a specific location, and other location-based data) according to user instructions.
[0119] Incorporating touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, email client module 140, and browser module 147, the online video module 155 includes instructions for: allowing users to access, browse, receive (e.g., via streaming and / or downloading), play back (e.g., on the touchscreen or on an external display connected via external port 124), send emails with links to specific online videos, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, an instant messaging module 141 is used instead of the email client module 140 to send links to specific online videos. Additional descriptions of the online video application can be found in U.S. Provisional Patent Application No. 60 / 936,562, filed 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 December 31, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” the contents of which are incorporated herein by reference in their entirety.
[0120] Each of the modules and applications described above corresponds to an executable set of instructions for performing one or more functions described above and the methods described in this patent application (e.g., computer-implemented methods and other information processing methods described herein). These modules (e.g., instruction sets) need not be implemented as separate software programs (such as computer programs (e.g., including instructions)), processes, or modules; therefore, various subsets of these modules may optionally be combined or otherwise rearranged in various embodiments. For example, a video player module may optionally be combined with a music player module into a single module (e.g., Figure 1A (e.g., video and music player module 152). In some embodiments, memory 102 optionally stores subgroups of the aforementioned modules and data structures. Additionally, memory 102 optionally stores other modules and data structures not described above.
[0121] In some implementations, device 100 is a device on which the operation of a predefined set of functions is performed solely via a touchscreen and / or touchpad. By using a touchscreen and / or 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.
[0122] A predefined set of functions, uniquely performed via a touchscreen and / or touchpad, optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by a user, navigates device 100 from any user interface displayed on device 100 to the main menu, home menu, or root menu. In such embodiments, a "menu button" is implemented using a touchpad. In some other embodiments, the menu button is a physical push-button or other physical input control device, rather than a touchpad.
[0123] Figure 1B This is a block diagram illustrating exemplary components for event handling according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or memory 370 ( Figure 3A This includes an event classifier 170 (e.g., in operating system 126) and a corresponding application 136-1 (e.g., any one of the aforementioned applications 137 to 151, 155, 380 to 390).
[0124] Event classifier 170 receives event information and determines the application 136-1 and application view 191 of application 136-1 to which the event information should be delivered. Event classifier 170 includes event monitor 171 and event dispatcher module 174. In some embodiments, application 136-1 includes application internal state 192, which indicates one or more current application views displayed on touch-sensitive display 112 when the application is active or running. 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 should be delivered.
[0125] In some implementations, the application internal state 192 includes additional information such as one or more of the following: recovery information to be used when the application 136-1 resumes execution, user interface state information indicating that information is being displayed or ready to be displayed by the application 136-1, a state queue for enabling the user to return to the previous state or view of the application 136-1, and a repeat / undo queue for the user's previous actions.
[0126] Event monitor 171 receives event information from peripheral interface 118. The event information includes information about sub-events (e.g., user touches on touch-sensitive display 112 as part of a multi-touch gesture). Peripheral 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 circuitry 110). The information received by peripheral interface 118 from I / O subsystem 106 includes information from touch-sensitive display 112 or touch-sensitive surfaces.
[0127] In some implementations, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 sends event information. In other implementations, peripheral device interface 118 sends event information only when a significant event occurs (e.g., receiving input above a predetermined noise threshold and / or receiving input for a predetermined duration).
[0128] In some implementations, the event classifier 170 also includes a hit view determination module 172 and / or an activity event recognizer determination module 173.
[0129] When the touch-sensitive display 112 displays more than one view, the hit view determination module 172 provides a software process for determining where a sub-event has occurred within one or more views. A view consists of controls and other elements that the user can see on the display.
[0130] Another aspect of the user interface associated with an application is a set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application view (of the corresponding application) in which a touch is detected optionally corresponds to a procedural level within the application's procedural or view hierarchy. For example, the lowest-level view in which a touch is detected is optionally referred to as the hit view, and the set of events identified as correct input is optionally determined at least in part based on the hit view of the initial touch that initiates a touch-based gesture.
[0131] The hit view determination module 172 receives information related to sub-events of touch-based gestures. When an application has multiple views organized in a hierarchical structure, the hit view determination module 172 identifies the hit view as the lowest-level view in the hierarchical structure from which 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 forming an event or potential event) occurs. Once the hit view is identified by the hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source to which it was identified as the hit view.
[0132] The activity event recognizer determination module 173 determines which views(s) within the view hierarchy should receive a specific sub-event sequence. In some embodiments, the activity event recognizer determination module 173 determines that only the hit view should receive the specific sub-event sequence. In other embodiments, the activity event recognizer determination module 173 determines that all views including the physical location of the sub-event are actively participating views, and therefore determines that all actively participating views should receive the specific sub-event sequence. In other embodiments, even if the touch sub-event is entirely confined to the area associated with a particular view, the higher-level views in the hierarchy will still remain actively participating views.
[0133] Event assigner module 174 assigns event information to event identifiers (e.g., event identifier 180). In embodiments that include active event identifier determination module 173, event assigner module 174 delivers event information to the event identifier determined by active event identifier determination module 173. In some embodiments, event assigner module 174 stores event information in an event queue, which is retrieved by the corresponding event receiver 182.
[0134] 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 (such as contact / motion module 130) stored in memory 102.
[0135] In some implementations, application 136-1 includes a plurality of event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events occurring within a corresponding view of the 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 a plurality of event recognizers 180. In other implementations, one or more of the event recognizers 180 are part of a separate module, such as a user interface toolkit or a higher-level object from which application 136-1 inherits methods and other properties. In some implementations, 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 handlers 190 optionally utilize or invoke the data updater 176, the object updater 177, or the GUI updater 178 to update the application's internal state 192. Alternatively, one or more 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.
[0136] The corresponding event identifier 180 receives event information (e.g., event data 179) from the event classifier 170 and identifies the event based on the event information. The event identifier 180 includes an event receiver 182 and an event comparator 184. In some embodiments, the event identifier 180 also includes at least one subset of metadata 183 and event delivery instructions 188 (which optionally include sub-event delivery instructions).
[0137] Event receiver 182 receives event information from event classifier 170. The event information includes information about sub-events, such as touch or touch movement. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves touch movement, 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 longitudinal orientation to a lateral orientation, or vice versa), and the event information includes corresponding information about the device's current orientation (also referred to as device orientation).
[0138] Event comparator 184 compares event information with predefined event or sub-event definitions 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, event comparator 184 includes event definition 186. Event definition 186 contains definitions of events (e.g., predefined sequences of sub-events), such as event 1 (187-1), event 2 (187-2), and others. In some embodiments, sub-events in events (e.g., 187-1 and / or 187-2) include, for example, touch start, touch end, touch move, touch cancel, and multi-touch. In one example, event 1 (187-1) is defined as 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 of a predetermined duration (touch end), a second touch (touch start) of a predetermined duration on the displayed object, and a second lift-off of a predetermined duration (touch end). In another example, event 2 (187-2) is defined as a drag on a displayed object. For example, dragging includes a touch (or contact) on the displayed object for a predetermined duration, movement of the touch on the touch-sensitive display 112, and lifting off the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.
[0139] In some implementations, event definition 186 includes definitions of events for corresponding user interface objects. In some implementations, event comparator 184 performs a hit test to determine which user interface object is associated with the 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 the event handler associated with the sub-event and the object that triggered the hit test.
[0140] In some implementations, the definition of the corresponding event (187) also includes a delay action that delays the delivery of event information until it has been determined whether the sub-event sequence actually corresponds to or does not correspond to the event type of the event recognizer.
[0141] When the corresponding event recognizer 180 determines that the sub-event sequence does not match any event in event definition 186, the corresponding event recognizer 180 enters an event impossible, event failed, or event ended state, after which subsequent sub-events based on touch gestures are ignored. In this case, other event recognizers (if any) that remain active in the hit view continue to track and process the ongoing sub-events based on touch gestures.
[0142] In some embodiments, the corresponding event recognizer 180 includes metadata 183 having configurable attributes, flags, and / or lists instructing how the event delivery system should perform sub-event delivery to actively participating event recognizers. In some embodiments, the metadata 183 includes configurable attributes, flags, and / or lists instructing how or how event recognizers can interact with each other. In some embodiments, the metadata 183 includes configurable attributes, flags, and / or lists instructing whether sub-events are delivered to different levels in a view or programmatic hierarchy.
[0143] In some implementations, when one or more specific sub-events of an event are identified, the corresponding event recognizer 180 activates the event handler 190 associated with the event. In some implementations, the corresponding event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is different from delivering (and deferred delivering) the sub-events to the corresponding hit view. In some implementations, the event recognizer 180 throws a flag associated with the identified event, and the event handler 190 associated with the flag retrieves the flag and executes a predefined procedure.
[0144] In some implementations, event delivery instruction 188 includes a sub-event delivery instruction that delivers event information about a sub-event without activating an event handler. Instead, the sub-event delivery instruction delivers the event information to an event handler associated with the sub-event sequence or to an actively participating view. The event handler associated with the sub-event sequence or the actively participating view receives the event information and performs a predetermined procedure.
[0145] In some implementations, 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 implementations, 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 positioning of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and transmits the display information to graphics module 132 for display on touch-sensitive display.
[0146] In some implementations, event handler 190 includes, or has access to, a data updater 176, an object updater 177, and a GUI updater 178. In some implementations, 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 implementations, they are included in two or more software modules.
[0147] It should be understood that the above discussion regarding event handling for user touch on a touch-sensitive display also applies to other forms of user input used to operate the multifunction device 100 using an input device, and not all user input is initiated on the touchscreen. For example, mouse movement and mouse button presses optionally in conjunction with single or multiple keyboard presses or holds; touch movements on the touchpad, such as taps, drags, scrolls, etc.; stylus input; device movement; verbal commands; detected eye movements; biometric input; and / or any combination thereof may optionally be used as input corresponding to sub-events that define the event to be identified.
[0148] Figure 2A portable multifunction device 100 with a touchscreen 112 is illustrated according to some embodiments. The touchscreen 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 graphics by gesturing over the graphics, for example, using one or more fingers 202 (not drawn to scale in the figure) or one or more styluses 203 (not drawn to scale in the figure). In some embodiments, selection of one or more graphics occurs when the user breaks contact with one or more graphics. In some embodiments, gestures optionally include one or more taps, one or more swipes (from left to right, from right to left, up and / or down), and / or scrolling (from right to left, from left to right, up and / or down) of a finger already in contact with the device 100. In some specific embodiments or in some cases, unintentional contact with a graphic does not select the graphic. For example, a swipe gesture over an application icon optionally does not select the corresponding application when the gesture corresponding to selection is a tap.
[0149] Device 100 optionally also includes one or more physical buttons, such as a "home" or menu button 204. As previously described, menu button 204 is optionally used to navigate to any application 136 of a set of applications optionally executed on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on touchscreen 112.
[0150] In some embodiments, device 100 includes a touchscreen 112, a menu button 204, a push-button 206 for powering on / off and locking the device, one or more volume control buttons 208, a SIM card slot 210, a headset jack 212, and a docking / charging external port 124. The push-button 206 is optionally used to power on / off the device by pressing the button and holding it in the pressed 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 another embodiment, device 100 also accepts voice input via microphone 113 for activating or deactivating certain functions. Device 100 also optionally includes one or more contact strength sensors 165 for detecting the intensity of contact on the touchscreen 112, and / or one or more haptic output generators 167 for generating haptic outputs for a user of device 100.
[0151] Figure 3AThis is a block diagram of an exemplary multi-functional device with a display and a touch-sensitive surface according to some embodiments. Device 300 need not be portable. In some embodiments, device 300 is a laptop computer, desktop computer, tablet computer, multimedia player device, navigation device, educational device (such as a children's learning toy), gaming system, or control device (e.g., a home controller or industrial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses 320 for interconnecting these components. The communication bus 320 optionally includes circuitry (sometimes referred to as a chipset) for interconnecting system components and controlling communication between system components. Device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touchscreen display. The I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, and a haptic output generator 357 for generating haptic output on device 300 (e.g., similar to the one referenced above). Figure 1A The described tactile output generator 167) and sensor 359 (e.g., optical sensor, accelerometer, proximity sensor, touch sensor and / or contact intensity sensor (similar to the one described above)) Figure 1A The described contact strength sensor 165). 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 disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 370 optionally includes one or more storage devices located remotely from CPU 310. In some embodiments, memory 370 stores information related to portable multifunction device 100. Figure 1A The memory 370 stores programs, modules, and data structures similar to those in the memory 102 of the portable multifunction device 100, or subsets thereof. Additionally, the memory 370 optionally stores additional programs, modules, and data structures not present in the memory 102 of the portable multifunction device 100. For example, the memory 370 of the device 300 optionally stores a drawing module 380, a rendering module 382, a word processing module 384, a website creation module 386, a disk editing module 388, and / or a spreadsheet module 390, while the portable multifunction device 100 (… Figure 1A The memory 102 may optionally not store these modules.
[0152] Figure 3AEach of the elements described above is optionally stored in one or more memory devices of the previously mentioned memory devices. Each module described above corresponds to a set of instructions for performing the functions described above. The modules or computer programs described above (e.g., instruction sets or including instructions) need not be implemented as separate software programs (such as computer programs (e.g., including instructions)), processes, or modules, and therefore various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores a subgroup of the modules and data structures described above. In addition, memory 370 optionally stores additional modules and data structures not described above.
[0153] Specific embodiments within the scope of this disclosure may be implemented, in whole or in part, using a tangible computer-readable storage medium (or a plurality of tangible computer-readable storage media of one or more types) that encodes one or more computer-readable instructions. It should be understood that computer-readable instructions may be organized in any format, including applications, components, processes, software, and / or parts.
[0154] Specific embodiments within the scope of this disclosure include computer-readable storage media encoding instructions organized as an application (e.g., application 3160) that, when executed by one or more processing units, control the execution of an electronic device (e.g., device 3150). Figure 3B Methods Figure 3C The methods and / or one or more other processes and / or methods described herein.
[0155] It should be recognized that the application of 3160 ( Figure 3D The application 3160 (as shown in the diagram) can be any suitable type of application, including one or more of the following: browser applications, applications used as execution environments for plugins, widgets, or other applications, fitness applications, health applications, digital payment applications, media applications, social networking applications, messaging applications, and / or map applications. In some embodiments, application 3160 is an application pre-installed on device 3150 at the time of purchase (e.g., a first-party application). In some embodiments, application 3160 is an application provided to device 3150 via operating system update files (e.g., a first-party or second-party application). In some embodiments, application 3160 is an application provided via an app store. In some embodiments, the app store can be an app store pre-installed on device 3150 at the time of purchase (e.g., a first-party app store). In some embodiments, the app store is a third-party app store (e.g., an app store provided by another app store, downloaded via a network, and / or read from a storage device).
[0156] refer to Figure 3B and Figure 3FApplication 3160 obtains information (e.g., 3010). In some embodiments, at 3010, information is obtained from at least one hardware component of device 3150. In some embodiments, at 3010, information is obtained from at least one software module of device 3150. In some embodiments, at 3010, information is obtained from at least one hardware component external to device 3150 (e.g., peripheral devices, accessory devices, and / or servers). In some embodiments, the information obtained at 3010 includes location information, time information, notification information, user information, environmental information, electronic device status information, weather information, media information, historical information, event information, hardware information, and / or motion information. In some embodiments, in response to obtaining information at 3010 and / or thereafter, application 3160 provides the information to the system (e.g., 3020).
[0157] In some implementations, the system (e.g., Figure 3E The 3110 shown is the operating system hosted on the device 3150. In some implementations, the system (e.g., Figure 3E 3110 shown in the figure is an external device (e.g., a server, peripheral device, accessory and / or personal computing device) that includes an operating system.
[0158] refer to Figure 3C and Figure 3G Application 3160 obtains information (e.g., 3030). In some embodiments, the information obtained at 3030 includes location information, time information, notification information, user information, environmental information, electronic device status information, weather information, media information, historical information, event information, hardware information, and / or motion information. In response to obtaining information at 3030 and / or thereafter, application 3160 performs an operation on the information (e.g., 3040). In some embodiments, the operations performed at 3040 include: providing notifications based on the information, sending messages based on the information, displaying information, controlling the user interface of a fitness application based on the information, controlling the user interface of a health application based on the information, controlling focus modes based on the information, setting reminders based on the information, adding calendar entries based on the information, and / or calling the API of system 3110 based on the information.
[0159] In some implementations, execution is performed in response to a trigger. Figure 3B Methods and / or Figure 3C The method involves one or more steps. In some implementations, triggering includes event detection, notifications received from system 3110, user input, and / or responses to calls to APIs provided by system 3110.
[0160] In some implementations, when the instructions of application 3160 are executed, control device 3150 executes them by calling an application programming interface (API) (e.g., API 3190) provided by system 3110. Figure 3B Methods and / or Figure 3C The method. In some implementations, application 3160 executes without calling API 3190. Figure 3B Methods and / or Figure 3C At least a part of the method.
[0161] In some implementation schemes, Figure 3B Methods and / or Figure 3C One or more steps of the method involve calling the API (e.g., API 3190) using one or more parameters defined by the API. In some implementations, one or more parameters include constants, keys, data structures, objects, object classes, variables, data types, pointers, arrays, lists, or pointers to functions or methods and / or references to data or other items to be passed via the API in another way.
[0162] refer to Figure 3D Example 3150 is shown. In some embodiments, device 3150 is a personal computing device, smartphone, smartwatch, fitness tracker, head-mounted display (HMD) device, media device, public utility, speaker, television, and / or tablet computer. Figure 3D As illustrated, device 3150 includes application 3160 and operating system (e.g., Figure 3E System 3110 is shown in the diagram. Application 3160 includes application implementation module 3170 and API call module 3180. System 3110 includes API 3190 and implementation module 3100. It should be understood that device 3150, application 3160 and / or system 3110 may include... Figure 3D and Figure 3E The examples shown have more, fewer, and / or different components.
[0163] In some implementations, application implementation module 3170 includes a set of one or more instructions corresponding to one or more operations performed by application 3160. For example, when application 3160 is a messaging application, application implementation module 3170 may include operations for receiving and sending messages. In some implementations, application implementation module 3170 communicates with API calling module 3180 via API 3190 (in... Figure 3E (As shown in the figure) communicates with system 3110.
[0164] In some implementations, API 3190 is a software module (e.g., a set of computer-readable instructions) that provides an interface that allows different modules (e.g., API calling module 3180) to access and / or use one or more functions, methods, procedures, data structures, classes, and / or other services provided by implementation module 3100 of system 3110. For example, API calling module 3180 can access features of implementation module 3100 through one or more API calls or references (e.g., embodied by function or method calls) exposed by API 3190 (e.g., software and / or hardware modules that can receive, respond to, and / or transmit API calls), and can pass data and / or control information via API calls or references using one or more parameters. In some implementations, API 3190 allows application 3160 to use services provided by a software development kit (SDK) library. In some implementations, application 3160 combines calls to functions or methods provided by the SDK library and API 3190, or uses data types or objects defined in the SDK library and provided by API 3190. In some implementations, API calling module 3180 makes API calls via API 3190 to access and use features of implementation module 3100 specified by API 3190. In such implementations, implementation module 3100 may return a value to API calling module 3180 via API 3190 in response to an API call. This value may report to application 3160 the capabilities or status of hardware components of device 3150, including those capabilities or statuses related to aspects such as input capabilities and status, output capabilities and status, processing capabilities, power status, storage capabilities and status, and / or communication capabilities. In some implementations, API 3190 is implemented in part by firmware, microcode, or other low-level logic executed in part on the hardware components.
[0165] In some implementations, API 3190 allows the developer of API calling module 3180 (which may be a third-party developer) to utilize features provided by implementation module 3100. In such implementations, one or more API calling modules (e.g., including API calling module 3180) may exist that communicate with implementation module 3100. In some implementations, API 3190 allows multiple API calling modules written in different programming languages to communicate with implementation module 3100 (e.g., API 3190 may include features for translating calls and returns between implementation module 3100 and API calling module 3180), and API 3190 is implemented in a specific programming language. In some implementations, API calling module 3180 calls APIs from different providers, such as one set of APIs from an OS provider, another set of APIs from a plugin provider, and / or another set of APIs from another provider (e.g., a software library provider) or the creator of another set of APIs.
[0166] Examples of API 3190 may include one or more of the following: pairing API (e.g., for establishing a secure connection, such as with an accessory), device detection API (e.g., for locating nearby devices, such as media devices and / or smartphones), payment API, UIKit API (e.g., for generating user interfaces), location detection API, locator API, map API, health sensor API, sensor API, messaging API, push notification API, streaming API, collaboration API, video conferencing API, app store API, advertising service API, web browser API (e.g., WebKit API), transportation API, networking API, WiFi API, Bluetooth API, NFC API, UWB API, fitness API, smart home API, contact transfer API, photo API, camera API, and / or image processing API. In some implementations, a sensor API is an API for accessing data associated with sensors of device 3150. For example, a sensor API may provide access to raw sensor data. Alternatively, a sensor API may provide data derived (and / or generated) from raw sensor data. In some implementations, sensor data includes temperature data, image data, video data, audio data, heart rate data, IMU (Inertial Measurement Unit) data, LiDAR data, location data, GPS data, and / or camera data. In some implementations, the sensors include one or more of an accelerometer, temperature sensor, infrared sensor, optical sensor, heart rate sensor, barometer, gyroscope, proximity sensor, and / or biometric sensor.
[0167] In some embodiments, implementation module 3100 is a system (e.g., an operating system and / or server system) software module (e.g., a set of computer-readable instructions) configured to perform operations in response to receiving an API call via API 3190. In some embodiments, implementation module 3100 is configured to provide an API response (via API 3190) as a result of processing the API call. For example, implementation module 3100 and API call module 3180 can each be any of an operating system, library, device driver, API, application, or other module. It should be understood that implementation module 3100 and API call module 3180 can be the same or different types of modules. In some embodiments, implementation module 3100 is at least partially embodied in firmware, microcode, or hardware logic.
[0168] In some implementations, implementation module 3100 returns a value via API 3190 in response to an API call from API calling module 3180. Although API 3190 defines the syntax and results of the API call (e.g., how to reference the API call and what the API call can do), API 3190 may not reveal how implementation module 3100 performs the function specified by the API call. Various API calls are transmitted via one or more application programming interfaces between API calling module 3180 and implementation module 3100. Transmitting API calls may include issuing, initiating, referencing, calling, receiving, returning, and / or responding to function calls or messages. In other words, transmission may describe the actions of API calling module 3180 or implementation module 3100. In some implementations, function calls or other references to API 3190 transmit and / or receive one or more parameters via parameter lists or other structures.
[0169] In some implementations, implementation module 3100 provides more than one API, each API providing a different view or aspect of the functionality implemented by implementation module 3100. For example, one API of implementation module 3100 may provide a first set of functions and may be exposed to third-party developers, while another API of implementation module 3100 may be hidden (e.g., not exposed) and provide a subset of the first set of functions, and also provide another set of functions, such as test or debug functions not in the first set of functions. In some implementations, implementation module 3100 calls one or more other components via lower-level APIs, thus being both an API calling module and an implementation module. It should be recognized that implementation module 3100 may include additional functions, methods, classes, data structures, and / or other features not specified through API 3190 and not available to API calling module 3180. It should also be recognized that API calling module 3180 may be on the same system as implementation module 3100, or may be remotely located and accessed via a network using API 3190. In some implementations, implementation module 3100, API 3190, and / or API calling module 3180 are stored in a machine-readable medium, which includes any means for storing information in a machine-readable (e.g., computer or other data processing system) form. For example, a machine-readable medium may include a magnetic disk, optical disk, random access memory, read-only memory, and / or flash memory devices.
[0170] An Application Programming Interface (API) is an interface between a first software process and a second software process, specifying the format for communication between them. Limited APIs (e.g., private or partner APIs) are APIs accessible to a limited set of software processes (e.g., only software processes within the operating system or only software processes authorized to access the limited API). Public APIs are accessible to a broader set of software processes. Some APIs enable a software process to communicate or set the state of one or more input devices (e.g., one or more touch sensors, proximity sensors, vision sensors, motion / or orientation sensors, pressure sensors, intensity sensors, sound sensors, wireless proximity sensors, biometric sensors, buttons, switches, rotatable elements, and / or external controllers). Some APIs enable a software process to communicate and / or set the state of one or more output generation components (e.g., one or more audio output generation components, one or more display generation components, and / or one or more haptic output generation components). Some APIs enable specific capabilities (e.g., scrolling, handwriting, text input, image editing, and / or image creation) to be accessed, executed, and / or used by a software process (e.g., generating output for use by the software process based on input from the software process). Some APIs enable content from software processes to be inserted into templates and displayed in user interfaces with layouts and / or behaviors specified by the templates.
[0171] Many software platforms include a set of frameworks that provide core objects and behaviors that software developers need to build software applications that can be used on the platform. Software developers use these objects to display content on a screen, interact with that content, and manage interactions with the software platform. The basic behavior of a software application depends on this framework, and this framework provides software developers with numerous ways to customize the application's behavior to match the specific needs of the application. Many of these core objects and behaviors are accessed via APIs. APIs typically specify the format for communication between software processes, including specifying and grouping available variables, functions, and protocols. API calls (sometimes called API requests) are typically passed from a sending software process to a receiving software process as a way to achieve one or more of the following: the sending software process requests information from the receiving software process (e.g., for the sending software process to take an action); the sending software process provides information to the receiving software process (e.g., for the receiving software process to take an action); the sending software process requests an action from the receiving software process; or the sending software process provides information to the receiving software process about the action taken by the sending software process. In some cases, interaction with a device (e.g., using a user interface) will involve transmitting and / or receiving one or more API calls (e.g., multiple API calls) between multiple different software processes (e.g., different parts of an operating system, applications and operating systems, or different applications) via one or more APIs (e.g., via multiple different APIs). For example, when input is detected, direct sensor data is frequently processed into one or more input events, which are provided (e.g., via an API) to a receiving software process, which makes some determinations based on the input events and then (e.g., via an API) transmits information to the software process to perform an operation (e.g., change the device state and / or the user interface) based on the determinations. While the determinations and the operations performed in response can be made by the same software process, alternatively, the determinations can be made in a first software process and relayed (e.g., via an API) to a second software process different from the first software process, allowing the operation to be performed by the second software process. Alternatively, the second software process can relay instructions (e.g., via an API) to a third software process different from the first and / or second software processes to perform the operation. It should be understood that some or all user interactions with a computer system may involve one or more API calls within the steps of interacting with the computer system (e.g., between different software components of the computer system or between software components of the computer system and software components of one or more remote computer systems).It should be understood that some or all user interactions with a computer system may involve one or more API calls between steps of interaction with the computer system (e.g., between different software components of the computer system or between software components of the computer system and software components of one or more remote computer systems).
[0172] In some implementations, the application can be any suitable type of application, including one or more of the following: browser applications, applications used as execution environments for plugins, widgets or other applications, fitness applications, health applications, digital payment applications, media applications, social networking applications, messaging applications and / or map applications.
[0173] In some embodiments, the application is an application pre-installed on the first computer system at the time of purchase (e.g., a first-party application). In some embodiments, the application is an application provided to the first computer system via operating system update files (e.g., a first-party application). In some embodiments, the application is an application provided via an app store. In some embodiments, the app store is pre-installed on the first computer system at the time of purchase (e.g., a first-party app store) and allows the download of one or more applications. In some embodiments, the app store is a third-party app store (e.g., an app store provided by another device, downloaded via a network, and / or read from a storage device). In some embodiments, the application is a third-party application (e.g., an application provided by an app store, downloaded via a network, and / or read from a storage device). In some embodiments, the application controls the first computer system to execute methods 700 and / or 800 by calling an application programming interface (API) provided by a system process using one or more parameters. Figure 7 and / or Figure 8 ).
[0174] In some implementations, exemplary APIs provided by system processes include one or more of the following: pairing API (e.g., for establishing a secure connection, such as with an accessory), device detection API (e.g., for locating nearby devices, such as media devices and / or smartphones), payment API, UIKit API (e.g., for generating user interfaces), location detection API, locator API, map API, health sensor API, sensor API, messaging API, push notification API, streaming API, collaboration API, video conferencing API, app store API, advertising service API, web browser API (e.g., WebKit API), transportation API, networking API, WiFi API, Bluetooth API, NFC API, UWB API, fitness API, smart home API, contact transfer API, photo API, camera API, and / or image processing API.
[0175] In some embodiments, at least one API is a software module (e.g., a set of computer-readable instructions) that provides an interface allowing different modules (e.g., API calling module 3180) to access and use one or more functions, methods, procedures, data structures, classes, and / or other services provided by an implementation module of a system process. The API may define one or more parameters passed between the API calling module and the implementation module. In some embodiments, API 3190 defines a first API call that can be provided by API calling module 3180. An implementation module is a system software module (e.g., a set of computer-readable instructions) configured to perform operations in response to receiving an API call via the API. In some embodiments, the implementation module is configured to provide an API response (via the API) as a result of processing the API call. In some embodiments, the implementation module is included in a device (e.g., 3150) running an application. In some embodiments, the implementation module is included in an electronic device separate from the device running the application.
[0176] Now let’s turn our attention to the implementation of the user interface, which is optionally implemented on, for example, a portable multifunction device 100.
[0177] Figure 4A An exemplary user interface for an application menu on a portable multifunction device 100 according to some embodiments is illustrated. 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:
[0178] • Signal strength indicator 402 for wireless communications such as cellular signals and Wi-Fi signals;
[0179] • Time 404;
[0180] Bluetooth indicator 405;
[0181] • Battery status indicator 406;
[0182] • Tray icon 408 with icons for frequently used applications, such as:
[0183] ○ The telephone module 138 has an icon 416 labeled "telephone", which optionally includes an indicator 414 indicating the number of missed calls or voicemail messages;
[0184] ○ An icon 418 labeled "Mail" in the email client module 140, which optionally includes an indicator 410 for the number of unread emails;
[0185] ○ The icon 420 labeled "Browser" in browser module 147; and
[0186] ○ The icon 422 labeled "iPod" for the video and music player module 152 (also known as the iPod (a trademark of Apple Inc.) module 152); and
[0187] • Icons of other applications, such as:
[0188] ○The icon 424 of the IM module 141 marked as "Message";
[0189] ○The calendar module 148 has an icon 426 labeled "Calendar";
[0190] ○ The icon 428 of the image management module 144 is labeled "Photo".
[0191] ○ The icon 430 of camera module 143, which is labeled "camera";
[0192] ○ The icon 432 of the online video module 155, which is labeled "Online Video";
[0193] ○ The icon 434 labeled "Stock Market" in the Stock Market widget 149-2;
[0194] ○The icon 436 of the map module 154 that is labeled "map";
[0195] ○The weather widget 149-1 has icon 438 labeled "weather";
[0196] ○ The alarm clock widget 149-4 has an icon 440 labeled "clock";
[0197] ○ The icon 442 of the fitness support module 142 is labeled "fitness support";
[0198] ○ The icon 444 labeled "Notepad" in Notepad module 153; and
[0199] ○ Set an icon 446 labeled "Settings" for an application or module, which provides access to settings for device 100 and its various applications 136.
[0200] It should be pointed out that, Figure 4A The illustrated icon labels are merely exemplary. For example, icon 422 of video and music player module 152 is labeled "Music" or "Music Player". Other labels may be optionally used for various application icons. In some embodiments, the label of a particular application icon includes the name of the application corresponding to that particular application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to that particular application icon.
[0201] Figure 4BAn example is illustrated having a touch-sensitive surface 451 (e.g., separate from the display 450 (e.g., touchscreen display 112)). Figure 3A Devices such as tablets or touchpads (e.g., 355) Figure 3A An exemplary user interface on the device 300. The device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of the sensors 359) for detecting the intensity of contact on the tactile surface 451 and / or one or more tactile output generators 357 for generating tactile outputs for the user of the device 300.
[0202] While some examples of inputs on a touchscreen display 112 (which combines a touch-sensitive surface and a display) are given below, in some implementations, the device detects inputs on a touch-sensitive surface separate from the display, such as... Figure 4B As shown in the diagram. In some embodiments, the touch-sensitive surface (e.g., Figure 4B 451) has a spindle (e.g., on the display (e.g., 450)). Figure 4B The spindle corresponding to 453 in the middle (e.g., Figure 4B (452 in the example). According to these embodiments, the device detects the position corresponding to the corresponding position on the display (e.g., in the example). Figure 4B In the middle, 460 corresponds to 468 and 462 corresponds to 470) is in contact with the touch-sensitive surface 451 (e.g., Figure 4B (460 and 462 in the text). Thus, when the touch-sensitive surface (e.g., ...) Figure 4B 451) and the display of a multi-functional device (e.g., Figure 4B When 450 is separated from the touch-sensitive surface, user input detected by the device on that touch-sensitive surface (e.g., touches 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 may be optionally used for other user interfaces described herein.
[0203] Additionally, while the examples below are given primarily with reference to finger input (e.g., finger touch, single-finger tap gesture, finger swipe gesture), it should be understood that in some implementations, one or more of these finger inputs may be replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture may optionally be replaced by a mouse click (e.g., instead of a touch), followed by movement of the cursor along the path of the swipe (e.g., instead of movement of the touch). As another example, a tap gesture may optionally be replaced by a mouse click while the cursor is over the location of the tap gesture (e.g., instead of detection of touch, followed by cessation of touch detection). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice may optionally be used simultaneously, or mouse and finger touch may optionally be used simultaneously.
[0204] Figure 5A An exemplary personal electronic device 500 is illustrated. Device 500 includes a body 502. In some embodiments, device 500 may include components relative to devices 100 and 300 (e.g., Figures 1A to 4B The device 500 may include some or all of the features described herein. In some embodiments, the device 500 has a touch-sensitive display 504, referred to below as a touchscreen 504. Alternatively, or in addition to the touchscreen 504, the device 500 may also have a display and a touch-sensitive surface. Similar to the cases of devices 100 and 300, in some embodiments, the touchscreen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors for detecting the intensity of an applied contact (e.g., a touch). The one or more intensity sensors of the touchscreen 504 (or touch-sensitive surface) may provide output data representing the intensity of the touch. The user interface of the device 500 may respond to touches based on the intensity of the touch, meaning that touches of different intensities may invoke different user interface operations on the device 500.
[0205] Exemplary techniques for detecting and processing touch intensity are found, for example, in the following related applications: International Patent Application Serial No. PCT / US2013 / 040061, filed May 8, 2013, entitled “Device, Method, and Graphical User Interface for Displaying UserInterface Objects Corresponding to an Application,” published as WIPO Publication No. WO / 2013 / 169849; and International Patent Application Serial No. PCT / US2013 / 069483, filed November 11, 2013, entitled “Device, Method, and Graphical User Interface for Transitioning Between TouchInput to Display Output Relationships,” published as WIPO Publication No. WO / 2014 / 105276, each of which is incorporated herein by reference in its entirety.
[0206] In some embodiments, device 500 has one or more input mechanisms 506 and 508. Input mechanisms 506 and 508 (if included) may be physical. Examples of physical input mechanisms include push-buttons and rotatable mechanisms. In some embodiments, device 500 has one or more attachment mechanisms. Such attachment mechanisms (if included) allow device 500 to be attached to, for example, hats, glasses, earrings, necklaces, shirts, jackets, bracelets, watch straps, bangles, trousers, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow a user to wear device 500.
[0207] Figure 5B An exemplary personal electronic device 500 is depicted. In some embodiments, device 500 may include information about... Figure 1A , Figure 1B and Figure 3ASome or all of the components described. Device 500 has a bus 512 that operatively couples I / O portion 514 to one or more computer processors 516 and memory 518. I / O portion 514 may be connected to display screen 504, which may have touch-sensitive components 522 and optionally have an intensity sensor 524 (e.g., a contact intensity sensor). Furthermore, I / O portion 514 may be connected to 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. Input mechanism 506 is optionally, for example, a rotatable input device or a pressable and rotatable input device. In some examples, input mechanism 508 is optionally a button.
[0208] In some examples, the input mechanism 508 is optionally a microphone. The personal electronic device 500 optionally includes various sensors, such as a GPS sensor 532, an accelerometer 534, an orientation sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or combinations thereof, all of which are operatively connected to the I / O section 514.
[0209] 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, which, when executed by one or more computer processors 516, may cause the computer processors to perform, for example, the techniques described below, including method 700 and method 800. Figure 7 and Figure 8 A computer-readable storage medium can be any medium that can tangibly contain or store computer-executable instructions for use by or in connection with an instruction execution system, apparatus, or device. In some 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 can 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 discs based on CD, DVD, or Blu-ray technology, and persistent solid-state storage such as flash memory, solid-state drives, etc. Personal electronic devices are not limited to... Figure 5B It can be the components and configurations, or it can include other components or additional components in a variety of configurations.
[0210] As used herein, the term "power indication" refers optionally to the power indication in devices 100, 300, and / or 500 ( Figure 1A , Figure 3A and Figures 5A to 5BA user-interactive graphical user interface object displayed on a screen. For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) optionally each constitute a functional representation.
[0211] 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 specific 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), the cursor is positioned on a touch-sensitive surface (e.g., a...). Figure 3A The touchpad 355 or Figure 4B When an input (e.g., a press input) is detected on the touch-sensitive surface 451 of the display, the specific user interface element is adjusted according to the detected input. This applies to touchscreen displays (e.g., those capable of direct interaction with user interface elements on a touchscreen display) that enable direct interaction with user interface elements on the touchscreen display. Figure 1A The touch-sensitive display system 112 or Figure 4A In some embodiments of the touchscreen 112, a touch detected on the touchscreen acts as a "focus selector," such that when input (e.g., a press input by touch) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touchscreen display, that particular user interface element is adjusted according to the detected input. In some embodiments, focus moves from one area of the user interface to another without corresponding movement of the cursor or movement of a touch on the touchscreen display (e.g., moving focus from one button to another using tab keys or arrow keys); in these embodiments, the focus selector moves according to the movement of focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is typically a user-controlled user interface element (or a touch on the touchscreen display) that delivers the user-expected interaction with the user interface (e.g., by indicating to the device the element of the user interface that the user expects to interact with). For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen), the position of the focus selector (e.g., a cursor, touch, or selection box) above the corresponding button will indicate to the user that they expect to activate the corresponding button (rather than other user interface elements shown on the device's display).
[0212] 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 over 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 away, before or after contact begins to move, before contact ends, before or after contact intensity is detected to increase and / or before or after contact intensity decreases). The characteristic intensity of the contact is optionally based on one or more of the following: the maximum value of the contact intensity, the mean value of the contact intensity, the average value of the contact intensity, the value at the top 10% of the contact intensity, the half maximum value of the contact intensity, the 90% maximum value of the contact intensity, etc. In some embodiments, the duration of the contact is used when determining the characteristic intensity (e.g., when the characteristic intensity is the average value of the contact intensity over time). In some implementations, the feature intensity is compared to a set of one or more intensity thresholds to determine whether the user has performed an action. For example, the set of one or more intensity thresholds may optionally include a first intensity threshold and a second intensity threshold. In this example, contact with a feature intensity not exceeding the first threshold results in a first action, contact with a feature intensity exceeding the first intensity threshold but not exceeding the second intensity threshold results in a second action, and contact with a feature intensity exceeding the second threshold results in a third action. In some implementations, a comparison between the feature intensity and one or more thresholds is used to determine whether to perform one or more actions (e.g., whether to perform the corresponding action or abandon its execution) rather than to determine whether to perform the first or second action.
[0213] In some implementations, the computer system is in a locked or unlocked state. In the locked state, the computer system is powered on and operable, but it is prevented from performing a predefined set of operations in response to user input. This predefined set of operations may optionally include navigation between user interfaces, activation or deactivation of a predefined set of functions, and activation or deactivation of certain applications. The locked state can be used to prevent unintentional or unauthorized use of a function of the computer system, or to activate or deactivate some functions on the computer system. In some implementations, in the unlocked state, the computer system is powered on and operable, and is not prevented from performing at least some of the predefined set of operations that cannot be performed when in the locked state. When the computer system is in a locked state, it is said that the computer system is locked. When the computer system is in an unlocked state, it is said that the computer is unlocked. In some implementations, a locked computer system optionally responds to a limited set of user inputs, including inputs corresponding to an attempt to unlock the computer system or inputs corresponding to shutting down the computer system.
[0214] Now let’s turn our attention to the implementation of user interfaces (“UIs”) and associated processes on electronic devices (such as portable multifunction devices 100, 300 or 500).
[0215] Figures 6A to 6AP Exemplary user interfaces for providing visual effects for messages, according to some embodiments, are illustrated. The user interfaces in these figures are used to illustrate including... Figure 7 and Figure 8 The method described below is the method in the middle.
[0216] Figure 6A An example of device 600 (e.g., a smartphone or other computer system) is illustrated, which includes a display 602. Device 600 is associated with a first participant in a messaging conversation between a first participant (e.g., Jon) and a second participant (e.g., Jane). Device 600 displays a user interface 604 (e.g., a messaging user interface of a messaging application). User interface 604 displays a messaging conversation 606 between the first and second participants. Message conversation 606 is displayed in a region 608 (e.g., a conversation area and / or a transcription area) and includes messages between the first and second participants, including, for example, a message 606a transmitted from the second participant to the first participant and a message 606b transmitted from the first participant to the second participant. Messages transmitted by the first participant are aligned along a first side (e.g., the right side) of region 608, and messages received from other participants (e.g., the second participant) in message conversation 606 are aligned along a second side (e.g., the left side and / or the opposite side) of region 608. Figures 6A to 6AP In the illustrated implementation, message dialogue 606 includes only two participants. In some implementations, the techniques described herein are implemented in message dialogues that include more than two participants (e.g., three, five, or ten participants).
[0217] User interface 604 includes a message composition field 612. In response to detecting a selection of content (e.g., input 610a via a keypad 616), device 600 displays the selected content as a draft message 625 in the message composition field 612. User interface 604 includes a suggestion area 620 (e.g., a suggestion bar) that includes suggested content (e.g., a first content suggestion 620a, a second content suggestion 620b, and a third content suggestion 620c, collectively referred to as content suggestions 620a-620c), which can be added to the draft message 625 in the message composition field 612 (e.g., in response to detecting input pointing to suggested content). In some embodiments, suggestion area 620 includes one, two, or more than three content suggestions.
[0218] exist Figure 6A In the draft message 625, the content "I HOPE IT'S" is included. Device 600 detects input 610a (e.g., one or more touches and / or other inputs) to the keyboard 616 corresponding to a selection of additional content to be included in the draft message 625. Figure 6B As shown, in response to detecting input 610a, device 600 displays additional content (e.g., "AMA") in message composition field 612 as part of draft message 625, and updates the suggested content in suggestion area 620 based on the current content of draft message 625. For example, in Figure 6B In the first content suggestion 620a, a selection option is provided to confirm that the content (e.g., “AMA”) is currently present in the draft message 625; the second content suggestion 620b is provided to provide an selection option to change the content “AMA” in the draft message 625 to the word “AM”; and the third content suggestion 620c is provided to provide an selection option to change “AMA” in the draft message 625 to the word “AMAZING”.
[0219] In some implementations, device 600 displays the visual effects of the recommendations for draft message 625 based on a set of visual effect recommendation criteria. As discussed in more detail below, in some implementations, device 600 displays the visual effects of the recommendations for draft message 625 based on the content of draft message 625. Figure 6B The example shown does not meet the criteria for this set of visual effects recommendations, and therefore content recommendations 620a-620c do not include the recommended visual effects.
[0220] exist Figure 6B In the draft message 625, device 600 detects input 610b corresponding to a selection of additional content (e.g., “ZING”) to be included in the draft message 625 (e.g., a selection of one or more keys on keyboard 616, including a selection of key 616b). In response to detecting input 610b, device 600 adds the selected content to the draft message 625 and updates content suggestions 620a-620c, such as... Figure 6C As shown. Device 600 displays a visual indicator 622 (e.g., highlighting) to indicate that suggested options in suggestion area 620 can be applied to content 625a in draft message 625.
[0221] exist Figure 6C In this context, it meets a set of visual effect recommendation criteria (e.g., a set of visual effect recommendation criteria corresponding to visual effects such as ripple effects). For example, in Figure 6C In the illustrated implementation, the content 625a in the draft message 625 (e.g., the word "AMAZING") is a predefined word that meets the criteria for this set of visual effects recommendations. Based on meeting these criteria, the device 600 provides recommended visual effects. For example, Figure 6C The second content suggestion 620b in the draft message 625 represents a visual effect (e.g., a ripple effect) that can be applied to the content suggestion 625a in the draft message 625. Figure 6C The second content suggestion 620b includes a preview of the suggested visual effects, in which the suggested visual effects are applied to the content 625a in the suggestion area 620.
[0222] Figures 6C to 6E The suggested visual effects illustrated include animations in which different portions of content 625a move up and down over time (e.g., to create a ripple effect). Figure 6C The suggested visual effect is illustrated in its first state at a first moment (e.g., "M" and "G" are raised relative to other parts of content 625a); Figure 6D An example of the suggested visual effect in the second state at a second time point (e.g., relative to...) Figure 6C (AZ increases and G decreases); Figure 6E An example is given of the suggested visual effect in the third state at the third time step (e.g., relative to the third state). Figure 6D The first "A" increases. Figures 6C to 6E The suggested visual effect illustrated in the diagram represents a single instance of the suggested visual effect. In some embodiments, device 600 repeats and / or cycles the suggested visual effect over time. Figures 6C to 6EIn some embodiments, device 600 displays the name of the suggested visual effect (e.g., “RIPPLE”). In other embodiments, device 600 does not display the name of the suggested effect (e.g., “RIPPLE”) (e.g., second content suggestion 620b displays a preview of the suggested visual effect without a name, such as...). Figure 6V (As shown). For example, in some implementations, device 600 does not display... Figures 6C to 6E The text "RIPPLE" in Figure 6K "STRETCH" in Figure 6R The "JITTER" in the text Figure 6S "BLOOM" and / or Figure 6U The word "SQUISH" in the text.
[0223] exist Figure 6C In the illustrated implementation, in response to the detection of input 610b, device 600 also updates first content suggestion 620a to indicate an option to confirm that the content (e.g., “AMAZING”) is currently present in draft message 625 (e.g., without applying the visual effect of the suggestion indicated in second content suggestion 620b to content 625a), and updates third content suggestion 620c to indicate an option to change “AMAZING” in draft message 625 to the word “AMAZINGLY” (e.g., without applying the visual effect of the suggestion indicated in second content suggestion 620b).
[0224] In some embodiments, in response to the determination of a set of visual effect recommendation criteria (e.g., automatically before and / or when a recommended visual effect is selected and / or confirmed and / or when no selection and / or confirmation of a recommended visual effect is required), device 600 applies the recommended visual effect to content 625a in draft message 625. In some embodiments, device 600 does not apply the recommended visual effect to content 625a in draft message 625 until the recommended visual effect is selected and / or confirmed (e.g., as...). Figures 6C to 6E (As shown). For example, in some implementations, device 600 detects... Figure 6E The input 610d corresponds to the selection of menu option 618, and in response, displays options for applying visual effects to the emphasized portion (e.g., content 625a) of the draft message 625. For example, in response to detecting... Figure 6E Input 610d in the device 600 displays menu 626, text formatting options 628, and / or visual effects options 630 (e.g., ...). Figure 6H and / or Figure 6M(as shown and described in the text) for selecting font format and / or visual effects for content 625a. In some embodiments, when visual effects option 630 is initially displayed, visual effects options in visual effects option 630 corresponding to the visual effects represented in second content suggestion 620b are visually emphasized (e.g., highlighted, outlined, and / or bolded).
[0225] In some implementation schemes, equipment 600 is used for testing. Figure 6E The input 610e corresponds to the selection of the second content suggestion 620b, and in response, the suggested visual effect is applied to the content 625a in the draft message 625, such as... Figure 6F As shown (for example, when content 625a is displayed in suggestion area 620, content 625a appears as...) Figures 6C to 6E (As described and shown, animated in message composition field 612). As a supplement to or alternative to the detection input 610e, device 600 detects input 610c corresponding to the selection of the space key 616c, and in response, applies suggested visual effects to the content 625a in the draft message 625, such as... Figure 6F As shown (for example, when content 625a is displayed in suggestion area 620, content 625a appears as...) Figures 6C to 6E (As described and shown, animated in message composition field 612). In some embodiments, in response to the detection of input 610c, device 600 maintains the display of content 625a in message composition field 612 without applying the suggested visual effect to content 625a. In some embodiments, device 600 displays an indication (e.g., visual indicator 622) that the selection of space key 616c will cause the suggested visual effect (e.g., content represented by second content suggestion 620b) to be applied to content 625a in message composition field 612. In some embodiments, in response to the detection of the selection of the suggested visual effect (e.g., via input 610c and / or input 610e), device 600 stops the display of visual indicator 622.
[0226] exist Figure 6F In this process, device 600 detects input 610f selecting content 625b (e.g., the word "HOPE") of draft message 625. In response to detecting input 610f, device 600 selects (e.g., visually distinguishes, highlights, and / or otherwise emphasizes) content 625b in message writing field 612 and displays a menu for editing the selected content 625b. For example, device 600 displays a visual indicator 622 on content 625b and displays menu 624, as shown. Figure 6GAs shown. Menu 624 includes menu option 618. In some embodiments, device 600 displays menu option 618 (e.g., in suggestion area 620) in response to determination that a set of visual effect recommendation criteria are met, such as... Figure 6C As shown.
[0227] In response to the detection of input 610g for selecting menu option 618, device 600 displays... Figure 6H The menu 626 is shown. Menu 626 includes text formatting options 628 (e.g., for bolding, italicizing, underlining, and / or strikethrough of the selected content 625b) and visual effects options 630. Visual effects options 630 include multiple visual effects options, including a first visual effect option 630a corresponding to a first visual effect (e.g., stretching effect) and a second visual effect option 630b corresponding to a second visual effect (e.g., floating effect). In response to detecting input 610h that selects the first visual effect option 630a, device 600 applies the visual effect (e.g., stretching effect) corresponding to the first visual effect option 630a to the selected content 625b in the message composition field 612, such as... Figure 6I As shown. In some embodiments, in response to detecting input 610h selecting the first visual effect option 630a, device 600 removes the display of menu 626 (e.g., and redisplays keyboard 616 and / or content suggestions 620a-620c), as... Figure 6I As shown.
[0228] In some implementations, different effects can be applied to different parts of the draft message 625. For example, in Figure 6I In the process, (e.g. via input 610e) the visual effects selected for content 625a are applied to content 625a, and (e.g. via input 610h) the visual effects selected for content 625b are applied to content 625b in the message composition field 612, wherein the visual effects selected for content 625a are different from the visual effects selected for content 625b.
[0229] exist Figure 6I In this process, device 600 detects input 610i of selecting send button 614. In response to detecting input 610i, device 600 adds a message with the content of draft message 625 to message conversation 606 (e.g., sending a message to other participants in message conversation 606). For example, Figure 6J An example is illustrated with device 600 (e.g., from which messages are transmitted) and device 650 (e.g., which receives messages transmitted from device 600) associated with a second participant in the messaging conversation 606. Figure 6JIn this context, device 650 displays a user interface 654 (e.g., a messaging user interface of a messaging application) via display 652, which displays the messaging conversation 606 from the perspective of a second participant. Figure 6J As shown, device 600 displays message 608c on the right side of region 608, and device 650 displays message 606c on the left side of region 608. Message 606c includes the content of draft message 625 and visual effects applied to the content of draft message 625 when input 610i is detected. For example, visual effects selected for content 625a (e.g., “AMAZING”) and content 625b (e.g., “HOPE”) are applied to the corresponding portions of message 606c at both device 600 and device 650.
[0230] In some embodiments, the display of visual effects on device 600 is synchronized with the display of visual effects on device 650. In some embodiments, the display of visual effects on device 600 is not synchronized with the display of visual effects on device 650. For example, in Figure 6J In the first state, the visual effect applied to content 625a is in a first state on device 600 (e.g., where "ING" is raised relative to "AMA"), and in a second state on device 650 (e.g., where "AM" is raised relative to "ING"). Similarly, the visual effect applied to content 625b is in a first state on device 600 (e.g., where the letters "HOPE" are relatively spaced apart), and in a second state on device 650 (e.g., the letters "HOPE" are closer together). In some implementations, if device 650 is a first type of device and / or includes a first type of messaging application (e.g., a device and / or application capable of displaying visual effects for a message and / or compatible with the messaging application used by device 600), then device 650 displays message 600c if the visual effects are applied to the content of the message; and if device 650 is a second type of device and / or includes a second type of messaging application (e.g., a device and / or application that cannot display visual effects for a message or is not compatible with the messaging application used by device 600), then message 606c is displayed if the visual effects are not applied to the content of the message.
[0231] Go to Figure 6KDevice 600 displays user interface 604 when draft message 627 is entered in message writing field 612. Draft message 627 includes content 627a (e.g., the word "LONG") that meets a set of visual effect recommendation criteria (e.g., a set of visual effect recommendation criteria corresponding to a second visual effect such as a stretching effect). Based on the determination that the set of visual effect recommendation criteria are met, device 600 displays a suggested visual effect (e.g., a stretching effect) for content 627a in recommendation area 620 (e.g., in second content recommendation 620b). In some embodiments, second content recommendation 620b includes a preview (e.g., an animation) of the suggested effect (e.g., similar to...). Figures 6C to 6E (Preview described in the text). In some implementations, Figure 6K The suggested visual effects are not applied. Figure 6K The content 627a in message composition field 612. In some implementations, Figure 6K The suggested visual effects were applied. Figure 6K The content of message writing field 612 is 627a.
[0232] In some implementations, a set of visual effect recommendation standards is based, at least in part, on predefined characters (e.g., the placement of predefined characters, punctuation marks, and / or special characters). For example, in Figure 6K In the draft message 627, the letter "G" from the word "LONG" is used. While the draft message 627 is in this state, device 600 detects input 610j that selects an exclamation mark after the word "LONG" in the draft message 627. The exclamation mark meets a set of visual effect recommendation criteria. Therefore, in response to detecting input 610j, device 600 applies a visual effect (e.g., enlarge, gigantify, and / or magnify) to the content 627a of the draft message 627 in the message composition field 612, such as... Figure 6L As shown. Figure 6L The visual effects of the content 627a applied to the message composition field 612 and Figure 6K The visual effects (e.g., stretching effect) recommended for content 627a in the text are different (e.g., because the exclamation mark meets a set of criteria corresponding to a different set of criteria than the set of criteria met by the word "LONG" without an exclamation mark). For example... Figure 6LAs shown, in some embodiments, device 600 automatically applies a visual effect to content 627a in draft message 627 in response to detecting input 610j, without displaying options for selecting the visual effect (e.g., individual options) (e.g., in suggestion area 620). Therefore, in some embodiments, device 600 displays suggested visual effects in suggestion area 620 based on meeting one set of criteria, and suggests visual effects in message composition field 612 based on meeting a different set of criteria.
[0233] In some implementations, device 600 stops displaying visual effects applied to content 627a in message composition field 612 in response to the detection of input (such as input 610l corresponding to the selection of delete or backspace key 616e). (For example, device 600 removes visual effects from the word "LONG" in draft message 627 in response to input 610l). In some implementations, such as Figure 6M As shown, when a visual effect is applied to content 627a in message composing field 612, in response to detecting input 610k of selecting space key 616c, device 600 adds a space to the end of draft message 627, removes emphasis (e.g., visual indicator 622) from content 627a, and continues to apply the visual effect in message composing field 612 to content 627a.
[0234] In some implementations, font formatting (e.g., bold and / or italics) and visual effects can be applied concurrently to the same content. For example, in some implementations, device 600 detects input 610n selecting content 627b (e.g., the word "THOUGHT") in draft message 627, followed by input 610m selecting menu option 618. In response, device 600 selects content 627b in message writing field 612 and displays visual effects option 630, such as... Figure 6M As shown. In Figure 6M In the process, device 600 detects input 610o selecting visual effect option 630b (e.g., corresponding to a floating effect) and input 610p selecting font option 628a (e.g., corresponding to italic font). In response to detecting input 610o selecting visual effect option 630b, device 600 applies the visual effect corresponding to visual effect option 630b to the content 627b in the message composition field 612; and in response to detecting input 610p, device 600 itals the content 627b in the message composition field 612, such as... Figure 6N As shown.
[0235] In some implementations, visual effects applied to first content (e.g., 627a and / or the first portion of the content) affect other content (e.g., content without applied visual effects), such as other content in a draft message and / or content immediately adjacent to the first content to which the visual effects are applied. For example, Figure 6N This illustrates the state of the visual effects applied to content 627a in draft message 627, where the size of content 627a is enlarged (e.g., relative to other content and / or text in draft message 627) and the size of content 627c (e.g., the word "WAS" immediately adjacent to content 627a) is reduced (e.g., relative to the text in draft message 627). Figure 6M The content is 627c in size.
[0236] In some implementations, when content is being edited, device 600 maintains the font formatting and / or visual effects applied to that content. For example, in Figure 6N In the process, device 600 detects input 610r selecting content 627b (e.g., the word "THOUGHT") from draft message 627, followed by input 610q selecting the delete key 616e. In response, device 600 deletes a portion of content 627b, such as... Figure 6O As shown (for example, removing the letters "OUGHT" from content 627b). In Figure 6O In this process, device 600 detects one or more inputs (e.g., input 610s of the pointer key 616f) corresponding to the selection of the content of the draft message 627 of the edit content 627b. In response, device 600 changes the content 627b (e.g., changes it to the word "THINK") while maintaining the font formatting and visual effects applied to the content 627b, such as... Figure 6P As shown (for example, the word "THINK" is italicized and has similar characters applied to it). Figure 6N (The floating effect of the word "THOUGHT" in the text). Figure 6P In this process, device 600 detects input 610t corresponding to the request to send draft message 627 (e.g., selection of send button 614). In response to detecting input 610t, device 600 adds message 606d to message dialog 606, such as... Figure 6Q As shown in devices 600 and 650.
[0237] In some implementations, the size of the message (e.g., area, height, and / or width) is based on the visual effects applied to the content of the message. For example, such as Figure 6QAs shown, the height of message 606d in message area 608 is increased to accommodate visual effects applied to content 627a and / or content 627b. In some embodiments, displaying visual effects and / or changing the size of messages including visual effects affects other messages (e.g., adjacent messages). For example, in some embodiments, when a visual effect is applied to the content of message 606d, device 600 changes the position and / or size of message 606c (e.g., when a visual effect is applied to the content of message 606d, message 606c is moved upwards to accommodate the increase in size and / or change in position and / or content of message 606d). In some embodiments, when a visual effect is applied to the content of message 606d, message 606d moves (e.g., changes its position and / or size within area 608). In some embodiments, when a visual effect is applied to the content of message 606d, message 606d remains stationary (e.g., does not move relative to area 608).
[0238] In some embodiments, based on the determination that the message (e.g., message 606d or draft message 627) includes two or more visual effects (e.g., a first visual effect applied to a first part of the message and a second visual effect applied to a second part of the message), device 600 displays the first visual effect (animates it) at a first time (e.g., on the first part of the message) and displays the second visual effect (e.g., different effects applied to a second different part of the message) at a second time (e.g., the display of different visual effects is interleaved, initiated, and / or occurs at different times). In some embodiments, based on the determination that the message (e.g., message 606d or draft message 627) includes two or more visual effects (e.g., a first visual effect applied to a first part of the message and a second visual effect applied to a second part of the message), device 600 concurrently displays (e.g., animates) at least two of the two or more visual effects.
[0239] In some implementations, device 600 provides suggested spell corrections rather than suggested visual effects or as a supplement to suggested visual effects. For example, in Figure 6RIn this context, draft message 629 has been entered into message composition field 612. Draft message 629 includes content 629a (e.g., the text “SCRAED”), which is identified as a potentially misspelled word that meets a set of spelling correction criteria. Based on the determination that the content of draft message 629 (e.g., content 629a) meets the set of spelling correction criteria, device 600 displays a suggested spelling correction (e.g., “SCARED” in the second content suggestion 620b). Draft message 629 also meets a set of suggested visual effects criteria. Based on the determination that content 629a meets the set of suggested visual effects criteria, device 600 provides suggested visual effects for the suggested spelling correction corresponding to the set of suggested visual effects criteria met by content 629a. For example, applying a dithering visual effect. Figure 6R The second content recommendation 620b suggests spell corrections. In some embodiments, device 600 provides suggested spell corrections without providing suggested visual effects (e.g., even if content 629a meets a set of suggested visual effect criteria).
[0240] In response to the detection of selection Figure 6R The device 600 replaces the misspelled content 629a (e.g., “SCRAED”) in the message composition field 612 with the suggested spelling correction (e.g., “SCARED”) from the second content suggestion 620b input 610v, and applies a visual effect (e.g., a jitter effect) to the suggested spelling correction. As a supplement to or alternative to detecting input 610v, the device 600 detects selected... Figure 6R Input 610u is entered via the space bar 616c. In response to detecting input 610u, device 600 replaces the misspelled content 629a (e.g., “SCRAED”) in message composition field 612 with a suggested spelling correction (e.g., “SCARED”) from second content suggestion 620b, and applies a visual effect (e.g., a dithering effect) to the suggested spelling correction. In some embodiments, in response to detecting input 610u, device 600 maintains the display of the misspelled word in message composition field 612.
[0241] In some implementations, device 600 provides visual suggestions for content that includes more than one word. For example, in Figure 6SIn this context, draft message 631 has been entered into message composition field 612. Draft message 631 includes a first word 631a (e.g., “SO”) and a second word 631b (e.g., “GOOD”). The combination of the first word 631a and the second word 631b satisfies a set of recommended visual effect criteria. Based on the determination that the combination of the first word 631a and the second word 631b satisfies the set of recommended visual effect criteria, device 600 provides recommended visual effects (e.g., floodlight effect) for the first word 631a and the second word 631b (e.g., visual effects applied to both the first word 631a and the second word 631b), as indicated by the display of both the first word 631a and the second word 631b in the second content suggestion 620b. In response to the detection of input 610x indicating selection of the second content suggestion 620b, device 600 displays a draft message 631 in the message composition field 612, provided that the suggested visual effects are applied to both the first word 631a and the second word 631b. As a supplement to or alternative to detecting input 610x, device 600 detects the selection... Figure 6S Input 610u is entered via the space bar 616c. In response to the detection of input 610u, device 600 displays a draft message 631 in the message composition field 612 with the suggested visual effects applied to both the first word 631a and the second word 631b. In some embodiments, in response to the detection of input 610u, device 600 maintains the display of the first word 631a and the second word 631b in the message composition field 612 without applying visual effects. In some embodiments, the visual effects are applied as a whole to the combination of the first word 631a and the second word 631b (e.g., as opposed to visual effects being applied individually and / or independently to each word).
[0242] In some implementations, device 600 provides suggested visual effects based on the placement and / or pattern of one or more characters. For example, in Figure 6T In the text, draft message 633 has been entered into message composition field 612. For example... Figure 6T The draft message 633 entered did not meet a set of recommended visual standards. Therefore, device 600 does not provide... Figure 6T The visual effects suggested in the text. Conversely, in... Figure 6U In the draft message 633, a first character 633b (e.g., "*") and a second character 633c (e.g., "*") surround content 633a (e.g., "HUG"). The placement and / or pattern of the first character 633b and the second character 633c satisfy a set of visual effect criteria that enable device 600 to provide a suggested visual effect (e.g., a squeeze effect) for content 633a, such as... Figure 6UThe second content suggestion 620b is shown in the document. In some embodiments, device 600 displays content 633a. Figure 6U The suggested visual effects shown are regardless of the content of content 633a (e.g., with...). Figure 6U The squeezing effect in the image corresponds to the visual effects standards recommended in this group (not based on content 633a). In response to the detection of selection... Figure 6U The second content suggestion 620b input 610z, when the suggested visual effect is applied to content 633a, the device 600 displays a draft message 633 in the message composition field 612 (e.g., the device 600 applies the suggested visual effect to content 633a in the message composition field 612). As a supplement to or alternative to the detection input 610z, the device 600 detects selection. Figure 6U Input 610y is entered via the space bar 616c. In response to detecting input 610y, device 600 displays a draft message 633 in the message composition field 612 if the suggested visual effect is applied to content 633a. In some embodiments, in response to detecting input 610y, device 600 maintains the display of content 633a in the message composition field 612 without applying a visual effect.
[0243] In some implementations, applying visual effects to a message includes displaying a portion of the message's content outside of the area associated with the message (e.g., a visually distinct area, such as a message bubble). For example, in Figure 6V In the process, draft message 635 has been entered into message composition field 612, and device 600 provides suggested visual effects (e.g., blooming effect) in second content suggestion 620b for content 635a (e.g., "BLOWN"). Figure 6V In the illustrated embodiment, device 600 displays a representation of the suggested visual effect in the second content suggestion 620b without displaying the name (e.g., “EXPLODE”) and / or label of the suggested visual effect. Figure 6C , Figure 6K , Figure 6R and Figure 6S Conversely). In response to the detection of a selection of a suggested visual effect (e.g., via input 610aa of selecting a second content suggestion 620b), followed by a request to send content in the message composition field 612 (e.g., draft message 635) (e.g., input 610ab of selecting send button 614), device 600 adds message 606e to message conversation 606 if the visual effect is applied to content 635a, as... Figure 6W As shown.
[0244] Figures 6W to 6Y The corresponding states of the visual effects applied to content 635a are illustrated. Figure 6W The first state of the visual effects applied to content 635a is illustrated, in which the characters of content 635a are displayed in different orientations. Figure 6X This illustrates a second state of visual effects applied to content 635a, where the characters of content 635a are displayed in different orientations and in conjunction with... Figure 6W The first state illustrated in the example is more dispersed. Figure 6Y This illustrates a third state of visual effects applied to content 635a, where the characters of content 635a are displayed in different orientations and in conjunction with... Figure 6X The second state illustrated is more dispersed. Specifically, a portion of content 635a (e.g., a portion of the letter “W”) is displayed outside the boundary 639 of message 606e. In some embodiments, a portion of content 635a (e.g., “BLOWN”) (e.g., one or more letters) is at least temporarily (e.g., when that portion of the content moves outside the boundary 639) stopped being displayed (e.g., disappeared and / or was removed).
[0245] In some implementations, visual effects are applied to content other than text, such as emojis, symbols, images, and / or icons. Figures 6Z to 6AC An example of a visual effect applied to emoji 637 in message 606f is shown. The visual effect (e.g., a vertical shaking effect) includes the emoji 637 moving up and down within message 606f. Figure 6Z The first state of the visual effect is illustrated, in which emoji 637 is in the middle of message 606f. Figure 6AA This illustrates the second state of the visual effect, where emoji 637 is already relative to... Figure 6Z The first state shown moves upward and the size (e.g., height) of message 606f increases (e.g., to adapt to visual effects so that emoji 637 remains within the area of message 606f). Figure 6AB This illustrates the third state of the visual effect, where emoji 637 is already relative to... Figure 6Z The first state in the process moves down and the size of message 606f is... Figure 6AA The second state remains the same size as the first state. In some implementations, the transition from the second state to the third state includes the message 606f decreasing in size as the emoji 637 moves from the second state to the first state, and then increasing in size as the emoji moves from the first state to the third state, as shown below. Figure 6AB As shown. Figure 6AC This illustrates the fourth state of the visual effect, where emoji 637 moves back. Figure 6AA The same state as shown (e.g., moving back to the second state via the first state).
[0246] Figures 6AD to 6APExamples of implementation schemes for various visual effects are provided. Figures 6AD to 6AP Examples illustrate various states of a visual effect as it progresses from top to bottom over time. The numbers in parentheses to the left of a state indicate the sequence of states over time (e.g., state (2) appears after state (1), and state (3) appears before state (4)) and are not displayed as part of the visual effect. (The above text...) Figures 6A to 6AC The techniques described herein can be applied to Figures 6AD to 6AP The visual effects described in [the text], and Figures 6AD to 6AP The visual effects described above are similar to those in the text above. Figures 6A to 6AC The technologies described in the text are combined.
[0247] Figure 6AD An implementation scheme for a visual effect (e.g., a floodlight effect) is illustrated. Figure 6AD Examples are given of visual effects changing over time. Figure 6AD The top of Figure 6AD The visual effects progress through various states at the bottom. The visual effects are applied to two words (e.g., "SO GOOD") and include sequentially increasing and / or decreasing the size of the characters from left to right over time, then removing the bold and / or decreasing the size of the characters (e.g., back to their original font and / or size). In some implementations, Figure 6AD The visual effects illustrated are applied to single words or phrases consisting of three or more words.
[0248] Figure 6AE An example implementation of a visual effect (e.g., a ripple effect from left to right) is shown. Figure 6AE Examples are given of visual effects changing over time. Figure 6AE The top of Figure 6AE The visual effects progress at the bottom in various states. The visual effects are applied to phrases containing two words (e.g., "So excited") and include characters that rise and then fall sequentially from left to right over time to create a ripple effect. Figure 6AE Examples are illustrated where applying visual effects includes applying different transformations to different parts of the content (and / or applying transformations to a part of the content but not to different parts of the content). For example, in Figure 6AE In the middle, as part of the visual effect,
[0249] In “excited”, the letter “i” is stretched (e.g., while other letters such as “t” and “d” are not stretched). For example, as the letter “i” rises, the dot in the letter “i” is further separated from the lower part of the letter “i” (e.g., the dot in state (2) is further separated from the lower part compared to states (1) and (3)). In some implementations, Figure 6AEThe visual effects illustrated are applied to single words or phrases consisting of three or more words.
[0250] Figure 6AF An implementation scheme for a visual effect (e.g., an enlargement effect) is illustrated. Figure 6AF Examples are given of visual effects changing over time. Figure 6AF The top of Figure 6AF Various states of visual effects during bottom progression. Visual effects are applied to phrases comprising two words (e.g., “IT'S HUGE”) and include increasing (e.g., gradually increasing) the size of the first word (e.g., “HUGE”) over time (e.g., in states (1) to (3)) while concurrently decreasing the size of the second word (e.g., the adjacent word “IT'S”), then decreasing the size of the first word while concurrently increasing the size of the second word (e.g., back to their original size, as shown in states (3) to (5)). In some embodiments, Figure 6AF The visual effects illustrated are applied to single words or phrases consisting of three or more words.
[0251] Figure 6AG An implementation scheme for a visual effect (e.g., a ripple effect from right to left) is illustrated. Figure 6AG Examples are given of visual effects changing over time. Figure 6AG The top of Figure 6AG The visual effects are applied to various states of the bottom progression. These visual effects include... Figure 6AE The content is in different languages. Similar to a reference. Figure 6AE The described visual effect includes characters that rise and then fall sequentially over time to create a ripple effect. However, because... Figure 6AG The content includes different languages (e.g., languages with a right-to-left reading habit), so it is compatible with... Figure 6AE Compared to the visual effect shown, the visual effect progresses in a different direction (e.g., from right to left). In some implementations, Figure 6AG The visual effects illustrated are applied to single words, phrases containing two words, or phrases containing three or more words.
[0252] Figure 6AH An implementation scheme for a visual effect (e.g., a shrinking effect) is illustrated. Figure 6AH Examples are given of visual effects changing over time. Figure 6AH The top of Figure 6AHVarious states of visual effects during bottom progression. Visual effects are applied to phrases comprising two words (e.g., “IT'SMICROSCOPIC”) and include decreasing (e.g., gradually decreasing) the size of one or more words (e.g., some or all of the content) over time (e.g., in states (1) to (3)) and then increasing the size of one or more words (e.g., back to their original size, as shown in states (3) to (5)). In some embodiments, Figure 6AH The visual effects illustrated are applied to single words or phrases consisting of three or more words.
[0253] Figure 6AI An implementation scheme for a visual effect (e.g., a shaking effect) is illustrated. Figure 6AI Examples are given of visual effects changing over time. Figure 6AI The top of Figure 6AI Various states of visual effects as the content progresses from the bottom. Visual effects include moving at least a portion of the content up and down (e.g., rapidly) over time (e.g., "NOT") to create a jitter effect. In some implementations, Figure 6AI The visual effects illustrated are applied to single words, phrases containing two words, or phrases containing three or more words.
[0254] Figure 6AJ An example of an implementation of a visual effect (e.g., an explosion effect) is shown. Figure 6AJ Examples are given of visual effects changing over time. Figure 6AJ The top of Figure 6AJ The visual effects as the content progresses from the bottom up are in various states. The visual effects include changing the orientation of different parts of the content (e.g., different characters) in different directions and / or by different amounts over time (e.g., rotating different parts of the content). Figure 6AJ The visual effects also include dispersing these portions of the content (e.g., characters) over time (e.g., increasing the distance between portions) to give the appearance that the content (or, in some embodiments, a portion of the content) is exploding. In some embodiments, the visual effects include stopping the display of at least a portion (e.g., one or more letters) of the content (e.g., the word “BLOWN”) (e.g., at least temporarily removing that portion of the content). For example, the letters “O” and “W” are not displayed in state (4). In some embodiments, the visual effects include redisplaying the removed portion of the content (e.g., redisplaying the letters “O” and “W” in state (5). In some embodiments, Figure 6AJ The visual effects illustrated are applied to single words, phrases containing two words, or phrases containing three or more words.
[0255] Figure 6AK An example implementation of a visual effect (e.g., a disintegration effect) is shown. Figure 6AK Examples are given of visual effects changing over time. Figure 6AK The top of Figure 6AK The visual effects at the bottom of the content progress through various states. These visual effects include changing the orientation of different parts of the content (e.g., different characters) around a corresponding point (e.g., a rotation point) over time (e.g., rotating different parts of the content). Figure 6AJ In the illustrated embodiments, these portions of the content rotate around their respective rotation points until they are inverted (e.g., compared to their initial state) and then move downwards (e.g., as if they are falling). In some embodiments, the content (or a portion of the content) moves away from the bottom edge of the message area (e.g., a message bubble) and / or stops displaying (e.g., is temporarily removed). For example, the word "EXHAUSTED" is not displayed in state (6). In some embodiments, after moving away from the bottom edge of the message area, the content (or a portion of the content) is re-displayed (e.g., at its initial position, as indicated by the word "EXHAUSTED" in state (7)). In some embodiments, Figure 6AK The visual effects illustrated are applied to single words, phrases containing two words, or phrases containing three or more words.
[0256] Figure 6AL An implementation scheme for a visual effect (e.g., a horizontal shaking effect) is illustrated. Figure 6AL Examples are given of visual effects changing over time. Figure 6AL The top of Figure 6AL The visual effects vary depending on the state of the content as it progresses from bottom to top. These visual effects include changing the content's position over time in a first direction (e.g., from left to right) and then in the opposite direction (e.g., from right to left) to create the appearance of the content swaying. Vertical dashed lines indicate reference positions and are not displayed as part of the visual effects. In some implementations, Figure 6AL The visual effects illustrated are applied to a single word, a phrase comprising two words (e.g., two words moving concurrently in the same direction and by the same amount), or a phrase comprising three or more words (e.g., three or more words moving concurrently in the same direction and by the same amount).
[0257] Figure 6AM An implementation scheme for a visual effect (e.g., a vertical shaking effect) is illustrated. Figure 6AM Examples are given of visual effects changing over time. Figure 6AM The top of Figure 6AMThe visual effects vary depending on the state of the content as it progresses from bottom to top. These visual effects include changing the content's position over time in a first direction (e.g., upwards) and then in the opposite direction (e.g., downwards) to create the appearance of the content swaying. Horizontal dashed lines represent reference positions and are not displayed as part of the visual effects. In some implementations, Figure 6AM The visual effects illustrated are applied to a single word, a phrase comprising two words (e.g., two words moving concurrently in the same direction and by the same amount), or a phrase comprising three or more words (e.g., three or more words moving concurrently in the same direction and by the same amount).
[0258] Figure 6AN An implementation scheme for a visual effect (e.g., a stretching effect) is illustrated. Figure 6AN Examples are given of visual effects changing over time. Figure 6AN The top of Figure 6AN Various states of visual effects as the content progresses from bottom to top. Visual effects include increasing (e.g., as shown in states (1) to (3)) the distance and / or spacing between portions (e.g., characters) of content (e.g., the word "FOREVER") over time, and then decreasing (e.g., as shown in states (3) to (5)) the distance and / or spacing between portions of content (e.g., returning to their initial distance and / or spacing). In some embodiments, portions of content move along a line to give the appearance of the content stretching and / or shrinking over time. In some embodiments, Figure 6AN The visual effects illustrated are applied to single words, phrases containing two words, or phrases containing three or more words.
[0259] Figure 6AO An implementation scheme for a visual effect (e.g., a floating effect) is illustrated. Figure 6AO Examples are given of visual effects changing over time. Figure 6AO The top of Figure 6AO Various states of visual effects during bottom progression. Visual effects include moving content (e.g., gradually moving) upward over time (e.g., the word "GET AWAY") to give the appearance that the content is floating (e.g., as shown in states (1) to (5)). In some embodiments, after moving upward, the content moves downward (e.g., gradually moving) (e.g., returning to the initial position, as shown in state (6)). In some embodiments, the content moves away from the top edge of the message area (e.g., as shown in state (5)) and is then redisplayed (e.g., reappearing at the initial position, as shown in state (6)). In some embodiments, Figure 6AO The visual effects illustrated are applied to single words, phrases containing two words, or phrases containing three or more words.
[0260] Figure 6AP An implementation scheme for a visual effect (e.g., a squeezing effect) is illustrated. Figure 6AP Examples are given of visual effects changing over time. Figure 6AP The top of Figure 6AP Various states of visual effects as the bottom progresses. In some embodiments, the visual effects include decreasing (e.g., as shown in states (1) to (3)) the distance and / or spacing between portions (e.g., characters) of the content (e.g., the word “HUGS”) over time, and then increasing (e.g., as shown in states (3) to (5)) the distance and / or spacing between portions of the content (e.g., returning to their initial distance and / or spacing). In some embodiments, the size (e.g., width) of portions of the content (e.g., characters) decreases and then increases over time. In some embodiments, portions of the content move along a horizontal line and / or the width of portions of the content decreases to give the appearance of the content being squeezed or flattened over time. In some embodiments, the visual effects include changing the color and / or opacity of a portion of the content (e.g., the end of the content, such as the “H” and / or “S” in “HUGS”). In some embodiments, Figure 6AP The visual effects illustrated are applied to single words, phrases containing two words, or phrases containing three or more words.
[0261] Figure 7This is a flowchart illustrating a method for providing visual effects for a message using a computer system according to some embodiments. Method 700 is performed at a computer system (e.g., 100, 300, 500, 600, and / or 650) (e.g., a smartphone, smartwatch, tablet, laptop, desktop computer, wearable device, and / or head-mounted device (e.g., augmented reality and / or extended reality device)) that communicates (e.g., includes and / or is connected to one or more display generating components (e.g., 112, 340, 504, 602, and / or 652) (e.g., one or more displays, display devices, touchscreen displays, monitors, projectors, holographic display systems, and / or head-mounted display systems) (e.g., including and / or connected to one or more display generating components). In some implementations, the computer system communicates with one or more input devices (e.g., 112, 350, 355, 508, 522, 602, and / or 652) (e.g., touch-sensitive surfaces (e.g., touch-sensitive displays); mice; keyboards; remote controls; visual input devices (e.g., one or more cameras, such as infrared cameras, depth cameras, visible light cameras, and / or gaze-tracking cameras); audio input devices (e.g., microphones); biometric sensors (e.g., fingerprint sensors, facial recognition sensors, gaze-tracking sensors, and / or iris recognition sensors); and / or one or more mechanical input devices (e.g., pressable input mechanisms; buttons; rotatable input mechanisms; crowns; and / or dials)). Some operations in method 700 are optionally combined, some operations are optionally changed in order, and some operations are optionally omitted.
[0262] As described below, method 700 provides an intuitive way to deliver visual effects for messages. This method reduces the cognitive burden on users when delivering visual effects for messages, thereby creating a more efficient human-computer interface. For battery-powered computing devices, it enables users to send and / or receive messages including visual effects more quickly and efficiently, saving power and increasing the time interval between battery charges.
[0263] According to some embodiments of method 700, the computer system displays (702) a messaging user interface (e.g., 604 and / or 654) via one or more display generation components. This messaging user interface includes a messaging dialogue (e.g., 606) between a first participant (e.g., a user and / or account associated with the computer system) and one or more other participants (e.g., users and / or accounts other than the first participant) (e.g., message transcription and / or dialogue transcription). This messaging dialogue includes one or more messages between the first participant and one or more other participants (e.g., 606a, 606b, 606c, 606d, 606e, and / or 606f) (e.g., one or more messages transmitted by the first participant to one or more other participants and / or by one of the other participants). One or more messages transmitted to a first participant, wherein the one or more messages include a first message (e.g., 606a, 606b, 606c, 606d, 606e and / or 606f), the first message including first content (e.g., 625, 627, 631, 633, 635, 637 and / or a portion thereof) (e.g., text, one or more characters, one or more words, one or more images, one or more emojis and / or other content) and second content that is different from (e.g., separate and / or dissimilar to) the first content (e.g., 625, 627, 629, 631, 633, 635, 637 and / or a portion thereof) (e.g., text, one or more characters, one or more words, one or more images, one or more symbols, one or more emojis and / or other content). In some embodiments, the first content and the second content are mutually exclusive. When displaying the messaging user interface, the computer system displays (704) a first message (e.g., in a messaging dialog and / or in a messaging dialog area of the messaging user interface) via one or more display generation components, the display including: a first visual effect (e.g., reference) Figures 6AD to 6APDisplaying (706) the first content when one or more of the described effects (e.g., animated visual effects, animation, and / or visual effects that change the appearance of the first content over time) are applied to the first content (e.g., the computer system applies the first visual effect to the first content, displays the first visual effect applied to the first content, displays a visual effect including the first content, and / or animates the first content in a first manner); and displaying (708) the second content when the first visual effect is not applied to the second content (e.g., concurrently with the first content) (e.g., the second content is not included in the first visual effect; the computer system applies the first visual effect to the first content but not to the second content; and / or the computer system displays an animation that includes animates the first content in a first manner but not the second content in a first manner (e.g., the second content is not animated or is not animated in the same manner as the first content)) (e.g., in Figure 6J In message 606c shown, visual effects are not applied to “I” and “IT'S”. Displaying the first content when the first visual effect is applied to the first content and displaying the second content when the first visual effect is not applied to the second content allows the computer system to selectively emphasize certain parts of the first message, thereby providing the user with improved visual feedback.
[0264] In some embodiments, the messaging user interface includes a text messaging user interface, an instant messaging user interface, and / or a messaging application user interface such as a text messaging application and / or an instant messaging application. In some embodiments, the messaging user interface includes a user interface for a messaging application, function, and / or feature included in an audio and / or video communication application, such as a chat user interface in a video conferencing application. In some embodiments, the messaging user interface includes a first area (e.g., a conversation area and / or a message area). In some embodiments, a messaging conversation (e.g., including one or more messages between a first participant and one or more other participants) is displayed in the first area of the messaging user interface. In some embodiments, the messaging user interface includes a keyboard (e.g., a soft keyboard and / or a numeric keypad). In some embodiments, a first message is displayed in the first area of the messaging user interface. In some embodiments, the messaging user interface includes a message composition field. In some embodiments, a message can be composed by entering content (e.g., a draft message) into the message composition field (e.g., before sending the message). In some embodiments, the computer system enters (e.g., displays) content into a message composition field in response to detecting one or more sets of input (e.g., manual input to a keyboard and / or verbal input). In some embodiments, the messaging user interface includes selectable user interface elements (e.g., send buttons and / or send options) for adding a message to a messaging conversation. For example, in some embodiments, in response to detecting a selection of a user interface element, the computer system sends a message to one or more other participants in the messaging conversation (e.g., adds a message to the messaging conversation). In some embodiments, when a selection of a selectable user interface element is detected, the message includes the content of the message composition field.
[0265] In some implementations, displaying the second content when the first visual effect is not applied includes adjusting the visual attributes of the second content (e.g., in...). Figure 6QIn message 606d shown, even if the visual effect is not applied to "WAS", the size of "WAS" is reduced due to the visual effect applied to "LONG". In some embodiments, the second content is adjacent to (e.g., adjacent to) the first content (e.g., the second content includes characters and / or words adjacent to the characters and / or words of the first content). In some embodiments, the second content is separated from the first content only by a space character. In some embodiments, adjusting the visual properties of the second content includes: moving the second content; changing the position of the second content; reducing (e.g., shrinking) the size of the second content; increasing (e.g., enlarging) the size of the second content; changing (e.g., increasing and / or decreasing) the transparency of the second content; changing (e.g., increasing and / or decreasing) the visibility of the second content; changing (e.g., increasing and / or decreasing) the spacing between the elements (e.g., characters and / or symbols) of the second content (e.g., squeezing the letters of words closer together and / or stretching the letters of words further apart). Adjusting the visual attributes of the second content enables the computer system to display the first visual effect applied to the first content more clearly (e.g., so that the second content does not interfere with the display of the first visual effect applied to the first content) without requiring the user to manually adjust the second content, thereby providing the user with improved visual feedback and reducing the amount of input required to perform the operation.
[0266] In some implementations, displaying the second content when the first visual effect is not applied includes: displaying the second content when the second visual effect (e.g., an animated visual effect, an animated and / or visual effect that changes the appearance of the second content over time) is applied to the second content (e.g., the computer system applies the second visual effect to the second content, displays the second visual effect applied to the second content, displays a visual effect including the second content, and / or animates the second content in a second manner), wherein the second visual effect differs from the first visual effect (e.g., the size of the first word increases and the size of the second word decreases). For example, in Figure 6Q In the message 606d shown, a first visual effect is applied to “THINK”, and a different second effect is applied to “LONG”. Displaying the second content with the second (different) visual effect applied to it allows the computer system to selectively apply different visual effects to different parts of the first message to emphasize and / or distinguish different parts (e.g., independently), thereby providing the user with improved visual feedback.
[0267] In some implementations, before displaying the first message (e.g., before the first message is transmitted and / or before the first message is included in a message conversation), the computer system displays a preview of the first content via one or more display generation components when a first visual effect is applied to the first content (e.g., the computer system displays a preview of the first visual effect applied to the first content). Figure 6N In this embodiment, device 600 displays a preview of the visual effects applied to content 627a and content 627b in message composition fields 612. In some embodiments, the computer system displays a preview of the first content with a first visual effect in an area of the messaging user interface used for entering and / or composing messages (e.g., message composition fields and / or message entry fields). In some embodiments, the area of the messaging user interface used for entering and / or composing messages is visually distinct from the messaging conversation (e.g., visually separated). Displaying a preview of the first content when the first visual effect is applied to it allows the user to more easily decide whether to apply the first visual effect to the first content and avoids the additional input required to remove and / or edit the first visual effect from the first message, thereby providing the user with improved visual feedback and reducing the amount of input required to perform the operation.
[0268] In some implementations, displaying the first content when a first visual effect is applied to the first content includes: displaying a first instance of the first content when the first visual effect is applied to the first content (e.g., the computer system displays a first instance of the first visual effect applied to the first content). Figure 6Q The display of the first visual effect on device 600 (606d); and after displaying a first instance of the first content when the first visual effect is applied to the first content (e.g., after the first instance of the first content is displayed when the first visual effect is applied to the first content), displaying a second instance of the first content when the first visual effect is applied to the first content (e.g., automatically and / or without detecting further user input) (e.g., the computer system cycles and / or repeats the display of the first visual effect applied to the first content) (e.g., Figure 6R The first visual effect is displayed on device 600 (606d). Displaying a first instance of the first content when the first visual effect is applied to the first content, and then displaying a second instance of the first content when the first visual effect is applied to the first content, enables the computer system to repeatedly display the first visual effect applied to the first content without requiring the user to manually initiate additional instances of the first visual effect, and makes the first visual effect easier to observe, thereby providing the user with improved visual feedback and reducing the amount of input required to perform the operation.
[0269] In some implementations, after the first content is displayed where a first visual effect is applied to the first content (e.g., in a first message or in a preview of a first message before the first message is transmitted), the computer system detects one or more inputs (e.g., 610d, 610f, 610g, 610h, 610m, 610n, 610l and / or 610o) corresponding to a request to edit (e.g., remove and / or change) the first visual effect via one or more input devices communicating with the computer system (e.g., one or more touch, air gesture, button press, voice command and / or other inputs); and in response to the detection of such one or more inputs corresponding to a request to edit the first visual effect, the computer system displays (e.g., in a first message or in a preview of a first message) the first content via one or more display generation components when the first visual effect is not applied to the first content (e.g., the first visual effect is removed from the first content in response to the detection of such one or more inputs). In some implementations, the group of one or more inputs includes one or more button presses (e.g., on a physical keyboard and / or mouse), touch on a touch-sensitive surface (e.g., on a soft keyboard and / or user interface menus), air gestures, eye gestures, and / or voice input (e.g., voice-to-text input). Displaying the first content in response to a request to edit the first visual effect, and then displaying the first content in response to a request to edit the first visual effect, without the first visual effect being applied to the first content, allows the user to quickly and efficiently customize the first message, thereby providing the user with improved visual feedback and reducing the amount of input required to perform an action.
[0270] In some implementations, displaying the first content when a first visual effect is applied includes: (e.g., in a first manner) animateing a first portion of the first content (e.g., an animation displaying the first portion of the first content); and after animates the first portion of the first content, (e.g., at different times in a first manner (the same manner as the first portion)) animates a second portion of the first content (e.g., an animation displaying the second portion of the first content), wherein the second portion of the first content is different from the first portion of the first content (e.g., a computer system animates portions of the first content sequentially over time) (e.g., as...). Figure 6AD , Figure 6AE , Figure 6AG and / or Figure 6AI(As shown). In some embodiments, displaying the first visual effect includes animate portions of the first content sequentially over time. In some embodiments, the first and second portions are animated to create a wavy and / or rippled appearance. In some embodiments, the first and second portions are pseudo-randomly animated to create a jitter effect. Animating different portions of the first content at different times allows the computer system to provide a wider variety of visual effects, making the visual effects more pronounced, and allows the computer system to animate multiple portions of the first content without requiring the user to provide additional input to edit different portions of the first content separately, thereby providing the user with improved visual feedback and reducing the amount of input required to perform the operation.
[0271] In some implementations, displaying the first content when a first visual effect is applied includes changing the font of the first content over time (e.g., as shown in the image). Figure 6AD , Figure 6AL , Figure 6AM and / or Figure 6AP (As shown). In some embodiments, changing the font of the first content includes changing (e.g., increasing and / or decreasing) the font size of at least a portion of the first content, changing the boldness of at least a portion of the first content (e.g., from bold to non-bold and / or from non-bold to bold), changing the font type of at least a portion of the first content, changing the color of at least a portion of the first content, and / or changing the opacity of at least a portion of the first content. Changing the font of the first content over time allows the computer system to change the font of the first content without requiring the user to provide additional input to change the font at different times, thereby providing the user with improved visual feedback and reducing the amount of input required to perform the operation.
[0272] In some implementations, displaying the first content when the first visual effect is applied includes: changing (e.g., increasing and / or decreasing) the spacing between two or more characters of the first content over time (e.g., stretching and / or squeezing the characters of one or more words together), (e.g., as... Figure 6AN and / or Figure 6AP (As shown). Changing the spacing between two or more characters of the first content over time allows the computer system to change the spacing of the first content without requiring the user to provide additional input to change the spacing at different times, thereby providing the user with improved visual feedback and reducing the amount of input required to perform the operation.
[0273] In some implementations, displaying the first content when a first visual effect is applied includes: displaying the first content at a first time within a visually distinct area of the messaging user interface (e.g., within a message bubble in a messaging conversation); and at a second time different from the first time (e.g., before or after the first time), displaying at least a portion of the first content at least partially outside the visually distinct area of the messaging user interface (e.g., the first visual effect includes moving one or more characters of the first content from inside the message bubble to outside the message bubble). Figure 6X and Figure 6Y (As shown). In some embodiments, the first visual effect includes moving one or more characters of the first content from inside the message bubble to outside the message bubble without moving the message bubble (e.g., without changing the position and / or size of the message bubble). In some embodiments, the first visual effect includes moving the message bubble (e.g., changing the position and / or size of the message bubble). Displaying at least a portion of the first content at least partially outside a visually distinguishable area of the messaging user interface enables the computer system to provide a wider variety of visual effects (e.g., not limited to a visually distinguishable area of the messaging user interface) and makes the visual effects more prominent, thereby providing improved visual feedback to the user.
[0274] In some implementations, displaying the first content when the first visual effect is applied includes: at a first time, displaying a first message that includes a first portion of the first content (e.g., the first portion was displayed before it was removed); and at a second time different from the first time (e.g., before or after the first time), displaying a first message that does not have the first portion of the first content (e.g., all or some but less than all) (e.g., the first portion of the first content is at least temporarily stopped from being displayed, removed, and / or appears to disappear) (e.g., as referenced). Figure 6Y , Figure 6AJ and / or Figure 6AK The first message (as described). In some implementations, the first part is redisplayed after removal. Displaying the first message with the first part at the first time and the first message without the first part at different times allows the computer system to provide a wider variety of visual effects, making the visual effects more prominent, and allows the computer system to remove parts of the first content at specific times without requiring the user to provide additional input to edit different parts of the first content separately, thereby providing the user with improved visual feedback and reducing the amount of input required to perform the operation.
[0275] In some implementations, the first content includes the first character (e.g., Figure 6AE The letter "X" in the text) and a second character that is different from the first character (e.g., Figure 6AE The letter "i" in the text), and displaying the first content when the first visual effect is applied to the first content includes: displaying a first visual transformation on the first character (e.g., change of position, change of size, change of color, change of font, shift, rotation, expansion and / or contraction) (e.g., Figure 6AE The letter "X" in the text is translated but its shape and / or size is not changed; and a second visual transformation is displayed on the second character (e.g., change of position, change of size, change of color, change of font, shift, rotation, expansion and / or contraction), wherein the second visual transformation differs from the first visual transformation (e.g., in magnitude, direction and / or style) (e.g., Figure 6AE The dot in the letter "i" is separated from the line or lower part of the "i" and simultaneously shifted upwards. Displaying the first visual transformation on the first character and the different visual transformations on different characters allows the computer system to provide a wider variety of visual effects, making the visual effects more pronounced, and enabling the computer system to process different parts of the first content in different ways without requiring the user to provide additional input to edit different parts of the first content separately, thereby providing the user with improved visual feedback and reducing the amount of input required to perform operations.
[0276] In some embodiments, displaying the first content when a first visual effect is applied to the first content includes: based on the determination that the first content (or, in some embodiments, the first message) corresponds to a first language (e.g., presenting the first language and / or including the first language), displaying the first content according to a first characteristic (e.g., in a first direction, at a first rate, and / or at a first amplitude) when the first visual effect is applied to the first content (e.g., such as...). Figure 6AE (as shown); and based on the determination that the first content (or, in some embodiments, the first message) corresponds to a second language different from the first language (e.g., Arabic or Hebrew) (e.g., presented in the second language and / or including the second language), when the first visual effect is applied to the first content, the first content is displayed according to a second characteristic different from the first characteristic (e.g., the first visual effect is applied in a different direction, at a different rate, and / or at a different magnitude compared to when the first content corresponds to the first language). Figure 6AG (As shown). Applying first visual effects to first content based on its language and according to different characteristics enables the computer system to make the first visual effects compatible with different languages and adjust the first visual effects based on the language without requiring the user to manually change the first visual effects to adapt to different languages. This provides the user with improved visual feedback, reduces the amount of input required to perform an operation, and allows the operation to be performed when a set of conditions has been met without further user input.
[0277] It should be noted that the above text regarding method 700 (for example, Figure 7 The details of the process described herein also apply in a similar manner to the methods described below. For example, method 800 optionally includes one or more features of the various methods described above with reference to method 700. For example, a message may be displayed where visual effects are applied to the content of the message, as described in method 700, wherein the visual effects correspond to the representation of the visual effects provided in method 800 based on the determination that the content meets a set of visual effect recommendation criteria. For the sake of brevity, these details will not be repeated below.
[0278] Figure 8 This is a flowchart illustrating a method for providing visual effects for a message using a computer system, according to some embodiments. Method 800 involves one or more display generating components (e.g., 112, 340, 504, 602 and / or 652) (e.g., one or more displays, display systems, touchscreen displays, monitors, holographic display systems and / or head-mounted display systems) and one or more input devices (e.g., 112, 350, 355, 508, 522, 602 and / or 652) (e.g., touch-sensitive surfaces (e.g., touch-sensitive displays); mice; keyboards; remote controls; visual input devices (e.g., one or more cameras, such as infrared cameras, depth cameras, visible light cameras and / or gaze-tracking cameras); audio input devices (e.g., microphones). The method is performed at a computer system (e.g., 100, 300, 500, 600, and / or 650) that communicates with one or more mechanical input devices (e.g., a pressable input mechanism; a button; a rotatable input mechanism; a crown; and / or a dial) (e.g., including and / or connected to one or more display generating components); biometric sensors (e.g., fingerprint sensors, facial recognition sensors, gaze tracking sensors, and / or iris recognition sensors); and / or one or more mechanical input devices (e.g., a pressable input mechanism; a button; a rotatable input mechanism; a crown; and / or a dial)); or includes and / or is connected to one or more display generating components. Some operations in method 800 may be combined, some operations may be changed in order, and some operations may be omitted.
[0279] As described below, method 800 provides an intuitive way to deliver visual effects for messages. This method reduces the cognitive burden on users when delivering visual effects for messages, thereby creating a more efficient human-computer interface. For battery-powered computing devices, it enables users to send and / or receive messages including visual effects more quickly and efficiently, saving power and increasing the time interval between battery charges.
[0280] According to some embodiments of method 800, the computer system displays (802) a messaging user interface (e.g., 604 and / or 654) via one or more display generation components. When displaying the messaging user interface, a set of one or more inputs (e.g., 625, 627, 629, 631, 633, 635, 637 and / or a portion thereof) corresponding to a selection of a message (e.g., text message and / or instant message) (e.g., text, one or more characters, one or more words, one or more images, one or more symbols, one or more emojis and / or other content) is detected (804) via one or more input devices. These inputs may include one or more button presses (e.g., on a physical keyboard and / or mouse), touches on a touch-sensitive surface (e.g., on a soft keyboard and / or user interface menu), air gestures, eye gestures, and / or voice input (e.g., voice-to-text input). In response to (806) detecting one or more inputs corresponding to the selection of the first content of the message: based on the determination that the first content meets a first set of visual effect recommendation criteria (e.g., a set of criteria for recommending a first visual effect to be applied to at least a portion of the first content), the computer system provides (808) (e.g., output and / or display) a first visual effect (e.g., reference) for the corresponding portion of the first content (e.g., 625a, 625b, 627a, 627b, 629a, 631a, 631b, 633a, 635a and / or 637) (e.g., all or some but not all) (e.g., corresponding to and / or applicable to the corresponding portion of the first content). Figures 6AD to 6AP The representation of one or more of the described effects (e.g., Figure 6C , Figure 6D , Figure 6E , Figure 6K , Figure 6R , Figure 6S , Figure 6U and / or Figure 6V(e.g., suggested visual effects, animated visual effects, animated and / or visual effects that change the appearance of content over time). In some embodiments, based on the determination that the first content does not meet the criteria for a first set of suggested visual effects, the computer system abandons providing a representation of the first visual effect (e.g., displaying a representation of a different suggested visual effect or not displaying any representation of the suggested visual effect). In some embodiments, the representation of the first visual effect includes text, icons, buttons, indications, selectable options, selectable user interface elements, user-interactive graphical user interface elements, graphics, images, and / or animations. In some embodiments, the representation of the first visual effect includes a corresponding portion of the first content (e.g., where the first visual effect is applied to a corresponding portion of the first content). The representation of a first visual effect in response to the detection of a selection of the content of a message and the determination that the content meets a set of suggested criteria enables a computer system to selectively suggest visual effects for a portion of the content selected for the message (e.g., when the visual effect may be relevant to the selected content) without requiring additional input from the user requesting suggestions. This provides the user with improved visual feedback, reduces the amount of input required to perform an action, provides additional control options without cluttering the user interface with additional displayed controls, and performs an action without further user input when a set of conditions has been met.
[0281] In some embodiments, the messaging user interface includes a messaging conversation between a first participant (e.g., a user and / or account associated with a computer system) and one or more other participants (e.g., users and / or accounts other than the first participant). In some embodiments, the messaging conversation includes one or more messages between the first participant and one or more other participants. In some embodiments, the messaging user interface includes a text messaging user interface, an instant messaging user interface, and / or a user interface of a messaging application such as a text messaging application and / or an instant messaging application. In some embodiments, the messaging user interface includes a user interface of a messaging application, function, and / or feature included in an audio and / or video communication application, such as a chat user interface in a video conferencing application. In some embodiments, the messaging user interface includes a first area (e.g., a conversation area and / or a message area). In some embodiments, a messaging conversation (e.g., including one or more messages between the first participant and one or more other participants) is displayed in the first area of the messaging user interface. In some embodiments, the messaging user interface includes a keyboard (e.g., a soft keyboard and / or a numeric keypad). In some embodiments, a first message is displayed in the first area of the messaging user interface. In some embodiments, the messaging user interface includes a message composing field. In some embodiments, a message can be composed by entering content (e.g., a draft message) into a message composition field (e.g., before sending the message). In some embodiments, the computer system enters (e.g., displays) content into the message composition field in response to detecting one or more sets of input (e.g., manual input to a keyboard and / or verbal input). In some embodiments, the messaging user interface includes selectable user interface elements (e.g., send buttons and / or send options) for adding a message to a messaging conversation. For example, in some embodiments, in response to detecting a selection of a user interface element, the computer system sends a message to one or more other participants in the messaging conversation (e.g., adds a message to the messaging conversation). In some embodiments, when a selection of a selectable user interface element is detected, the message includes the content of the message composition field.
[0282] In some implementations, the first set of visual effects recommendation standards includes textual standards based on the text of the first content (e.g., as referenced). Figure 6C , Figure 6K , Figure 6R and / or Figure 6S(As described). In some embodiments, the first set of visual effects recommendation criteria is met when the text of the first content meets the text criteria (e.g., the text criteria are sufficient to meet the first set of visual effects recommendation criteria). In some embodiments, the first set of visual effects recommendation criteria is met only if the text of the first content meets the text criteria (e.g., the text criteria are necessary to meet the first set of visual effects recommendation criteria). In some embodiments, the text criteria are insufficient to meet the first set of visual effects recommendation criteria (e.g., the first set of visual effects recommendation criteria includes one or more criteria other than the text criteria). In some embodiments, the first set of visual effects recommendation criteria includes text criteria based on the semantic meaning of the text of the first content (e.g., the computer system provides a representation of visual effects for at least a portion of the first content based on the determined meaning of the text of the first content as a whole). For example, in response to the selection of the text "I need it now", the computer system provides a representation of visual effects for the word "now" (e.g., based on the meaning of "I need it now" as a whole). Conditionally providing a representation of a first visual effect based at least in part on the text of the first content enables a computer system to selectively suggest visual effects for a portion of the content based on the text selected for the message (e.g., when the visual effect may be relevant to the selected text) without requiring additional input from the user requesting the suggestion. This provides the user with improved visual feedback, reduces the amount of input required to perform an action, provides additional control options without cluttering the user interface with additional displayed controls, and performs an action without further user input when a set of conditions has been met. In some embodiments, when the text of the first content includes predefined text strings (e.g., keywords, key phrases, and / or text strings such as words, phrases, or abbreviations from a predefined and / or enumerated list of text strings) (e.g., ... Figure 6C "AMAZING" in Figure 6K The “LONG” in Figure 6R "SCRAED" and / or Figure 6SWhen the text of the first content includes “SO GOOD”, it meets the text standard. For example, in some embodiments, the computer system provides a representation of the first visual effect at least in part because the first content includes a predefined text string. Conditionally providing a representation of the first visual effect based at least in part on the text of the first content including a predefined text string enables the computer system to selectively suggest visual effects for certain text strings (e.g., when the visual effect may be related to the text string) without requiring the user to provide additional input requesting suggestions, thereby providing the user with improved visual feedback, reducing the amount of input required to perform an operation, providing additional control options without cluttering the user interface with additional displayed controls, and performing an operation without further user input when a set of conditions has been met. In some embodiments, when the text of the first content includes one or more predefined characters (e.g., exclamation mark, tilde, punctuation marks (such as one or more periods, commas and / or parentheses), one or more asterisks and / or one or more predefined characters in predefined positions in the text of the first content, such as an exclamation mark at the end of a word, a tilde at the end of a sentence and / or text between two asterisks) (e.g., Figure 6L The "!" and / or Figure 6U When the text contains an asterisk (*), it meets the text standard. For example, in some embodiments, the computer system provides a representation of the first visual effect at least in part because the first content includes one or more predefined characters. Conditionally providing a representation of the first visual effect based at least in part on the text of the first content including predefined characters enables the user to quickly and efficiently have the computer system provide a representation of the visual effect without additional input to navigate the user interface (e.g., by using shortcuts and / or special characters), thereby providing the user with improved visual feedback, reducing the amount of input required to perform an operation, providing additional control options without cluttering the user interface with additional displayed controls, and performing an operation without further user input when a set of conditions has been met. In some embodiments, when the text of the first content includes predefined patterns (e.g., one or more spaces between letters within a word and / or at least a threshold number of repeated characters) (e.g., ... Figure 6UWhen the text includes an asterisk pattern, it meets the text standard. For example, in some implementations, the computer system provides a representation of the first visual effect at least in part because the text of the first content includes a predefined pattern. Conditionally providing a representation of the first visual effect based at least in part on the text of the first content including a predefined pattern enables the user to quickly and efficiently have the computer system provide a representation of the visual effect without additional input to navigate the user interface (e.g., by using shortcuts and / or special patterns), thereby providing the user with improved visual feedback, reducing the amount of input required to perform an operation, providing additional control options without cluttering the user interface with additional displayed controls, and performing an operation without further user input when a set of conditions has been met.
[0283] In some implementations, the first set of visual effect recommendation criteria includes formatting criteria based on the formatting of the first content (e.g., underline, bold, italic, strikethrough, and / or capitalization). For example, the computer system provides a representation of the first visual effect at least in part because a portion of the first content is underlined, bolded, italicized, strikethrough, and / or capitalized. In some implementations, the first set of visual effect recommendation criteria is satisfied when the formatting of the first content meets the formatting criteria (e.g., the formatting criteria are sufficient to satisfy the first set of visual effect recommendation criteria). For example, in some implementations, the device 600 satisfies the first set of visual effect recommendation criteria at least in part because "AMAZING" is capitalized. Figure 6C The suggested visual effect is displayed in the second content suggestion 620b. In some embodiments, the first set of visual effect suggestion criteria is met only if the formatting of the first content satisfies the formatting criteria (e.g., the formatting criteria are necessary to satisfy the first set of visual effect suggestion criteria). In some embodiments, the formatting criteria are insufficient to satisfy the first set of visual effect suggestion criteria (e.g., the first set of visual effect suggestion criteria includes one or more criteria other than the formatting criteria). Providing a representation of the first visual effect conditionally based at least in part on the formatting of the first content enables the user to quickly and efficiently have the computer system provide a representation of the visual effect without additional input to navigate the user interface (e.g., by using shortcuts and / or by formatting a portion of the content), thereby providing the user with improved visual feedback, reducing the amount of input required to perform an action, providing additional control options without cluttering the user interface with additional displayed controls, and performing an action without further user input when a set of conditions has already been met.
[0284] In some implementations, the first set of visual effect recommendation criteria includes emoji criteria that are met when the first content includes predefined emojis (e.g., 637). For example, in response to detecting one or more sets of inputs, the computer system provides recommendations for a shivering effect based on the determination that the first content includes an emoji of a blue, shivering face. In some implementations, the first set of visual effect recommendation criteria is met when the first content meets the emoji criteria (e.g., the emoji criteria are sufficient to meet the first set of visual effect recommendation criteria). In some implementations, the first set of visual effect recommendation criteria is met only if the first content meets the emoji criteria (e.g., the emoji criteria are necessary to meet the first set of visual effect recommendation criteria). In some implementations, the emoji criteria are insufficient to meet the first set of visual effect recommendation criteria (e.g., the first set of visual effect recommendation criteria includes one or more criteria other than the emoji criteria). The computer system can conditionally provide a representation of a first visual effect based at least in part on an emoji included in the first content, enabling it to selectively suggest visual effects for a portion of the content based on an emoji selected for the message (e.g., when the visual effect may be related to an emoji) without requiring additional input from the user requesting the suggestion. This provides the user with improved visual feedback, reduces the amount of input required to perform an action, provides additional control options without cluttering the user interface with additional displayed controls, and performs an action without requiring further user input when a set of conditions has been met.
[0285] In some implementations, in response to detecting one or more inputs corresponding to the selection of a first portion of the message: based on the determination that the first portion of the message satisfies a second set of visual effect recommendation criteria (e.g., a set of criteria for recommending a second visual effect to be applied to at least a portion of the first portion of the message), wherein the second set of visual effect recommendation criteria differs from the first set of visual effect recommendation criteria, the computer system provides (e.g., outputs and / or displays) a representation of a second visual effect for a first portion of the first portion of the message (e.g., corresponding to and / or applicable to the first portion of the first portion of the message) (e.g., a recommended visual effect, an animated visual effect, an animated and / or time-varying visual effect of the content), wherein the second visual effect differs from the first visual effect (e.g., device 600 provides a representation of a second visual effect for a first portion of the message). Figure 6C The ripple effect representing the word "AMAZING" and its target Figure 6K(The representation of the stretching effect of the word "LONG" in the text). In some embodiments, based on the determination that the first content does not meet the criteria for a second set of visual effect recommendations, the computer system abandons providing a representation of the second visual effect (e.g., displaying a representation of a different recommended visual effect or not displaying any representation of the recommended visual effect). In some embodiments, the first portion of the first content is identical to a corresponding portion of the first content. In some embodiments, the first portion of the first content is different from a corresponding portion of the first content. Providing representations of different visual effects when different sets of criteria are met enables the computer system to recommend specific visual effects based on the first content (e.g., recommending visual effects more likely to be relevant to the selected content) without requiring additional input from the user requesting the recommendation, thereby providing the user with improved visual feedback, reducing the amount of input required to perform an operation, providing additional control options without cluttering the user interface with additional displayed controls, and performing an operation without further user input when a set of conditions has been met.
[0286] In some embodiments, providing a representation of a first visual effect for a corresponding portion of the first content includes displaying the representation of the first visual effect in an area (e.g., 620) of the messaging user interface (e.g., suggestion bar and / or visually distinct areas) via one or more display generation components, without selecting the first visual effect for inclusion in a message (e.g., via input pointing to the representation of the first visual effect) (e.g., without displaying the first visual effect in the message composition field). For example, the first visual effect is displayed in areas of the messaging user interface other than the message dialogue (e.g., message transcription; where the first visual effect is not displayed), the keyboard area, and the message composition field. In some embodiments, the computer system displays a representation of the corresponding portion of the first content in a portion (e.g., the left side) of that area of the messaging user interface when the first visual effect is not applied to the corresponding portion (e.g., the representation of the corresponding portion without the first visual effect can be selected to include that portion in a draft message without applying the first visual effect to that portion). In some implementations, in response to detecting a selection of a first visual effect in that area of the messaging user interface (e.g., via a selection of a representation of the first visual effect), the computer system displays (e.g., in a message composition field) the corresponding portion of the first content if the first visual effect is applied to that portion. Displaying a representation of the first visual effect in the area of the messaging user interface, rather than selecting the first visual effect for inclusion in the message, allows the user to preview the first visual effect before applying it to content selected for the message. This avoids errors (e.g., by not applying visual effects the user does not expect) and the additional input required to correct them, thereby providing the user with improved visual feedback, reducing the amount of input required to perform an action, and providing additional control options without cluttering the user interface with additional displayed controls.
[0287] In some embodiments, after detecting one or more inputs corresponding to a selection of first content of a message, the computer system displays a first visual effect applied to a corresponding portion of the first content in an area of the messaging user interface (e.g., 612) (e.g., a message writing field and / or a visually distinct area) via one or more display generation components. In some embodiments, providing a representation of the first visual effect includes displaying the first visual effect applied to a corresponding portion of the first content in the area of the messaging user interface for writing a message. In some embodiments, the computer system displays the first visual effect applied to a corresponding portion of the first content in the area of the messaging user interface for writing a draft message after providing a representation of the first visual effect (e.g., in response to detecting further input after one or more inputs corresponding to a selection of first content of a message). Displaying the first visual effect applied to a corresponding portion of the first content in the area of the messaging user interface for writing a draft message allows the user to include the first visual effect in the draft message and preview the message with the first visual effect before sending it. This reduces errors and additional input, thereby providing the user with improved visual feedback and reducing the amount of input required to perform the operation.
[0288] In some implementations, providing a representation of the first visual effect includes displaying a user interface element corresponding to the first visual effect (e.g., via one or more display generation components). Figure 6C , Figure 6D , Figure 6E , Figure 6K , Figure 6R , Figure 6S , Figure 6U and / or Figure 6VThe first visual effect, which is displayed in the area of the messaging user interface for drafting a message (e.g., 620b) (e.g., icons, buttons, and / or selectable graphical user interface elements), and the first visual effect applied to a corresponding portion of the first content, occurs in response to the detection of input (e.g., 610e, 610v, 610x, 610z, and / or 610aa) (e.g., touch, air gesture, button press, voice command, and / or other input) corresponding to the first visual effect (e.g., the computer system displays the first visual effect in the message writing field in response to the selection of the user interface element corresponding to the first visual effect). In some embodiments, the user interface element corresponding to the first visual effect is a representation of the first visual effect. Displaying the first visual effect applied to a corresponding portion of the first content in the area of the messaging user interface for drafting a message in response to the detection of input (e.g., 610e, 610v, 610x, 610z, and / or 610aa) allows the user to quickly and efficiently include the first visual effect in the message, thereby providing the user with improved visual feedback and reducing the amount of input required to perform the operation.
[0289] In some implementations, the display of a first visual effect applied to a corresponding portion of the first content in the area of the messaging user interface for drafting a message occurs in response to the detection of one or more inputs corresponding to a selection of the first content of the message (and in some implementations, based on the determination that the first content meets the first set of visual effect recommendation criteria) without the detection of a user interface element (e.g., an icon, button, selectable graphical user interface element, and / or selectable option in a suggestion bar) corresponding to the first visual effect (e.g., as referenced). Figure 6L(As described) (For example, a computer system automatically displays a first visual effect in a message composition field in response to detecting one or more inputs corresponding to a request to compose first content of a message without detecting a selection of a user interface element corresponding to a first suggested visual effect). In some embodiments, the computer system displays an indication that the first suggested visual effect is automatically applied to that portion of the first content in the message composition field. In some embodiments, the indication to automatically apply the first suggested visual effect includes highlighting (e.g., with a blue box) that portion of the first content in the message composition field. In some implementations, when a first suggested visual effect is displayed for that portion of the first content, the computer system detects input (e.g., selection of the backspace button) and, in response, stops displaying the first suggested visual effect (e.g., removes the first suggested visual effect from that portion of the first content and / or cancels the first suggested visual effect in the message composition field). Displaying the first visual effect for the corresponding portion of the first content in the area of the messaging user interface for composing draft messages in response to the detection of one or more inputs corresponding to the selection of the first content of the message, without detecting a user interface element corresponding to the first visual effect, enables the computer system to automatically suggest the first visual effect to the user without requiring additional input to navigate the user interface, thereby providing improved visual feedback, reducing the amount of input required to perform an operation, and providing additional control options without cluttering the user interface with additional displayed controls. In some implementations, in relation to the first content of the message… The selection of content corresponds to one or more inputs in this group (e.g., 610c, 610k, 610u, 610w, and / or 610y), including the selection of a space key (e.g., 616c) (e.g., a space after the corresponding portion of the first content). In some embodiments, the last input in this group of one or more inputs is the selection of a space key (e.g., in response to detecting the selection of a space key and determining that the first content meets the first set of visual effect recommendation criteria, the computer system displays a first visual effect in the message composition field). Displaying the first visual effect applied to the corresponding portion of the first content in the area of the messaging user interface for composing a draft message in response to detecting the selection of a space key enables the computer system to automatically suggest the first visual effect to the user without requiring additional input to navigate the user interface, thereby providing the user with improved visual feedback, reducing the amount of input required to perform an operation, and providing additional control options without cluttering the user interface with additional displayed controls.In some implementations, in response to detecting one or more inputs corresponding to a selection of first content of a message: based on the determination that the first content meets a second set of visual effect recommendation criteria, the computer system displays user interface elements (e.g., icons, buttons, and / or selectable graphical user interface elements) corresponding to the second visual effect (e.g., recommended visual effect) via one or more display generation components, wherein the second set of visual effect recommendation criteria differs from the first set of visual effect recommendation criteria (e.g., in...). Figure 6K The visual effects recommendations in this set of standards are met and in Figure 6L (The set of visual effect recommendation criteria may differ in some embodiments.) For example, in some embodiments, based on the determination that the first content meets the second set of visual effect recommendation criteria, the computer system displays (e.g., in a recommended area of the user interface) a selectable user interface object that can be selected to apply the second visual effect to a first portion of the first content in the message composition field; and based on the determination that the first content meets the first set of visual effect recommendation criteria, the computer system applies the first visual effect to a second portion of the first content in the message composition field (e.g., without displaying the selectable user interface object and / or without requiring the selection of the selectable user interface object). In some embodiments, the first portion of the first content is the same as the second portion of the first content. In some embodiments, the first portion of the first content is different from the second portion of the first content. In some embodiments, displaying a user interface element corresponding to the second visual effect includes displaying the second visual effect applied to the first portion of the first content (e.g., a preview of the second visual effect). Displaying user interface elements corresponding to a second visual effect based on the determination of visual effect suggestion criteria for different groups of first content enables the computer system to suggest visual effects based on different contexts and content of the first content, without requiring additional input from the user. This provides improved visual feedback to the user, reduces the amount of input required to perform an operation, provides additional control options without cluttering the user interface with additional displayed controls, and performs an operation without further user input once a set of conditions is met. In some implementations, the first visual effect differs from the second visual effect (e.g., the suggested visual effect for the word "LONG" is different in some implementations). Figure 6K In and in Figure 6L(Different from the previous one). In some implementations, the first suggested visual effect is the same as the second suggested visual effect. Displaying user interface elements corresponding to different visual effects based on the determination that the first content meets different sets of visual effect suggestion criteria enables the computer system to suggest different visual effects based on the context and content of the first content without requiring additional input from the user, thereby providing the user with improved visual feedback, reducing the amount of input required to perform an operation, providing additional control options without cluttering the user interface with additional displayed controls, and performing an operation without further user input when a set of conditions has been met.
[0290] In some implementations, when displaying a messaging user interface, the computer system displays menu user interface elements (e.g., 618) (e.g., visual effect menu user interface elements, icons, buttons, and / or selectable graphical user interface elements) via one or more display generation components; the computer system detects input corresponding to the selection of a menu user interface element (e.g., 610d, 610g, and / or 610m) (e.g., touch, air gesture, button press, voice command, and / or other input) via one or more input devices; in response to detecting input corresponding to the selection of a menu user interface element, the computer system displays a representation of a first visual effect option (e.g., 630a and / or 630b) (e.g., icons, buttons, and / or selectable graphical user interface elements) and a representation of a second visual effect option different from the first visual effect option (e.g., 630a and 630b) via one or more display generation components. / or 630b) (e.g., icons, buttons, and / or selectable graphical user interface elements); when displaying a representation of a first visual effect option and a representation of a second visual effect option, the computer system detects input corresponding to the selection of a visual effect option (e.g., 610h and / or 610o) (e.g., icons, buttons, and / or selectable graphical user interface elements) via one or more input devices; and in response to detecting input corresponding to the selection of a visual effect option: based on the determination that the input corresponding to the selection of a visual effect option points to the representation of the first visual effect option, the computer system displays (e.g., in a message composition field) a second portion of the first content via one or more display generation components, the second portion having a visual effect corresponding to the first visual effect option applied to the second portion of the first content (e.g., the computer system displays a first visual effect applied to the first portion of the first content) (e.g., as referenced). Figures 6H to 6I(as described); and based on the determination of an input pointing to a second visual effect option corresponding to the selection of a visual effect option, the computer system displays (e.g., in a message composition field) a second portion of the first content via one or more display generation components, the second portion having a visual effect corresponding to a first visual effect option applied to the second portion of the first content (e.g., the computer system displays a second visual effect applied to the second portion of the first content) (e.g., as described in reference). Figures 6M to 6N (As described). Displaying a portion of the first content with visual effects corresponding to the selected visual effect option allows the user to quickly and efficiently select a visual effect with less input, thereby providing the user with improved visual feedback, reducing the amount of input required to perform an action, and performing an action without further user input once a set of conditions has been met. In some embodiments, the computer system displays menu user interface elements in a suggestion area (e.g., a suggestion bar) of the messaging user interface. In some embodiments, the computer system displays menu user interface elements in response to the determination that the first content meets a set of menu criteria (e.g., a first set of visual effect suggestion criteria). In some embodiments, a second portion of the first content is the selected, specified, and / or highlighted portion of the first content. In some embodiments, a second portion of the first content is one or more words immediately adjacent to the cursor (e.g., in a message composition field). In some embodiments, after displaying a second portion of the first content having a selected visual effect applied to the second portion of the first content (e.g., a visual effect corresponding to a first visual effect option or a second visual effect option), the computer system detects input corresponding to a request to remove the selected visual effect from the second portion of the first content (e.g., stop displaying the second portion of the first content with the selected visual effect); and in response to detecting input corresponding to the request to remove the selected visual effect from the second portion of the first content, the computer system stops displaying the second portion of the first content with the selected visual effect. In some embodiments, the input corresponding to the request to remove the selected visual effect from the second portion of the first content includes an indication of deselecting and / or reselecting the selected visual effect, an indication of selecting a third (e.g., a different) visual effect, and / or selecting the backspace key.
[0291] In some implementations, upon (and / or in some implementations, in response to) detecting one or more inputs corresponding to a selection of the first content of a message, the computer system displays (e.g., in a message composition field, a suggestion area of the messaging user interface, and / or a menu of visual effects options) the corresponding portion of the first content via one or more display generation components when the first visual effect is applied to the corresponding portion of the first content (e.g., the computer system displays a preview of the visual effect before the message is transmitted). Figures 6C to 6E (As described). Displaying a corresponding portion of the first content when a first visual effect is applied to a corresponding portion of the first content after detecting one or more inputs corresponding to a selection of the first content of the message allows the user to quickly and efficiently include the first visual effect in the message with less input, thereby providing the user with improved visual feedback and reducing the amount of input required to perform an operation. In some embodiments, displaying a corresponding portion of the first content when a first visual effect is applied to a corresponding portion of the first content includes: displaying a first instance of the first visual effect applied to the corresponding portion of the first content; and displaying a second instance of the first visual effect applied to the corresponding portion of the first content after displaying the first instance of the first visual effect applied to the corresponding portion of the first content (e.g., a computer system displays a loop of visual effects) (e.g., device 600 in reference). Figures 6C to 6E The described 620b (repeated and / or looped visual effects) displays a first instance of a first visual effect applied to a corresponding portion of the first content, followed by displaying a second instance of the first visual effect applied to a corresponding portion of the first content. This enables the computer system to repeatedly display the first visual effect without requiring the user to manually initiate additional instances of the first visual effect, and makes the visual effect easier to observe, thereby providing the user with improved visual feedback and reducing the amount of input required to perform an operation.
[0292] In some implementations, in response to detecting one or more inputs corresponding to the selection of a first content of a message: based on the determination that the first content meets a set of spelling correction criteria, the computer system displays, via one or more display generation components, a representation of suggested spelling corrections for a third portion (e.g., 629a) (e.g., all or some but not all) of the first content (e.g., ...). Figure 6RIn 620b), instead of providing a representation of the first visual effect for the corresponding portion of the first content, the computer system displays a suggested spelling correction representation while concurrently providing representations of the first visual effect for the corresponding portion of the first content. When the first content meets a set of spelling correction criteria, a suggested spelling correction representation for a third portion of the first content is displayed without providing a representation of the first visual effect for the corresponding portion of the first content. This provides the user with the option to quickly and efficiently correct the first content when it contains errors, thereby providing improved visual feedback, reducing the amount of input required to perform the operation, providing additional control options without cluttering the user interface with additional displayed controls, and performing the operation without further user input when a set of conditions has been met.
[0293] In some implementations, a computer system displays first content in a message composition field (e.g., 612) of a messaging user interface (e.g., in a draft message) via one or more display generation components, including displaying a first visual effect applied to a corresponding portion of the first content in the message composition field; when the first visual effect applied to the corresponding portion of the first content is displayed in the message composition field, the computer system detects a set of one or more inputs (e.g., 610r, 610q, and / or 610s) corresponding to a request to edit the corresponding portion of the first content via one or more input devices (e.g., a set of one or more touch, air gesture, button press, voice command, and / or other inputs); and in response to detecting the set of one or more inputs corresponding to a request to edit the corresponding portion of the first content, the computer system edits the corresponding portion of the first content to generate an edited portion of the first content (e.g., as shown in the image). Figures 6N to 6P As described, this includes displaying the edited portion of the first content (e.g., as described) when a first visual effect is applied to the edited portion of the first content. Figure 6P(As shown). Editing a corresponding portion of the first content in response to detecting one or more inputs corresponding to a request to edit a corresponding portion of the first content, and displaying an edited portion of the first content with a first visual effect applied to the edited portion, provides the ability to quickly and efficiently correct the first content while maintaining the first visual effect, thereby providing improved visual feedback to the user and reducing the amount of input required to perform the operation. In some embodiments, the message writing field includes an area of the messaging user interface for writing draft messages (e.g., a visually distinct area). In some embodiments, editing a corresponding portion of the first content includes deleting, adding, and / or changing one or more characters of the corresponding portion of the first content. In some embodiments, in response to detecting one or more inputs corresponding to a request to edit a corresponding portion of the first content: based on a determination that the corresponding portion of the first content has not yet been deleted, the computer system displays the edited portion of the first content if a first suggested visual effect is applied to the edited portion of the first content; and based on a determination that the corresponding portion of the first content has been deleted, the computer system displays the edited portion of the first content if a first suggested visual effect is not applied to the edited portion of the first content. In some implementations, after a message is delivered to one or more participants in a messaging conversation, the computer system detects one or more sets of input corresponding to a request to edit the message, including a request to edit (e.g., change and / or remove) a first visual effect in the message; and in response to detecting the set of one or more sets of input corresponding to the request to edit the message, the computer system edits the first visual effect in the message while maintaining the message in the messaging conversation. In some implementations, the computer system displays the first content with the first visual effect applied to a corresponding portion of the first content and formatting styles (e.g., underline, italics, and / or bold) applied to the corresponding portion of the first content.
[0294] In some implementations, the corresponding portion of the first content includes two or more words (e.g., the first visual effect is applied to multiple words) (e.g., such as...). Figure 6S , Figure 6AD , Figure 6AE , Figure 6AH , Figure 6AL , Figure 6AM and / or Figure 6AO (As shown and / or as described with reference to these figures). In some embodiments, a corresponding portion of the first content comprises only one word (e.g., the first visual effect is applied only to a single word). Representing multiple words with a first visual effect enables a computer system to apply the first visual effect to phrases and / or relevant portions of the first content (e.g., not limited to a single word), thereby providing the user with improved visual feedback.
[0295] It should be noted that the above text regarding method 800 (for example, Figure 8 The details of the process described also apply in a similar manner to the methods described above. For example, method 700 optionally includes one or more features of the various methods described above with reference to method 800. For example, as described in method 800, a visual representation of a message may be provided by determining that the content satisfies a set of visual effect suggestions before the visual effects described in method 700 are applied to the content selected for the message.
[0296] For purposes of explanation, the foregoing description has been given by reference to specific embodiments. However, the illustrative discussion above is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible based on the teachings above. These embodiments were chosen and described in order to best explain the principles of these techniques and their practical application. Others skilled in the art will thus be able to best utilize these techniques and the various embodiments with various modifications suitable for the particular intended use.
[0297] While this disclosure and examples have been fully described with reference to the accompanying drawings, it should be noted that various changes and modifications will become apparent to those skilled in the art. It should be understood that such changes and modifications are considered to be included within the scope of this disclosure and examples as defined by the claims.
[0298] As described above, one aspect of the present invention is to collect and use data available from various sources to improve messaging communications. This disclosure contemplates that, in some instances, such collected data may include personal information data that uniquely identifies or can be used to contact or locate specific individuals. Such personal information data may include demographic data, location-based data, telephone numbers, email addresses, social network IDs, home addresses, data or records related to a user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, or any other identifying or personal information.
[0299] This disclosure recognizes that the use of such personal information data in the techniques of this invention can benefit users. For example, personal information data can be used to improve messaging communications. Furthermore, this disclosure also contemplates other uses of personal information data that benefit users. For example, health and fitness data can be used to provide insights into a user's overall health status or can be used as positive feedback for individuals using the technology to pursue health goals.
[0300] This disclosure anticipates that entities responsible for the collection, analysis, disclosure, transmission, storage, or other use of such personal information data will comply with robust privacy policies and / or privacy measures. Specifically, such entities should implement and adhere to privacy policies and measures recognized as meeting or exceeding industry or governmental requirements for maintaining the privacy and security of personal information data. Such policies should be easily accessible to users and should be updated as the collection and / or use of data changes. Personal information from users should be collected for legitimate and reasonable entity purposes and should not be shared or sold outside of these legitimate purposes. Furthermore, such collection / sharing should be conducted only after receiving informed consent from the user. Additionally, such entities should consider taking any necessary steps to protect and safeguard access to such personal information data and ensure that other entities authorized to access such personal information data comply with their privacy policies and procedures. Furthermore, such entities may be subject to third-party assessments to demonstrate their compliance with widely accepted privacy policies and practices. Moreover, policies and practices should be adapted to the specific types of personal information data collected and / or accessed, and to applicable laws and standards, including considerations of specific jurisdictions. For example, in the United States, the collection or acquisition of certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); while in other countries, health data may be subject to other regulations and policies and should be handled accordingly. Therefore, different privacy measures should be advocated for different types of personal data in each country.
[0301] Regardless of the foregoing, this disclosure also contemplates implementation schemes for users to selectively block the use or access to personal information data. That is, this disclosure contemplates hardware and / or software components to prevent or block access to such personal information data. For example, with regard to electronic messaging, the inventive technology can be configured to allow users to opt-in or opt-out to participate in the collection of personal information data during or at any time after registering for the service. In addition to providing opt-in and opt-out options, this disclosure also contemplates providing notifications related to access to or use of personal information. For example, users may be notified when downloading an application that their personal information data will be accessed, and then reminded again just before the application accesses the personal information data.
[0302] Furthermore, the intent of this disclosure is that personal information data should be managed and processed in a manner that minimizes the risk of unintentional or unauthorized access or use. Once data is no longer needed, this risk can be minimized by restricting data collection and deleting data. Additionally, and where applicable, including in certain health-related applications, data deidentification can be used to protect user privacy. Deidentification can be facilitated, where appropriate, by removing specific identifiers (e.g., date of birth, etc.), controlling the amount or specificity of stored data (e.g., collecting location data at the city level rather than the address level), controlling how data is stored (e.g., aggregating data among users), and / or other methods.
[0303] Therefore, while this disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, it is also contemplated that various embodiments can be implemented without access to such personal information data. That is, various embodiments of the present invention will not be rendered inoperable due to the absence of all or part of such personal information data. For example, visual effects can be suggested and / or displayed based on non-personal information data or an absolute minimum measure of personal information (such as content requested by a device associated with a user, other non-personal information available to a computer system, or publicly available information).
Claims
1. A method comprising: At a computer system that communicates with one or more display generation components: A messaging user interface is displayed via the one or more display generation components. The messaging user interface includes a messaging dialogue between a first participant and one or more other participants. The messaging dialogue includes one or more messages between the first participant and the one or more other participants. The one or more messages include a first message, which includes first content and second content that is different from the first content. as well as When displaying the message transmission user interface, displaying the first message via the one or more display generation components includes: The first content is displayed when the first visual effect is applied to the first content; as well as The second content is displayed when the first visual effect is not applied to the second content.
2. The method of claim 1, wherein displaying the second content when the first visual effect is not applied to the second content includes adjusting the visual attributes of the second content.
3. The method according to any one of claims 1 to 2, wherein displaying the second content when the first visual effect is not applied to the second content includes displaying the second content when a second visual effect is applied to the second content, wherein the second visual effect is different from the first visual effect.
4. The method according to any one of claims 1 to 3, further comprising: Before displaying the first message, a preview of the first content is displayed via the one or more display generation components when the first visual effect is applied to the first content.
5. The method according to any one of claims 1 to 4, wherein displaying the first content when the first visual effect is applied to the first content comprises: Display a first instance of the first content when the first visual effect is applied to the first content; as well as After displaying the first instance of the first content when the first visual effect is applied to the first content, a second instance of the first content is displayed when the first visual effect is applied to the first content.
6. The method according to any one of claims 1 to 5, further comprising: After the first content is displayed when the first visual effect is applied to the first content, a set of one or more inputs corresponding to the request to edit the first visual effect are detected via one or more input devices communicating with the computer system; as well as In response to detecting one or more inputs corresponding to the request to edit the first visual effect, the first content is displayed via the one or more display generation components when the first visual effect is not applied to the first content.
7. The method according to any one of claims 1 to 6, wherein displaying the first content when the first visual effect is applied to the first content comprises: Animate the first part of the first content; as well as After animate the first part of the first content, animate the second part of the first content, wherein the second part of the first content is different from the first part of the first content.
8. The method according to any one of claims 1 to 7, wherein displaying the first content when the first visual effect is applied to the first content includes changing the font of the first content over time.
9. The method according to any one of claims 1 to 8, wherein displaying the first content when the first visual effect is applied to the first content includes changing the spacing between two or more characters of the first content over time.
10. The method according to any one of claims 1 to 9, wherein displaying the first content when the first visual effect is applied to the first content comprises: The first content is displayed in a visually distinct area of the messaging user interface at the first moment; as well as At a second time, different from the first time, at least a portion of the first content is displayed, at least partially, outside the visually distinct area of the messaging user interface.
11. The method according to any one of claims 1 to 10, wherein displaying the first content when the first visual effect is applied to the first content comprises: The first message, which includes the first part of the first content, is displayed immediately. as well as At a second time, different from the first time, the first message without the first content is displayed in the first part.
12. The method according to any one of claims 1 to 11, wherein: The first content includes a first character and a second character that is different from the first character, and Displaying the first content when the first visual effect is applied to the first content includes: Display a first visual transformation on the first character; and A second visual transformation is displayed on the second character, wherein the second visual transformation is different from the first visual transformation.
13. The method according to any one of claims 1 to 12, wherein displaying the first content when the first visual effect is applied to the first content comprises: Based on the determination that the first content corresponds to the first language, the first content is displayed according to the first characteristic when the first visual effect is applied to the first content; as well as Based on the determination that the first content corresponds to a second language different from the first language, the first content is displayed according to a second characteristic different from the first characteristic when the first visual effect is applied to the first content.
14. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with one or more display generation components, the one or more programs including instructions for performing the method according to any one of claims 1 to 13.
15. A computer system configured to communicate with one or more display generation components, the computer system comprising: One or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method according to any one of claims 1 to 13.
16. A computer system configured to communicate with one or more display generation components, the computer system comprising: Apparatus for performing the method according to any one of claims 1 to 13.
17. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with one or more display generation components, said one or more programs comprising instructions for performing the method according to any one of claims 1 to 13.
18. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with one or more display generation components, said one or more programs including instructions for: A messaging user interface is displayed via the one or more display generation components. The messaging user interface includes a messaging dialogue between a first participant and one or more other participants. The messaging dialogue includes one or more messages between the first participant and the one or more other participants. The one or more messages include a first message, which includes first content and second content that is different from the first content. as well as When displaying the message transmission user interface, displaying the first message via the one or more display generation components includes: The first content is displayed when the first visual effect is applied to the first content; as well as The second content is displayed when the first visual effect is not applied to the second content.
19. A computer system configured to communicate with one or more display generation components, the computer system comprising: One or more processors; and The memory stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for the following operations: A messaging user interface is displayed via the one or more display generation components. The messaging user interface includes a messaging dialogue between a first participant and one or more other participants. The messaging dialogue includes one or more messages between the first participant and the one or more other participants. The one or more messages include a first message, which includes first content and second content that is different from the first content. as well as When displaying the message transmission user interface, displaying the first message via the one or more display generation components includes: The first content is displayed when the first visual effect is applied to the first content; as well as The second content is displayed when the first visual effect is not applied to the second content.
20. A computer system configured to communicate with one or more display generation components, the computer system comprising: A means for displaying a messaging user interface via the one or more display generation components, the messaging user interface including a messaging dialogue between a first participant and one or more other participants, the messaging dialogue including one or more messages between the first participant and the one or more other participants, wherein the one or more messages include a first message, the first message including first content and second content different from the first content; and A means for displaying the first message via the one or more display generation components when displaying the message transmission user interface, the display comprising: The first content is displayed when the first visual effect is applied to the first content; as well as The second content is displayed when the first visual effect is not applied to the second content.
21. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with one or more display generation components, said one or more programs including instructions for performing the following operations: A messaging user interface is displayed via the one or more display generation components. The messaging user interface includes a messaging dialogue between a first participant and one or more other participants. The messaging dialogue includes one or more messages between the first participant and the one or more other participants. The one or more messages include a first message, which includes first content and second content that is different from the first content. as well as When displaying the message transmission user interface, displaying the first message via the one or more display generation components includes: The first content is displayed when the first visual effect is applied to the first content; as well as The second content is displayed when the first visual effect is not applied to the second content.
22. A method comprising: At a computer system that communicates with one or more display generation components and one or more input devices: The message transmission user interface is displayed via the one or more display generation components; When the message transmission user interface is displayed, a set of one or more inputs corresponding to the selection of a first content of the message are detected via the one or more input devices; as well as In response to detecting one or more inputs corresponding to the selection of the first content of the message: Based on the determination that the first content meets the first set of visual effect recommendation criteria, a representation of the first visual effect for the corresponding part of the first content is provided.
23. The method of claim 22, wherein the first set of visual effects recommendation criteria includes textual criteria based on the text of the first content.
24. The method of claim 23, wherein the text standard is satisfied when the text of the first content includes a predefined text string.
25. The method according to any one of claims 23 to 24, wherein the text standard is satisfied when the text of the first content includes one or more predefined characters.
26. The method according to any one of claims 23 to 25, wherein the text standard is satisfied when the text of the first content includes a predefined pattern.
27. The method according to any one of claims 22 to 26, wherein the first set of visual effect recommendation criteria includes formatting criteria based on the formatting of the first content.
28. The method according to any one of claims 22 to 27, wherein the first set of visual effect recommendation criteria includes an emoji criterion satisfied when the first content includes predefined emojis.
29. The method according to any one of claims 22 to 28, further comprising: In response to detecting one or more inputs corresponding to the selection of the first content of the message: Based on the determination that the first content meets the second set of visual effect recommendation criteria, wherein the second set of visual effect recommendation criteria is different from the first set of visual effect recommendation criteria, a representation of a second visual effect for a first part of the first content is provided, wherein the second visual effect is different from the first visual effect.
30. The method of any one of claims 22 to 29, wherein providing the representation of the first visual effect for the corresponding portion of the first content comprises: The representation of the first visual effect is displayed in a region of the messaging user interface via one or more display generation components, without selecting the first visual effect for inclusion in the message.
31. The method according to any one of claims 22 to 30, further comprising: After detecting one or more inputs corresponding to the selection of the first content of the message, the first visual effect applied to the corresponding part of the first content is displayed in the area of the messaging user interface for writing draft messages via the one or more display generation components.
32. The method according to claim 31, wherein: The representation of the first visual effect includes displaying a user interface element corresponding to the first visual effect via the one or more display generation components; and The first visual effect, which applies to the corresponding portion of the first content, is displayed in the area of the messaging user interface used for writing draft messages, in response to detecting input that selects the user interface element corresponding to the first visual effect.
33. The method according to any one of claims 31 to 32, wherein the first visual effect applied to the corresponding portion of the first content is displayed in the area of the messaging user interface for drafting a message, in response to the detection of one or more inputs corresponding to the selection of the first content of the message without the detection of a user interface element corresponding to the first visual effect.
34. The method of claim 33, wherein the set of one or more inputs corresponding to the selection of the first content of the message includes the selection of the space key.
35. The method according to any one of claims 33 to 34, further comprising: In response to detecting one or more inputs corresponding to the selection of the first content of the message: Based on the determination that the first content meets the second set of visual effect recommendation criteria, user interface elements corresponding to the second visual effect are displayed via the one or more display generation components, wherein the second set of visual effect recommendation criteria is different from the first set of visual effect recommendation criteria.
36. The method of claim 35, wherein the first visual effect is different from the second visual effect.
37. The method according to any one of claims 22 to 36, further comprising: When the message transmission user interface is displayed, menu user interface elements are displayed via the one or more display generation components; Detect input corresponding to the selection of the menu user interface element via the one or more input devices; In response to detecting the input corresponding to the selection of the menu user interface element, a representation of a first visual effect option and a representation of a second visual effect option different from the first visual effect option are displayed via the one or more display generation components; When displaying the representation of the first visual effect option and the representation of the second visual effect option, input corresponding to the selection of the visual effect option is detected via the one or more input devices; as well as In response to the detection of the input corresponding to the selection of a visual effect option: Based on the determination that the input corresponding to the selection of the visual effect option is the representation of the first visual effect option, a second portion of the first content is displayed via the one or more display generation components, the second portion having a visual effect corresponding to the first visual effect option applied to the second portion of the first content; as well as Based on the determination that the input corresponding to the selection of the visual effect option is the representation for the second visual effect option, the second portion of the first content is displayed via the one or more display generation components, the second portion having a visual effect corresponding to the second visual effect option applied to the second portion of the first content.
38. The method according to any one of claims 22 to 37, further comprising: After detecting one or more inputs corresponding to the selection of the first content of the message, the corresponding portion of the first content is displayed via the one or more display generation components when the first visual effect is applied to the corresponding portion of the first content.
39. The method of claim 38, wherein displaying the corresponding portion of the first content when the first visual effect is applied to the corresponding portion of the first content comprises: Display a first instance of the first visual effect applied to the corresponding portion of the first content; as well as After displaying a first instance of the first visual effect applied to the corresponding portion of the first content, a second instance of the first visual effect applied to the corresponding portion of the first content is displayed.
40. The method according to any one of claims 22 to 39, further comprising: In response to detecting one or more inputs corresponding to the selection of the first content of the message: Based on the determination that the first content meets a set of spelling correction criteria, a representation of suggested spelling corrections for a third portion of the first content is displayed via the one or more display generation components, without providing a representation of the first visual effect for the corresponding portion of the first content.
41. The method according to any one of claims 22 to 40, further comprising: Displaying the first content in the message composition field of the messaging user interface via the one or more display generation components includes displaying the first visual effect applied to the corresponding portion of the first content in the message composition field; When the first visual effect applied to the corresponding part of the first content is displayed in the message composition field, a set of one or more inputs corresponding to the request to edit the corresponding part of the first content are detected via the one or more input devices; as well as In response to detecting one or more inputs corresponding to a request to edit the corresponding portion of the first content, editing the corresponding portion of the first content to generate an edited portion of the first content includes displaying the edited portion of the first content while applying the first visual effect to the edited portion of the first content.
42. The method according to any one of claims 22 to 41, wherein the corresponding portion of the first content comprises two or more words.
43. The method of any one of claims 22 to 42, wherein providing the representation of the first visual effect for the corresponding portion of the first content comprises: The name of the first visual effect is displayed via the one or more display generation components.
44. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with one or more display generation components and one or more input devices, said one or more programs including instructions for performing the method according to any one of claims 22 to 43.
45. A computer system configured to communicate with one or more display generation components and one or more input devices, the computer system comprising: One or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method according to any one of claims 22 to 43.
46. A computer system configured to communicate with one or more display generation components and one or more input devices, comprising: Apparatus for performing the method according to any one of claims 22 to 43.
47. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with one or more display generation components and one or more input devices, the one or more programs comprising instructions for performing the method according to any one of claims 22 to 43.
48. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with one or more display generation components and one or more input devices, said one or more programs including instructions for: The message transmission user interface is displayed via the one or more display generation components; When displaying the messaging user interface, a set of one or more inputs corresponding to the selection of a first content of the message are detected via the one or more input devices; and In response to detecting one or more inputs corresponding to the selection of the first content of the message: Based on the determination that the first content meets the first set of visual effect recommendation criteria, a representation of the first visual effect for the corresponding part of the first content is provided.
49. A computer system configured to communicate with one or more display generation components and one or more input devices, comprising: One or more processors; and The memory stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for the following operations: The message transmission user interface is displayed via the one or more display generation components; When the message transmission user interface is displayed, a set of one or more inputs corresponding to the selection of a first content of the message are detected via the one or more input devices; as well as In response to detecting one or more inputs corresponding to the selection of the first content of the message: Based on the determination that the first content meets the first set of visual effect recommendation standards, Provide a representation of the first visual effect for a corresponding portion of the first content.
50. A computer system configured to communicate with one or more display generation components and one or more input devices, comprising: A means for displaying a message transmission user interface via the one or more display generation components; Means for detecting, when displaying the messaging user interface, one or more input devices corresponding to a selection of a first content of a message; and Means for performing the following operations in response to detecting one or more inputs corresponding to a selection of the first content of the message: Based on the determination that the first content meets the first set of visual effect recommendation criteria, a representation of the first visual effect for the corresponding part of the first content is provided.
51. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with one or more display generation components and one or more input devices, said one or more programs including instructions for: The message transmission user interface is displayed via the one or more display generation components; When displaying the messaging user interface, a set of one or more inputs corresponding to the selection of a first content of the message are detected via the one or more input devices; and In response to detecting one or more inputs corresponding to the selection of the first content of the message: Based on the determination that the first content meets the first set of visual effect recommendation criteria, a representation of the first visual effect for the corresponding part of the first content is provided.
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