Map creation for messaging

By identifying objects in images and generating stickers, it solves the problem of difficulty in creating personalized stickers in the existing technology, enables sticker applications in messaging sessions, improves user experience and protects privacy.

CN119325588APending Publication Date: 2025-01-17APPLE INC
View PDF 21 Cites 0 Cited by

Patent Information

Application Number
CN202380044704.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-06-05
Filing Date
2023-06-02
Publication Date
2025-01-17

AI Technical Summary

Technical Problem

The prior art is difficult to effectively create and apply personalized maps in messaging sessions, and fails to fully consider user privacy and data protection.

Method used

Maps are generated for use in messaging applications by detecting user input and identifying objects in images, and are applied to a messaging session after initiating the process of creating the map.

Benefits of technology

The ability to use personalized stickers in messaging sessions enhances the user interaction experience while reducing the risk of unauthorized access by managing and processing personally identifiable information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119325588A_ABST
    Figure CN119325588A_ABST
Patent Text Reader

Abstract

In some implementations, an electronic device detects a first user input corresponding to a request to initiate a process to create a first map based on a first image including one or more objects, and facilitates creating the map based on the first image. The first map may then be displayed in the messaging session.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of U.S. Provisional Application No. 63 / 365,876, filed on June 5, 2022, the contents of which are incorporated herein by reference in their entirety for all purposes. Technical Field

[0003] The present invention generally relates to user interfaces associated with using a camera to create stickers for use within a messaging session. Background Art

[0004] In recent years, users' interaction with electronic devices has increased significantly. These devices can be devices such as computers, tablet computers, televisions, multimedia devices, mobile devices, etc. In some cases, users wish to use the device to create stickers for use within a messaging session. Summary of the invention

[0005] Some embodiments described in the present disclosure relate to one or more electronic devices that detect, via one or more input devices, a first user input corresponding to a request to initiate a process of creating a first sticker based on a first image including one or more objects, wherein the first sticker is used in a messaging application. Some embodiments described in the present disclosure relate to: identifying a first object among one or more objects in a first image, and generating a first sticker for use within a messaging application, and after initiating the process of creating the first sticker, applying the first sticker to a messaging session. A comprehensive description of the embodiments is provided in the drawings and detailed description, and it should be understood that the invention content provided above does not limit the scope of the present disclosure in any way.

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

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

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

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

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

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

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

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

[0014] Figure 5A Personal electronic devices according to some embodiments are illustrated.

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

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

[0017] FIG. 5E to FIG. 5H Illustrated are exemplary components and user interfaces of a personal electronic device according to some embodiments.

[0018] FIG. 5I to FIG. 5N A set of sample tactile output patterns are provided that can be used individually or in combination, as is or through one or more transformations (e.g., modulation, amplification, truncation, etc.) to generate suitable tactile feedback in a variety of scenarios and for a variety of purposes (such as those described above and those described with respect to the user interfaces and methods discussed herein).

[0019] Figures 6A to 6Z An exemplary manner of creating a sticker for use within a messaging session according to some embodiments of the present disclosure is illustrated.

[0020] Figure 7 is a flow diagram illustrating a method 700 of creating a sticker for use within a messaging session according to some embodiments. DETAILED DESCRIPTION

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

[0022] There is a need to create stickers for electronic devices used within a messaging session. Such technology provides a fun and easy way to create unique and personalized stickers.

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

[0024] The terms used in the description of various described embodiments herein are only for the purpose of describing specific embodiments, and are not intended to be limiting. As used in the description of various described embodiments and in the appended claims, the singular forms "one" and "the" are intended to also include plural forms, unless the context clearly indicates otherwise. It will also be understood that, as used herein, the term "and / or" refers to and encompasses any and all possible combinations of one or more items in the associated listed items. It will also be understood that the terms "include" and / or "comprising" when used in this specification specify the presence of 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 their grouping.

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

[0026] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described herein. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions, such as a PDA and / or a music player function. Exemplary embodiments of portable multifunction devices include, but are not limited to, the Apple Watch from Apple Inc. (Cupertino, California). Devices, iPod Equipment and Device. Other portable electronic devices, such as laptops or tablets with touch-sensitive surfaces (e.g., touch screen displays and / or touch pads) may alternatively be used. It should also be understood that in some embodiments, the device is not a portable communication device, but rather a desktop computer with a touch-sensitive surface (e.g., touch screen displays and / or touch pads).

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

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

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

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

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

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

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

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

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

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

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

[0038] The I / O subsystem 106 couples input / output peripherals on the device 100, such as a touch screen 112 and other input control devices 116, to a peripheral device interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, an intensity sensor controller 159, a tactile feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive / send electrical signals from other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, etc. In some alternative embodiments, the input controller 160 is optionally coupled to any (or none) of the following: a keyboard, an infrared port, a USB port, and a pointing device such as a mouse. One or more buttons (e.g., Figure 2 208) optionally includes an increase / decrease button for volume control of the speaker 111 and / or the microphone 113. The one or more buttons optionally include a push button (e.g., Figure 2 206).

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

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

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

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

[0043] The touch-sensitive display in some embodiments of touch screen 112 is optionally similar to the multi-touch-sensitive touchpad described in U.S. Pat. Nos. 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 No. 2002 / 0015024A1, each of which is hereby incorporated by reference in its entirety. However, touch screen 112 displays visual output from device 100, whereas a touch-sensitive touchpad does not provide visual output.

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

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

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

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

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

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

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

[0051] Device 100 optionally also includes one or more tactile output generators 167 . Figure 1A A tactile output generator coupled to a tactile feedback controller 161 in the I / O subsystem 106 is shown. The tactile output generator 167 optionally includes one or more electroacoustic devices such as a speaker or other audio component; and / or an electromechanical device for converting energy into linear motion such as a motor, solenoid, electroactive polymer, piezoelectric actuator, electrostatic actuator, or other tactile output generating component (e.g., a component for converting an electrical signal into a tactile output on the device). The contact force sensor 165 receives tactile feedback generation instructions from the tactile feedback module 133 and generates a tactile output on the device 100 that can be felt by a user of the device 100. In some embodiments, at least one tactile output generator is arranged in juxtaposition or proximity to a touch-sensitive surface (e.g., a touch-sensitive display system 112) and optionally generates a tactile output by moving the touch-sensitive surface vertically (e.g., inward / outward of the surface of the device 100) or laterally (e.g., backward and forward in the same plane as the surface of the device 100). In some embodiments, at least one tactile output generator sensor is located on the back of the device 100, opposite the touch screen display 112 located on the front of the device 100.

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

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

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

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

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

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

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

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

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

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

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

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

[0064] The application 136 may optionally include the following modules (or instruction sets) or a subset or superset thereof:

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

[0066] Telephone module 138;

[0067] Video conferencing module 139;

[0068] Email client module 140;

[0069] Instant messaging (IM) module 141;

[0070] Fitness support module 142;

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

[0072] Image management module 144;

[0073] Video player module;

[0074] Music player module;

[0075] Browser module 147;

[0076] Calendar module 148;

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

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

[0079] Search module 151;

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

[0081] Note module 153;

[0082] Map module 154; and / or

[0083] Online video module 155.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0135] Attention is now turned to embodiments of a user interface that may optionally be implemented on, for example, portable multifunction device 100 .

[0136] Figure 4A An exemplary user interface of an application menu on 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:

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

[0138] Time 404;

[0139] Bluetooth indicator 405;

[0140] Battery status indicator 406;

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

[0142] o An icon 416 of the phone module 138 labeled "Phone" which optionally includes an indicator 414 of the number of missed calls or voicemails;

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

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

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

[0146] Icons for other apps, such as:

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

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

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

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

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

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

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

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

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

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

[0157] o an icon 444 labeled "Notes" of the notes module 153; and

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

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

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

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

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

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

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

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

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

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

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

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

[0170] As used herein, the term "indicative representation" refers to an optional feature of the device 100, 300 and / or 500 ( Figure 1A , Figure 3 and FIG. 5A to FIG. 5B ) is a user-interactive graphical user interface object displayed on a display screen of a computer. For example, an image (e.g., an icon), a button, and text (e.g., a hyperlink) may each optionally constitute an affordance.

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

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

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

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

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

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

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

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

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

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

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

[0182] In some embodiments, the electronic device 500 includes one or more tactile output generators, wherein the one or more tactile output generators generate different types of tactile output sequences, as described in Table 1 below. In some embodiments, a specific type of tactile output sequence generated by one or more tactile output generators of the device corresponds to a specific tactile output mode. For example, the tactile output mode specifies the characteristics of the tactile output, such as the amplitude of the tactile output, the shape of the motion waveform of the tactile output, the frequency of the tactile output, and / or the duration of the tactile output. When a device (e.g., one or more tactile output generators that generate tactile output via a movable mass) generates a tactile output with different tactile output modes, the tactile output can produce different tactile sensations in a user holding or touching the device. Although the user's senses are based on the user's perception of the tactile output, most users will be able to recognize changes in the waveform, frequency, and amplitude of the tactile output generated by the device.

[0183] More specifically, FIG. 5I to FIG. 5K A set of sample tactile output patterns are provided that can be used, individually or in combination, as is or through one or more transformations (e.g., modulation, amplification, truncation, etc.) to form suitable tactile feedback in various scenarios for various purposes (such as those described above and those described with respect to the user interfaces and methods discussed herein). This example of a control panel for tactile output shows how a set of three waveforms and eight frequencies can be used to generate an array of tactile output patterns. In addition to the tactile output patterns shown in these figures, each of these tactile output patterns can be optionally adjusted in amplitude by changing the gain value of the tactile output pattern, as shown, for example, for Figure 5L to Figure 5N In the example, FullTap 80Hz, FullTap 200Hz, MiniTap 80Hz, MiniTap 200Hz, MicroTap 80Hz, and MicroTap 200Hz are shown as variations with gains of 1.0, 0.75, 0.5, and 0.25, respectively. Figure 5L to Figure 5N As shown, changing the gain of a tactile output pattern changes the amplitude of the pattern without changing the frequency of the pattern or changing the shape of the waveform. In some embodiments, changing the frequency of the tactile output pattern also results in a lower amplitude because some tactile output generators are limited by how much force can be applied to the movable mass, so the higher frequency movement of the mass is constrained to a lower amplitude to ensure that the acceleration required to form the waveform does not require forces outside the operating force range of the tactile output generator (e.g., the peak amplitude of FullTap at 230 Hz, 270 Hz, and 300 Hz is lower than the amplitude of FullTap at 80 Hz, 100 Hz, 125 Hz, and 200 Hz).

[0184] FIG. 5I to FIG. 5NA tactile output pattern having a particular waveform is shown. The waveform of the tactile output pattern represents a pattern of physical displacements relative to a neutral position (e.g., Xzero) versus time through which the movable mass passes to generate a tactile output having the tactile output pattern. For example, Fig.5I The first set of tactile output patterns shown (eg, the “FullTap” tactile output pattern) each have a waveform that includes oscillations having two complete cycles (eg, oscillations that start and end at a neutral position and pass through the neutral position three times). Figure 5J The second set of tactile output patterns shown (eg, “MiniTap” tactile output patterns) each have a waveform that includes oscillations having one complete cycle (eg, oscillations that begin and end at a neutral position and pass through the neutral position once). Figure 5K The third set of tactile output patterns shown (e.g., "MicroTap" tactile output patterns) each have a waveform that includes an oscillation that includes half a complete cycle (e.g., an oscillation that starts and ends at a neutral position and does not pass through the neutral position). The waveforms of the tactile output patterns also include a start buffer and an end buffer that represent the gradual acceleration and deceleration of the movable mass at the beginning and end of the tactile output. FIG. 5I to FIG. 5N The exemplary waveform shown includes Xmin and Xmax values ​​representing the maximum and minimum extents of movement of the movable mass. For larger electronic devices with larger movable masses, the minimum and maximum extents of movement of the mass may be larger or smaller. FIG. 5I to FIG. 5N The examples shown describe the movement of a mass in one dimension, but similar principles can also be applied to the movement of a movable mass in two or three dimensions.

[0185] like FIG. 5I to FIG. 5K As shown, each tactile output pattern also has a corresponding characteristic frequency, which affects the "pitch" of the tactile sensation felt by the user from the tactile output having the characteristic frequency. For continuous tactile output, the characteristic frequency represents the number of cycles (e.g., cycles per second) that the movable mass of the tactile output generator completes in a given time period. For discrete tactile output, a discrete output signal is generated (e.g., having 0.5, 1, or 2 cycles), and the characteristic frequency value specifies how fast the movable mass needs to move to generate a tactile output having the characteristic frequency. FIG. 5I to FIG. 5N As shown, for each type of tactile output (e.g., defined by a corresponding waveform, such as FullTap, MiniTap, or MicroTap), higher frequency values ​​correspond to faster movement of the movable mass and, therefore, generally speaking, to shorter tactile output completion times (e.g., including the time required to complete the number of cycles of the discrete tactile output plus the start and end buffer times). For example, a FullTap with a characteristic frequency of 80 Hz takes longer to complete than a FullTap with a characteristic frequency of 100 Hz (e.g., in Fig.5I, 35.4ms vs. 28.3ms). In addition, for a given frequency, a tactile output having more cycles in its waveform at the corresponding frequency takes longer to complete than a tactile output having fewer cycles in its waveform at the same corresponding frequency. For example, a FullTap at 150Hz takes longer to complete than a MiniTap at 150Hz (e.g., 19.4ms vs. 12.8ms), and a MiniTap at 150Hz takes longer to complete than a MicroTap at 150Hz (e.g., 12.8ms vs. 9.4ms). However, for tactile output modes with different frequencies, this rule may not apply (e.g., a tactile output with more cycles but a higher frequency may take a shorter amount of time to complete than a tactile output with fewer cycles but a lower frequency, and vice versa). For example, at 300Hz, FullTap takes the same amount of time as MiniTap (e.g., 9.9ms).

[0186] like FIG. 5I to FIG. 5K As shown, the tactile output pattern also has a characteristic amplitude, which affects the amount of energy contained in the tactile signal, or the "intensity" of the tactile sensation that the user can feel through the tactile output having the characteristic amplitude. In some embodiments, the characteristic amplitude of the tactile output pattern refers to the absolute value or normalized value representing the maximum displacement of the movable mass relative to the neutral position when generating the tactile output. In some embodiments, the characteristic amplitude of the tactile output pattern can be adjusted according to various conditions (e.g., customized based on user interface context and behavior) and / or preconfigured metrics (e.g., input-based metrics, and / or user interface-based metrics), such as by a fixed or dynamically determined gain factor (e.g., a value between 0 and 1). In some embodiments, an input-based metric (e.g., an intensity change metric or an input speed metric) measures the characteristics of the input during the input that triggers the generation of the tactile output (e.g., the rate of change of the characteristic intensity of the contact in the press input or the rate of movement of the contact on the touch-sensitive surface). In some embodiments, a user interface-based metric (e.g., a cross-border speed metric) measures a characteristic of a user interface element during a user interface change that triggers generation of a tactile output (e.g., how fast the element moves across a hidden or visible boundary in the user interface). In some embodiments, a characteristic amplitude of a tactile output pattern may be "envelope" modulated, and peaks of adjacent cycles may have different amplitudes, where one of the waveforms shown above is further modified by multiplying an envelope parameter that changes over time (e.g., from 0 to 1) to gradually adjust the amplitude of a portion of the tactile output over time when generating the tactile output.

[0187] Although for illustrative purposes FIG. 5I to FIG. 5KSpecific frequencies, amplitudes, and waveforms are shown in the sample tactile output patterns in , but tactile output patterns with other frequencies, amplitudes, and waveforms can also be used for similar purposes. For example, a waveform with between 0.5 and 4 cycles can be used. Other frequencies in the range of 60 Hz to 400 Hz can also be used. Table 1 below provides representative examples of tactile output / tactile feedback behaviors and configurations, as well as examples of their use with respect to user interfaces for managing content-based tactile output shown and described herein.

[0188]

[0189] Table 1

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

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

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

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

[0194] Not running but stored in memory (volatile and non-volatile respectively)

[0195] A suspended or dormant application that contains status information that can be used to resume execution of the application.

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

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

[0198] User interface and associated processes

[0199] Create stickers for use within a messaging session

[0200] Users interact with electronic devices in a variety of different ways. The embodiments described below provide ways for electronic devices to generate user-created stickers for use in messaging sessions, thereby enhancing user interaction with electronic devices. Enhancing interaction with devices reduces the amount of time required for users to perform operations, thereby reducing the power usage of the device and extending the battery life of battery-powered devices. It should be understood that people use devices. When a person uses a device, the person is optionally referred to as a user of the device.

[0201] Figures 6A to 6Z Illustrated are exemplary ways to generate user-created stickers for use in a messaging session according to some embodiments of the present disclosure. The embodiments in these figures are used to illustrate the process described below, including reference to Figure 7 The process described.

[0202] Fig. 6A An exemplary device 500a including a touch screen 504a is illustrated. Fig. 6A , device 500a is displaying a messaging user interface 601 that includes a messaging session that includes a representation 602 of a first message in the messaging session, a representation 604 of a second message in the messaging session, and a representation 606 of a third message in the messaging session. Messaging user interface 601 also includes a text entry field 608 toward which input for composing a message is directed, and an enter option 610 that, when selected, causes electronic device 500a to transfer the message to the messaging session.

[0203] exist Fig. 6A In FIG. 6 , device 500 a detects selection of text entry field 608 (eg, via contact 603 ). In response, Figure 6B, while remaining in the messaging user interface 601, the device 500a displays a soft keyboard 612 to facilitate composing a message for entry into the messaging session (e.g., via the text entry field 608). The device 500a also displays selectable options 614-620, which can be selected to enter a corresponding sub-application of the messaging application, via which the user can select content to be entered into the messaging session (e.g., via the text entry field 608). Selectable option 614 can be selected to display an application store user interface in or on the messaging user interface 601 for purchasing and / or accessing additional applications. Selectable option 616 can be selected to display a user interface of a music application for listening to music in or on the messaging user interface 601. Selectable option 618 can be selected to display a user interface of an application for accessing emoticons in or on the messaging user interface 601. Selectable option 620 can be selected to display a user interface for a sticker application for generating and accessing stickers for use within a messaging session in or on messaging user interface 601. The selectable options are scrollable so that in response to device 500a detecting a swipe in the left or right direction, device 500a will display additional applications for selection.

[0204] exist Figure 6B , device 500a detects a left swipe across selectable options 614-620 (e.g., via contact 603). In response, Figure 6C , device 500a displays an updated display of selectable options 616-622. Selectable option 622 can be selected to display a user interface of a photo application for accessing stored photos in or on messaging user interface 601.

[0205] exist Figure 6C , device 500a detects selection of selectable option 620 (eg, via contact 603). In response, Fig.6D , device 500a displays a user interface for a sticker application within messaging user interface 601 (e.g., below selectable options 616-622), the user interface including a first sticker 628 and a second sticker 630, replacing soft keyboard 612. Device 500a optionally visually distinguishes selectable option 620 (e.g., darkens the outline around it) to indicate that selectable option 620 is currently selected. Device 500a also displays: a camera selectable option 624, which can be selected to display a camera user interface for capturing an image for creating a sticker; a photo selectable option 626, which can be selected to access a stored photo for creating a sticker; and a first sticker 629 and a second sticker 630. Device 500a also displays a search text entry field for searching for existing stickers.

[0206] exist Fig.6D , device 500a detects selection of photo selectable option 626 (eg, via contact 603). In response, Fig. 6E , device 500a displays a camera user interface 632 for capturing images for use in creating a sticker. The camera user interface 632 includes: a representation of one or more images captured in real time by the device 500a, wherein the currently displayed image includes a representation of a first object 636 and a representation of a second object 634 within the photo / image area; and a selectable option 638 that can be selected to capture an image for use in creating a sticker. The device 500a visually distinguishes portions of the image being captured and / or objects that are to be identified and captured for use in creating a sticker. The visual distinction optionally occurs in real time and includes a grid overlay (or other overlay or highlighting or other visual distinction) of the portion and / or objects to be identified. In some embodiments, such as Fig. 6E As shown, device 500a automatically (e.g., without user input) identifies parts or objects in a captured image for use in map creation. Fig. 6E , the grid overlay 639 identifies a representation of the first object 636 as being captured to create the map.

[0207] exist Fig. 6E , device 500a detects selection of selectable option 638 (e.g., via contact 603). In response, Fig. 6F , device 500a captures Fig. 6E , and displays an editing user interface 640 for editing an object captured via the camera user interface 632. The editing user interface 640 includes a first map representation 641 of a first object 636 (eg, the device 500a Fig. 6E Device recognition in the object used for map creation is converted into Fig. 6F 641 in the image, which can be edited via selectable options 642-646. Selectable option 642 can be selected to initiate the process of editing the color of the first image representation 641. Selectable option 644 can be selected to initiate the process of modifying the first image representation 641. Selectable option 646 can be selected to initiate the process of discarding the image from Fig. 6E The process of taking a captured image and reshooting the image. A selectable option 648 may be selected to end editing and accept the sticker 641 in its current state and add the corresponding sticker to the messaging session and / or sticker application.

[0208] exist Fig. 6F , device 500a detects selection of selectable option 648 (e.g., via contact 603). In response, Figure 6G, device 500a returns to messaging user interface 601 and updates the sticker application user interface to include a third sticker 650 corresponding to first sticker representation 641 of first object 636 for use within the messaging session.

[0209] exist Figure 6G , device 500a detects selection of third tile 650 (eg, via contact 603). In response, Figure 6H , device 500a expands text entry field 608 to include third sticker 650 (eg, without adding sticker 650 to the messaging session).

[0210] exist Figure 6H In , device 500a detects selection of second tile 628 (eg, via contact 603). In response, Fig.6I , the device adds the second sticker 628 to the third sticker 650 at the suggested placement within the text entry field 608 (e.g., without adding the sticker to the messaging session). It should be noted that the device 500a optionally detects user placement of stickers within the text entry field 608, and / or enables repositioning of stickers prior to entry into the messaging session.

[0211] exist Fig.6I In , device 500a detects selection of enter option 610 (eg, via contact 603). In response, Figure 6J , the device 500a updates the messaging user interface 601 to include a representation 652 (eg, corresponding to the composite tile) of a fourth message in the messaging session that corresponds to the entry in the text entry field 608.

[0212] exist Figure 6J , device 500a detects selection of camera selectable option 624 (eg, via contact 603). In response, Figure 6K , device 500a displays a camera user interface 632, which is similar to Fig. 6E The camera user interface.

[0213] In some embodiments, the user provides one or more inputs to specify objects to be captured for map creation. For example, the one or more inputs may optionally include tapping on a portion of an image captured by a camera to specify an object (to be captured for map creation) in the selected portion. Figure 6K , device 500a detects movement of grid overlay 639 around a representation of second object 634 (e.g., in response to contact 603 tapping on a portion of an image captured by the camera corresponding to second object 634), indicating that a user of device 500a wants to capture second object 634 to create a sticker. In response, Figure 6L, device 500a places a grid overlay 639 around the representation of the second object 634 .

[0214] exist Figure 6L , device 500a detects selection of selectable option 638 (e.g., via contact 603). In response, Figure 6M , device 500a captures Figure 6L , and displays an editing user interface 640, which is similar to Fig. 6F The editing user interface 640 includes a second map representation 654 of the second object 634 (eg, the device 500a Figure 6L Device recognition in the object used for map creation is converted into Figure 6M 654), the first sticker representation being editable via selectable options 642-646.

[0215] exist Figure 6M , device 500a detects selection of selectable option 644 (e.g., via contact 603). In response, Figure 6N , device 500a enables a user of device 500a to modify second tile representation 654.

[0216] exist Figure 6N In the method 700, device 500a detects a modification to second tile representation 654 (e.g., via contact 603, and / or via one or more other inputs for modifying tile 654, as described with reference to method 700). In response, Fig.6O , device 500a updates editing user interface 640 to include a modified version of second sticker representation 654 (eg, modifies a color of second sticker representation 654, modifies a shape of second sticker representation 654, and / or modifies a size of second sticker representation 654).

[0217] exist Fig.6O , device 500a detects selection of selectable option 648 (e.g., via contact 603). In response, Figure 6P , device 500a returns to messaging user interface 601 and updates the sticker application to include a fourth sticker 656 corresponding to second sticker representation 654 of second object 634 for use within the messaging session.

[0218] exist Figure 6P , device 500a detects selection of fourth tile 656 and movement of the fourth tile from the tile application directly to a desired location in the messaging application (e.g., such as via a drag and drop input from contact 603 on tile 656). In response, Figure 6Q, device 500a updates messaging user interface 601 and the messaging session to include representation 658 of the fifth message in the desired placement in the messaging session (eg, via contact 603).

[0219] exist Figure 6Q , device 500a detects selection of photo selectable option 626 (eg, via contact 603). In response, Figure 6R In the device 500a, access to stored photos is facilitated from within the sticker application. Figure 6R , device 500a displays a first photo 660 and a second photo 662 that are stored on and / or accessible on device 500a and that can be selected for sticker creation based on the photos.

[0220] exist Figure 6R , device 500a detects selection of first photo 660 (eg, via contact 603). In response, Figure 6S , device 500a displays an editing user interface 640, such as reference Fig. 6E The device 500a converts the object in the photo 660 for use in Figure 6S ). The editing user interface 640 includes a third sticker representation 664 of the first photo 660 that can be edited via the selectable options 642-646.

[0221] exist Figure 6S , device 500a detects selection of selectable option 648 (e.g., via contact 603). In response, Figure 6T , device 500a returns to messaging user interface 601 and updates the sticker application to include a fifth sticker 668 corresponding to third sticker representation 664 of first photo 660 for use within the messaging session.

[0222] exist Figure 6T , device 500a detects (e.g., via contact 603) selection of fifth tile 668 and movement of the fifth tile to representation 606 of a third message in the messaging session (e.g., such as via a drag and drop input from contact 603 on tile 668). In response, Figure 6U , device 500a updates messaging user interface 601 to include fifth tile 668 placed at a desired location over representation 606 of the third message in the messaging conversation (eg, as indicated via contact 603).

[0223] exist Figure 6U In , device 500a detects selection of selectable option 622 (e.g., via contact 603). In response, Figure 6V , device 500a displays a user interface of a photo application within messaging user interface 601 (e.g., outside a sticker creation application) and displays a representation of a first image 670 and a representation of a second image 672 that can be selected for use within a messaging session. The first image and the second image are optionally selected from the user interface associated with the photo application. Figure 6R The sticker creation in the application is populated with the same image and / or photo repository. The device 500a visually distinguishes the selectable option 622 (eg, darkens the outline around it) to indicate that the selectable option 622 is currently selected.

[0224] exist Figure 6V , device 500a detects selection of a representation of first image 670 (eg, via contact 603). In response, Figure 6W , device 500a updates messaging user interface 601 to expand text entry field 608 and include first image 670 in text entry field 608.

[0225] exist Figure 6W , device 500a detects selection of selectable option 620 (eg, via contact 603). In response, Figure 6X , while continuing to display the first image 670 in the text entry field 608 and continuing to display the messaging user interface 601, the device 500a displays the user interface of the sticker application and displays the fourth sticker 656 and the fifth sticker 668.

[0226] exist Figure 6X , device 500a detects selection of fifth tile 668 (eg, via contact 603). In response, Figure 6Y , the device 500a updates the messaging user interface 601 to include the fifth tile 668 within the text entry field 608 at a suggested placement (or user-defined placement) relative to the first image 670 (e.g., stacked on top of the first image 670 and / or added to the first image).

[0227] exist Figure 6Y In , device 500a detects selection of enter option 610 (eg, via contact 603). In response, Figure 6Z , device 500a updates messaging user interface 601 to include in the messaging session a representation 690 of a sixth message corresponding to the entry in text entry field 608 (eg, the combined image and sticker set created by the user input).

[0228] Figure 7 is an example according to some embodiments (such as in Figures 6A to 6ZFlowchart of method 700 of an exemplary manner of generating a user-created sticker for use in a messaging session. Method 700 is optionally performed on an electronic device (such as device 100, device 300, or device 500), as described above with reference to Figure 1A to Figure 1B , Figures 2 to 3 , FIG. 4A to FIG. 4B and FIG. 5A to FIG. 5H In some embodiments, method 700 is performed at or by a vehicle (e.g., at an infotainment system of a vehicle having or communicating with one or more display generation components and / or input devices). Some operations in method 700 may be optionally combined, and / or the order of some operations may be optionally changed.

[0229] In some embodiments, method 700 is performed on an electronic device (such as an Figure 3 The display 340 and the sensor 350 and Fig. 6A The display generation component is executed at the electronic device 500 of the embodiment of the present invention. For example, a mobile device (e.g., a tablet, a smart phone, a media player, or a wearable device) including wireless communication circuitry optionally communicates with one or more of a mouse (e.g., external), a trackpad (optionally integrated or external), a touchpad (optionally integrated or external), a remote control device (e.g., external), another mobile device (e.g., separate from the electronic device), a handheld device (e.g., external), and / or a controller (e.g., external), etc. In some embodiments, the display generation component is a display (optionally a touch screen display) integrated with the electronic device, an external display such as a monitor, a projector, a television, or a hardware component (optionally integrated or external) for projecting a user interface or making a user interface visible to one or more users, etc.

[0230] In some embodiments, while displaying a first user interface corresponding to a messaging session in a messaging application via a display generation component, the electronic device detects (702a) via one or more input devices a first user input corresponding to a request to initiate a process of creating a first sticker based on a first image including one or more objects, wherein the first sticker is for use in the messaging application, such as Fig.6D603 in contact. In some embodiments, the electronic device includes a messaging application, and the first user interface is a messaging session within the messaging application. In some embodiments, the electronic device is able to initiate a process of creating and storing stickers based on objects contained in an image for use within a messaging application while remaining in the messaging application (e.g., while continuing to display at least a portion of the messaging session (such as a representation of one or more messages included in the messaging session, and / or an input text / content bar and a corresponding button that can be selected to send the content of the input text / content bar to the messaging session)). For example, the electronic device optionally detects a first user input for creating a first sticker (e.g., of a dog) based on a first image including one or more objects (e.g., a dog and a table). In some embodiments, the first user input is a selection of a selectable option displayed in the first user interface, which selection causes a sticker creation user interface to be displayed by which stickers are created from one or more images, as will be described in more detail below. In some embodiments, stickers (including the first sticker) are detailed illustrations of characters and / or objects as a mixture of cartoons and / or emoticons. In some embodiments, a sticker is a user interface element that can be placed in a messaging session to decorate the session. For example, a sticker is optionally placed in an empty space in a messaging session or on top of a portion of a message in a messaging session. Additionally, a sticker is optionally adjusted before decorating the messaging session, such as by adjusting an orientation / alignment relative to the user interface, resizing, or resizing a portion of the sticker.

[0231] In some embodiments, in response to detecting the first user input, the electronic device, such as via Fig. 6E Contact 603 and Fig. 6F Contact 603 in initiates (702b) the process of creating a first sticker (e.g., while remaining in the messaging application (e.g., while continuing to display at least a portion of the messaging session (such as a representation of one or more messages included in the messaging session, and / or an input text / content field and a corresponding button that can be selected to send the contents of the input text / content field to the messaging session))).

[0232] In some embodiments, an electronic device such as via Fig. 6EThe electronic device may further include an overlay 639 to identify (702c) a first object among one or more objects in the first image. For example, the electronic device may optionally parse the first image to identify one or more objects in the first image. When identifying one or more objects, the electronic device may optionally identify a particular object in the first image and may optionally visually distinguish it from other portions of the image, such as by surrounding the object with an identification indicator. The identification indicator may optionally be a shape such as a circle, square, rectangle, etc. In some embodiments, the electronic device receives user input (e.g., a tap on a particular object) to identify the object.

[0233] In some embodiments, the electronic device generates (702d) a first sticker for use within a messaging application, wherein the first sticker is a representation of a first object and is based on a first portion of the image that includes the first object and is not based on a second portion of the image that does not include the first object, such as Figure 6G The map 650 in FIG. 6 includes a representation of the first object 636 but does not include Figure 6K The first decal may optionally include a representation of a second object 634 of the image. For example, the first decal may optionally be a representation of the first object similar to a hand-held decal. The first decal may optionally include an outline surrounding the first decal and have a cartoon-like appearance. The first decal may optionally include the first object in the first portion, but may not include one or more other objects present in the second portion of the image and / or may not include a portion of the image that is outside of the first object and does not include the object (e.g., a portion of the image that includes blank space).

[0234] In some embodiments, after initiating the process of creating the first sticker, the electronic device displays (702e) the first sticker in a first user interface, such as Figure 6G In some embodiments, the first sticker is displayed within the first user interface so that the user of the electronic device can view and / or manipulate the first sticker. In some embodiments, the first sticker is displayed in a sticker viewing and / or browsing user interface (e.g., included in the first user interface), from which stickers (including the first sticker) that have been created by the user can be browsed and / or selected for use in the messaging application.

[0235] In some embodiments, while displaying the first sticker, the electronic device detects (702f) via one or more input devices a second user input corresponding to a request to place the first sticker in the messaging session, such as Figure 6G603. In some embodiments, the request includes user input directed to the first tile, such as a tap input, a click input (e.g., via a mouse or trackpad in communication with the electronic device), a swipe or drag input, and / or a hover input (e.g., where a user's hand is maintained over a portion of the electronic device (such as the display generating component) and / or a pinch gesture is provided (e.g., where an index finger and thumb of the user's hand make contact) at a location of the display generating component associated with the first tile).

[0236] In some embodiments, in response to detecting the second user input, the electronic device displays (702e) the first sticker in the messaging session, such as Figure 6H In some embodiments, the first sticker is displayed as a standalone message within the messaging session. Additionally or alternatively, the first sticker is optionally displayed within the messaging session in association with another message in the messaging session and / or as a supplement to (e.g., covering a portion of) the other message. Generating user-created stickers in the manner described above reduces the amount of input required to create a unique and personalized sticker to utilize in a messaging session.

[0237] In some embodiments, the process of creating the first sticker includes stopping display of a first user interface corresponding to the messaging session, such as Fig. 6E In some embodiments, stopping the display of the first user interface includes: hiding the display of the first user interface.

[0238] In some embodiments, the electronic device displays, via a display generation component, a camera user interface configured to capture a first image, such as Fig. 6E 632 in the camera user interface. In some embodiments, the camera user interface includes: a portion that includes a live image captured by one or more cameras of the electronic device; and a selectable option for capturing and / or storing a live image (e.g., of an area surrounding the electronic device). In some embodiments, the camera user interface includes a second portion that includes a stored image previously captured by the electronic device (or the camera user interface includes a selectable option for displaying a stored image previously captured by the electronic device) for selection as the first image. In some embodiments, the camera user interface facilitates capturing the first image from an external repository accessible to the electronic device. Capturing images in the manner described above reduces the number of inputs required to create a unique and personalized sticker to utilize in a messaging session.

[0239] In some embodiments, the first object includes a corresponding characteristic having a first value in the first image (e.g., the size of a portion of the first object (such as a head of a person or animal), the color of a portion of the first object (such as a head of a person or animal), or a shadow of a portion of the first object (such as a silhouette of a person or animal)), and includes a corresponding characteristic having a second value different from the first value in the first map, such as Figure 6L The color and Figure 6P 656 in the first image. For example, in some embodiments, the first sticker is a representation of a person, where the person is shown with a larger head than in the first image, giving the first sticker a more cartoony appearance. This change of the corresponding characteristics is optionally made by a user of the electronic device during creation of the sticker, or optionally performed automatically by the electronic device after the first image has been captured, without user input for performing such modification of the corresponding characteristics. Generating a sticker having a different visual appearance than the image from which the user-created sticker was created reduces the amount of input required to create a unique sticker to utilize in a messaging session.

[0240] In some embodiments, while displaying the camera user interface, the electronic device receives, via one or more input devices, a third user input that initiates a process of capturing a first image via one or more cameras of the electronic device, such as Fig.6D Contact 603 and Fig. 6E 603. In some embodiments, the first image is captured in real time via one or more cameras of the electronic device and includes one or more objects around the electronic device, including the first object. In some embodiments, the third user input includes a selection of a selectable option in the camera user interface for capturing the first image.

[0241] In some embodiments, in response to receiving a third user input, the electronic device captures a first image via one or more cameras of the electronic device, and after capturing the first image, identifies a first object in the first image and generates a first map from the first image, such as Fig. 6E Contact 603 and Fig. 6F In some embodiments, the electronic device identifies the first object and generates a first sticker as described herein, such that the first sticker represents an object in an area around the electronic device. Generating a user-created sticker based on a captured real-time image of an object around the electronic device reduces the amount of input required to create a unique and personalized sticker to utilize in a messaging session.

[0242] In some embodiments, the electronic device initiates a process (e.g., 650) of creating a first map. Fig.6D and 6EIn some embodiments, the electronic device receives, via one or more input devices, a third user input corresponding to a request to select a first image from an image repository accessible via the electronic device, such as via Figure 6Q In contact 603. In some embodiments, the first image is selected from an image repository stored on the electronic device. Alternatively, in some embodiments, the first image is selected from an external repository accessible to the electronic device. In some embodiments, the first image is captured by one or more cameras of the electronic device, but is captured before the first user input is detected. In some embodiments, the first image is not captured by one or more cameras of the electronic device (e.g., the first image is sent to the electronic device by another user, or the first image is downloaded to the electronic device from a public image repository on the Internet). Generating user-created stickers based on images in an image repository increases the available images and reduces the number of inputs required to create unique and personalized stickers to utilize in a messaging session.

[0243] In some embodiments, the electronic device automatically identifies a first object among one or more objects in the first image, such as via Fig. 6E In some embodiments, the electronic device identifies the first object based on an algorithm and / or a user's past history. For example, in some embodiments, the electronic device utilizes one or more image recognition algorithms to identify the first object in the image as an object to be converted into a sticker based on one or more of the following: the first object is in a central area of ​​the captured image, the first object corresponds to a person, the first object corresponds to a pet, and / or the first object is an object that is more than a threshold distance (e.g., 0.1 m, 0.3 m, 0.5 m, 1 m, 3 m, 5 m, 10 m, or 20 m) from other objects in the first image. Automatically identifying the first object reduces the amount of user input required to identify the first object.

[0244] In some embodiments, when identifying a first object among one or more objects in a first image, a first portion of the image corresponding to the first object is visually distinguished from a second portion of the image that does not correspond to the first object, such as Fig. 6EAs shown, because overlay 639 is visually distinguished from the rest of the image. In some embodiments, the first part is visually distinguished in real time. In some embodiments, the first part is visually distinguished by displaying a grid overlay (or other overlays or highlights) on the first part but not on the second part. In some embodiments, the grid overlay is circular, square, etc. In some embodiments, 20%, 40%, 60% or 80% of the amount of the grid overlay is transparent. In some embodiments, the grid overlay is patterned and is checkered, striped, etc. In some embodiments, the first part is visually distinguished by highlighting the first part (and not highlighting the second part). In some embodiments, the size and / or placement of the highlight and / or overlay is based on the size and / or position of the first object in the first image. Distinguishing the first part of the image that will be mapped provides real-time instructions and feedback to the user of what object will be the basis of the map, and reduces the use error of the electronic device for map creation.

[0245] In some embodiments, identifying a first object of one or more objects in the first image is based on a third user input corresponding to the identification of the first object in the first image, such as via Figure 6K 603 in the contact to the overlay 639 selection. In some embodiments, the third user input corresponds to the user's manual selection of the first object and / or the first part of the image including the first object. In some embodiments, the third user input is a tap input, a click input (e.g., via a mouse or trackpad communicating with an electronic device), a swipe or drag input, and / or a hover input pointing to the first part of the image. In some embodiments, the electronic device receives one or more subsequent user inputs that adjust the recognition of the first object in the first image. For example, the subsequent user input optionally corresponds to the widening of the identification area, the reduction of the identification area, and / or the movement of the identification area within the first image, so that the final object to be identified for map creation is based on the adjusted identification area. In some embodiments, the recognition of the first object is in the first part of the first image, and the first part is visually separated from the second part of the first image in one or more ways described with reference to method 700. Recognizing the first object based on user input provides the user with control over the selection of the first object, and reduces the user input required to generate the desired map.

[0246] In some embodiments, the first map is displayed with an outline that does not include the first object in the first image, such as Fig. 6F641 in the first sticker representation. In some embodiments, the outline is a darkened edge and / or a thicker border around the first object to simulate a hand-held sticker. In some embodiments, the electronic device automatically determines the placement, size, and / or shape of the outline (e.g., based on the first object, such as based on the size and / or shape of the first object); in some embodiments, the placement, size, and / or shape of the outline is determined based on user input that specifies the placement, size, and / or shape of the outline. Displaying the first sticker as having an outline clearly communicates that the first sticker is a sticker rather than an image, and reduces usage errors of the first sticker.

[0247] In some embodiments, the second user input corresponds to a request to place the first sticker into the messaging session (e.g., via 608) by placing the first sticker (e.g., 650) on the corresponding image and placing the corresponding image (e.g., 670) including the first sticker into the messaging session, such as Figure 6X 603 in contact. In some embodiments, the electronic device receives one or more user inputs to generate a composite element including one or more stickers and / or images, and one or more inputs to send the composite element to a messaging session. For example, a first sticker or composite element optionally includes one or more stickers stacked on top of each other, one or more stickers stacked on top of an image, or both. In some embodiments, in addition to the individual one or more stickers and / or images that are part of a layered sticker, the electronic device also stores the layered sticker in a sticker repository for later use. In some embodiments, one or more stickers peel off to simulate the peeling of a real sticker. Generating a user-created layered sticker in the manner described above reduces the number of inputs required to create a unique and personalized sticker to utilize in a messaging session.

[0248] In some embodiments, after initiating the process of creating the first sticker, the electronic device displays a first user interface via a display generation component, the first user interface including a first set of selectable options (e.g., 616, 618, 620, and / or 622), the first set of selectable options including a first selectable option (e.g., 620), which can be selected to display one or more stickers (including the first sticker) for use in a messaging application, such as in Figure 6C In some embodiments, the first set of selectable options is displayed within the messaging application user interface or as a separate tab within the messaging application user interface.

[0249] In some embodiments, the electronic device displays a second selectable option that can be selected to display a second user interface for performing one or more operations other than sticker operations on the messaging application, such as Figure 6C 616, 618, and / or 622 in the second selectable option. In some embodiments, selection of the second selectable option results in display of a second user interface that does not include one or more stickers. For example, selection of the second selectable option results in display of an app store user interface, a photo store user interface, a stored sticker pack user interface, a Memoji pack user interface, etc.

[0250] In some embodiments, while displaying the first selectable option, the electronic device receives a third user input corresponding to a selection of the first selectable option via one or more input devices, such as Figure 6C 603. In some embodiments, the third user input includes a tap input directed to the first selectable option, a click input (e.g., via a mouse or trackpad in communication with the electronic device), a swipe or drag input, and / or a hover input.

[0251] In some embodiments, in response to detecting the third user input, the electronic device displays a display including the first map (such as Figure 6G In some embodiments, the third user interface includes one or more stickers created by a user of the electronic device. In some embodiments, the third user interface is scrollable to access / view one or more stickers within the third user interface. Providing easy access to stickers previously created by a user in the above manner reduces the number of inputs required to access a desired sticker for use within a messaging session.

[0252] In some embodiments, after initiating the process of creating the first sticker, the electronic device detects, via one or more input devices, a third user input corresponding to a request to change the visual appearance of the first sticker, such as Figure 6M Contact 603 and Figure 6N 603 in contact. In some embodiments, the first decal is displayed within an editing user interface that is capable of receiving one or more user inputs / requests to change the appearance of the first decal. For example, the request optionally includes a change to one or more portions of the first decal. In some embodiments, the request includes a first change to a first portion of the first decal and a second change to a second portion of the first decal. The first change and the second change are optionally the same or different.

[0253] In some embodiments, in response to detecting the third user input, the electronic device changes the visual appearance of the first map according to the third user input, such as Fig.6O In some embodiments, the modified visual appearance of the first sticker is displayed within the editing user interface, and the resulting sticker created has an appearance that is modified based on the third user input. Changing the appearance of a user-created sticker provides increased flexibility in creating unique and personalized stickers to utilize in messaging sessions.

[0254] In some embodiments, the request to change the visual appearance of the first decal includes a request to change one or more colors of the first decal by changing the color of the cake (e.g., 654), such as Fig.6O In some embodiments, the request changes a first color of a first portion of a first sticker, a second color of a second portion of the first sticker, or both. The first color and the second color are optionally the same or different. In some embodiments, the request changes an additional portion of the first sticker. Changing the color of a user-created sticker provides increased flexibility in creating unique and personalized stickers to utilize in a messaging session.

[0255] In some embodiments, the request to change the appearance of the first decal includes a request to change a first portion of the first decal without changing a second portion of the first decal by enlarging the cake (e.g., 654), such as Fig.6O For example, the request optionally changes the head of the animal (or other object) of the first sticker without changing the body of the animal (e.g., making the head larger without making the body larger, or making the body smaller without making the head larger). Changing the size of a user-created sticker provides increased flexibility in creating unique and personalized stickers to utilize in a messaging session.

[0256] In some embodiments, the process of creating the first sticker is performed within a first application that is different from the messaging application, such as creating a sticker in a first application that is different from the messaging application. Fig.6D In some embodiments, creation of the sticker occurs within the messaging user interface. In alternative embodiments, creation of the sticker occurs in a user interface separate from the messaging user interface. For example, in response to user input from a user (e.g., selection of an icon on the home screen of an electronic device corresponding to a sticker creation application, such as a reference Figure 4A The invention also provides a method of creating a sticker in a user-created manner, wherein the sticker creation application is launched separately from the messaging application (the home screen described above), and the sticker is created in the user interface of the application (rather than from the user interface of the messaging application). Allowing user-created stickers to be created in a variety of ways allows for efficient and easy sticker creation, and reduces the number of inputs required to create unique and personalized stickers to utilize in a messaging session.

[0257] In some embodiments, the process of creating the first sticker is performed within a messaging application, such as Figure 6G , as illustrated by the first sticker 650 in . In some embodiments, creation of the sticker occurs within a sticker application that is a sub-application of the messaging application (e.g., launched from the messaging application and / or displayed within the messaging application). In some embodiments, the electronic device redirects the user to the sticker application upon receiving user input requesting redirection to the sticker application (e.g., directed to the sticker sub-application). Allowing user-created stickers to be created in a variety of ways allows for efficient and easy sticker creation, and reduces the number of inputs required to create unique and personalized stickers to utilize in a messaging session.

[0258] In some embodiments, the second user input corresponds to a request to place the first sticker (e.g., 628) in the messaging session by placing the first sticker (e.g., 628) on the second sticker (e.g., 650) and placing the second sticker (e.g., 650) including the first sticker (e.g., 628) into the messaging session, such as Fig.6I As shown. In some embodiments, the electronic device receives one or more user inputs to generate a layered map, which includes one or more maps stacked on top of each other. For example, the layered map optionally includes one or more maps (including the first map) stacked on top of the second map and / or on top of each other. In some embodiments, the layered map is generated in a message / content input field for a messaging session. In some embodiments, the layered map is generated in a portion of the user interface in which the map is displayed and / or created, and then placed in the message / content input field for the messaging session. In some embodiments, the layered map only includes user-created maps generated based on user-provided images as described herein, only includes system / default maps that are not generated based on user-provided images as described herein, or includes a mixture of the two. Generating user-created layered maps in the above manner reduces the number of inputs required to create unique and personalized maps to utilize in a messaging session.

[0259] In some embodiments, the second user input corresponds to a request to place the first sticker in the messaging session by placing the first sticker at a user-defined location within the messaging session, and displaying the first sticker in the messaging session includes: displaying the first sticker at the user-defined location in the messaging session, such as in response to Figure 6P The movement of the contact 603 in the Figure 6Q658 in the representation. In some embodiments, the request includes a user input pointing to the first sticker, such as a drag input that starts at the current position of the first sticker and ends at a desired, user-defined position within the messaging session. In some embodiments, the user-defined position is not the last and / or most recent position in the messaging session (e.g., a position in the messaging session that corresponds to past messaging activities in the messaging session). In some embodiments, the user-defined position corresponds to the messaging activities of the user of the electronic device. In some embodiments, the user-defined position corresponds to the messaging activities of users other than the user of the electronic device. In some embodiments, the user-defined position is within the message / content input field for the messaging session. In some embodiments, the user-defined position is within the messaging session, outside the message / content input field for the messaging session. Providing the option of placing a sticker at a user-defined position within a messaging session reduces the number of inputs required to personalize the messaging session.

[0260] In some embodiments, the user-defined position corresponds to an existing first message in the messaging session (e.g., corresponding to Figure 6T 606 in the message), such as via Figure 6T 603. In some embodiments, the request includes user input directed to the first sticker, such as a drag input that begins at the current location of the first sticker and ends at a first message within the messaging session, where the first message was previously sent to the messaging session (e.g., by a user of the electronic device or a user of another electronic device). Providing the option to place a sticker over an existing message within the messaging session reduces the number of inputs required to personalize the messaging session.

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

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

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

[0264] The present disclosure recognizes that the use of such personal information data in the present technology can be used to benefit users. For example, personal information data can be used to identify sources, such as images, for sticker creation. Therefore, the use of such personal information data enables users to identify stickers, find stickers, and facilitate the creation of stickers. In addition, the present disclosure also anticipates other uses of personal information data that benefit users. For example, health and fitness data can be used according to the user's preferences to provide insights into their overall health, or can be used as positive feedback to individuals who use technology to pursue health goals.

[0265] The present disclosure envisions that entities responsible for collecting, analyzing, disclosing, transmitting, storing or otherwise using such personal information data will comply with established privacy policies and / or privacy practices. Specifically, such entities will be expected to implement and consistently apply privacy practices that are generally considered to meet or exceed the requirements of the industry or government that maintain user privacy. Such information about the use of personal data should be highlighted and easily accessible to users, and should be updated as the collection and / or use of data changes. The user's personal information should be collected only for legal use. In addition, such collection / sharing should only occur after receiving user consent or other legal basis specified in applicable law. In addition, such entities should consider taking any necessary steps to protect and safeguard access to such personal information data and ensure that other entities with access to personal information data comply with the privacy policies and procedures of other entities. In addition, such entities may subject themselves to third-party assessments to demonstrate that they comply with widely accepted privacy policies and privacy practices. In addition, policies and practices should be adjusted for specific types of personal information data collected and / or accessed, and applied to applicable laws and standards, including considerations that are exclusive to jurisdictions that can be used to impose higher standards. For example, in the United States, collection or access to certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); while health data in other countries may be subject to other regulations and policies and should be handled accordingly.

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

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

[0268] Thus, while the present disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, the present disclosure also contemplates that various embodiments may be implemented without requiring access to such personal information data. That is, various embodiments of the present technology will not fail to function properly due to the lack of all or a portion of such personal information data. For example, location data and notifications may be delivered to a user based on aggregated non-personal information data or an absolute minimum amount of personal information.

[0269] It is well known that the use of personally identifiable information should be subject to privacy policies and practices that are generally recognized as meeting or exceeding industry or government requirements for maintaining user privacy. Specifically, personally identifiable information data should be managed and processed to minimize the risk of unintentional or unauthorized access or use, and the nature of the authorized use should be clearly stated to users.

[0270] For the purpose of explanation, the foregoing description is described by reference to specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or to limit the invention to the disclosed precise form. According to the above teachings, many modifications and variations are possible. The embodiments are selected and described in order to best illustrate the principles of the invention and its practical application, so that other persons skilled in the art can best use the invention and the various described embodiments with various modifications suitable for the specific purposes envisioned.

Claims

1. A method, comprising: At an electronic device in communication with a display generating component and one or more input devices: while displaying, via the display generation component, a first user interface corresponding to a messaging session in a messaging application, detecting, via the one or more input devices, a first user input corresponding to a request to initiate a process of creating a first tile based on a first image including one or more objects, wherein the first tile is for use in the messaging application; In response to detecting the first user input, initiating the process of creating the first sticker, the process comprising: identifying a first object among the one or more objects in the first image; and generating the first sticker for use within the messaging application, wherein the first sticker is a representation of the first object and is based on a first portion of the image that includes the first object and is not based on a second portion of the image that does not include the first object; and After initiating the process of creating the first sticker, displaying the first sticker in the first user interface; While displaying the first sticker, detecting, via the one or more input devices, a second user input corresponding to a request to place the first sticker in the messaging session; and In response to detecting the second user input, the first tile is displayed in the messaging session.

2. The method of claim 1, wherein the process of creating the first map comprises: ceasing display of the first user interface corresponding to the messaging session; as well as A camera user interface configured to capture the first image is displayed via the display generation component. 3 . The method according to claim 1 , wherein the first object comprises a corresponding property having a first value in the first image and comprises the corresponding property having a second value different from the first value in the first map.

4. The method according to claim 2, further comprising: receiving, while displaying the camera user interface, via one or more input devices, a third user input initiating a process of capturing the first image via one or more cameras of the electronic device; as well as In response to receiving the third user input, the first image is captured via the one or more cameras of the electronic device, and after capturing the first image, the first object in the first image is identified and the first map is generated from the first image.

5. The method according to any one of claims 1 or 3, wherein the process of creating the first map comprises: A third user input is received via one or more input devices corresponding to a request to select the first image from an image repository accessible via the electronic device. 6 . The method of claim 1 , wherein identifying the first object of the one or more objects in the first image is performed automatically. 7 . The method of claim 6 , wherein in identifying the first object of the one or more objects in the first image, a first portion of the image corresponding to the first object is visually distinguished from a second portion of the image not corresponding to the first object.

8. The method of any one of claims 1 to 5, wherein identifying the first object of the one or more objects in the first image is based on a third user input corresponding to the identification of the first object in the first image.

9. The method according to any one of claims 1 to 8, wherein the first map is displayed with an outline that does not include a periphery of the first object in the first image.

10. The method of any one of claims 1 to 9, wherein the second user input corresponds to a request to place the first sticker in the messaging session by placing the first sticker on a corresponding image and placing the corresponding image including the first sticker into the messaging session.

11. The method according to any one of claims 1 to 10, further comprising: after initiating the process of creating the first tile, displaying, via the display generation component, the first user interface including a first set of selectable options, the first set of selectable options including a first selectable option and a second selectable option, the first selectable option being selectable to display one or more tiles including the first tile for use in the messaging application, the second selectable option being selectable to display a second user interface for performing one or more operations other than tile operations with respect to the messaging application; while displaying the first user interface, detecting, via the one or more input devices, a third user input corresponding to a selection of the first selectable option; as well as In response to detecting the third user input, a third user interface including the first tile is displayed via the display generation component.

12. The method according to any one of claims 1 to 11, further comprising: After initiating the process of creating the first tile, detecting, via the one or more input devices, a third user input corresponding to a request to change the visual appearance of the first tile; as well as In response to detecting the third user input, the visual appearance of the first tile is altered according to the third user input.

13. The method of claim 12, wherein the request to change the visual appearance of the first map comprises a request to change one or more colors of the first map.

14. The method of any one of claims 12 to 13, wherein the request to modify the appearance of the first decal comprises a request to modify a first portion of the first decal without modifying a second portion of the first decal.

15. The method of any one of claims 1 to 14, wherein the process of creating the first sticker is performed within a first application different from the messaging application.

16. The method of any one of claims 1 to 15, wherein the process of creating the first sticker is performed within the messaging application that displays the first sticker in the messaging session.

17. The method of any one of claims 1 to 16, wherein the second user input corresponds to a request to place the first tile in the messaging session by placing the first tile on a second tile and placing the second tile including the first tile in the messaging session.

18. The method of any one of claims 1 to 17, wherein the second user input corresponds to a request to place the first sticker in the messaging session by placing the first sticker at a user-defined location within the messaging session, and displaying the first sticker in the messaging session comprises: The first tile is displayed at the user-defined location in the messaging session.

19. The method of claim 18, wherein the user-defined location corresponds to an existing first message in the messaging session.

20. An electronic device, comprising: one or more processors; Memory; and One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for: while displaying, via the display generation component, a first user interface corresponding to a messaging session in a messaging application, detecting, via one or more input devices, a first user input corresponding to a request to initiate a process of creating a first tile based on a first image including one or more objects, wherein the first tile is for use in the messaging application; In response to detecting the first user input, initiating the process of creating the first sticker, the process comprising: identifying a first object among the one or more objects in the first image; and generating the first sticker for use within the messaging application, wherein the first sticker is a representation of the first object and is based on a first portion of the image that includes the first object and is not based on a second portion of the image that does not include the first object; and After initiating the process of creating the first sticker, displaying the first sticker in the first user interface; While displaying the first sticker, detecting, via the one or more input devices, a second user input corresponding to a request to place the first sticker in the messaging session; and In response to detecting the second user input, the first tile is displayed in the messaging session.

21. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by one or more processors of an electronic device, cause the electronic device to perform a method comprising the following operations: while displaying, via the display generation component, a first user interface corresponding to a messaging session in a messaging application, detecting, via one or more input devices, a first user input corresponding to a request to initiate a process of creating a first tile based on a first image including one or more objects, wherein the first tile is for use in the messaging application; In response to detecting the first user input, initiating the process of creating the first sticker, the process comprising: identifying a first object among the one or more objects in the first image; and generating the first sticker for use within the messaging application, wherein the first sticker is a representation of the first object and is based on a first portion of the image that includes the first object and is not based on a second portion of the image that does not include the first object; and After initiating the process of creating the first sticker, displaying the first sticker in the first user interface; While displaying the first sticker, detecting, via the one or more input devices, a second user input corresponding to a request to place the first sticker in the messaging session; and In response to detecting the second user input, the first tile is displayed in the messaging session.

22. An electronic device, comprising: one or more processors; Memory; means for detecting, via one or more input devices, a first user input corresponding to a request to initiate a process of creating a first tile based on a first image including one or more objects while displaying, via the display generation component, a first user interface corresponding to a messaging session in a messaging application, wherein the first tile is for use in the messaging application; means for initiating the process of creating the first tile in response to detecting the first user input, the process comprising: identifying a first object among the one or more objects in the first image; and generating the first sticker for use within the messaging application, wherein the first sticker is a representation of the first object and is based on a first portion of the image that includes the first object and is not based on a second portion of the image that does not include the first object; and After initiating the process of creating the first sticker, displaying the first sticker in the first user interface; means for detecting, via the one or more input devices, a second user input corresponding to a request to place the first tile in the messaging session while the first tile is displayed; and Means for displaying the first tile in the messaging session in response to detecting the second user input.

23. An information processing device for use in an electronic device, the information processing device comprising: means for detecting, via one or more input devices, a first user input corresponding to a request to initiate a process of creating a first tile based on a first image including one or more objects while displaying, via the display generation component, a first user interface corresponding to a messaging session in a messaging application, wherein the first tile is for use in the messaging application; means for initiating the process of creating the first tile in response to detecting the first user input, the process comprising: identifying a first object among the one or more objects in the first image; and generating the first sticker for use within the messaging application, wherein the first sticker is a representation of the first object and is based on a first portion of the image that includes the first object and is not based on a second portion of the image that does not include the first object; and After initiating the process of creating the first sticker, displaying the first sticker in the first user interface; means for detecting, via the one or more input devices, a second user input corresponding to a request to place the first tile in the messaging session while the first tile is displayed; and Means for displaying the first tile in the messaging session in response to detecting the second user input.

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

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

26. An electronic device, comprising: one or more processors; Memory; and Means for carrying out any of the methods according to claims 1 to 19.

27. An information processing device for use in an electronic device, the information processing device comprising: Means for carrying out any of the methods according to claims 1 to 19.

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