Electronic touch communication

DE112015007255B4Active Publication Date: 2025-03-20APPLE INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
DE112015007255
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2015-03-08
Filing Date
2015-08-25
Publication Date
2025-03-20
Estimated Expiration
2035-08-25

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Procedure, comprehensive: on an electronic device with a touch-sensitive display that is configured with an external device connected by a contact, to communicate: Displaying a character area associated with the contact; Recognizing user input in the drawing area; Determine whether the user input is a single-finger touch input or a multi-finger touch input; and according to a provision that the user input is a single-finger touch input, sending data to the external device connected to the contact, the data representing the single-finger touch input; and According to a provision that the user input is a multi-finger touch input, sending data to the external device connected to the contact, wherein the sending of the data causes the external device to display a visual indicator corresponding to the multi-finger touch input, furthermore: the sending of the data representing the single-finger touch input causes the external device to display a visual representation that differs from the visual indicator, without displaying the visual indicator, and Sending the data representing the multi-finger touch input causes the external device to display the visual indicator without showing the visual representation.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

[0001] This patent application claims priority to the following patent applications: U.S. patent application serial number 62 / 044,961, filed September 2, 2014; U.S. provisional patent application serial number 62 / 129,955, filed March 8, 2015; and international patent application serial number PCT / US2015 / 034609, filed June 7, 2015.

[0002] This patent application covers the following co-pending patent applications: International Patent Application Serial No. PCT / US2013 / 040061, entitled "Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application," filed on May 8, 2013; and International Patent Application Serial No. PCT / US2013 / 069483, entitled "Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships," filed on November 11, 2013; U.S. Provisional Patent Application Serial No. 62 / 026,532, entitled "Raise Gesture Detection in a Device," filed on July 18, 2014; and the US provisional patent application entitled “REDUCED-SIZE INTERFACES FOR MANAGING ALERTS”, filed September 2, 2014, which names Lawrence Yang et al as inventors. BACKGROUND1. Subject

[0003] The present disclosure relates generally to a computer user interface and, more particularly, to user interfaces for communicating with other users.

[0004] A system for generating dynamic haptic effects is known from the published patent application US 2014 / 0184497 A1.

[0005] Furthermore, it is known from US patent US 8,595,649 B2 to design a user interface centered on preferred contacts. SHORT SUMMARY

[0006] In some embodiments, a method, on an electronic device having a touch-sensitive display and a rotatable input mechanism, comprises: displaying, on a touch-sensitive display, a user interface comprising a plurality of objects, each associated with a contact of a plurality of contacts, and an affordance having a visual appearance representing a first contact of the plurality of contacts; receiving a first input corresponding to rotation of the rotatable input mechanism; and in response to receiving the input corresponding to rotation of the rotatable input mechanism, updating the visual appearance of the affordance to represent a second contact among the plurality of contacts.

[0007] In some embodiments, a method comprises, on an electronic device with a touch-sensitive display: on an electronic device with a touch-sensitive display and a rotatable input mechanism: displaying, on a touch-sensitive display, a user interface comprising a plurality of objects, each associated with a contact of a plurality of contacts, and an affordance having a visual appearance representing a first contact of the plurality of contacts; receiving a first input corresponding to a selection of an object of the plurality of objects associated with a second contact of the plurality of contacts; and in response to receiving the input corresponding to the contact on the object of the plurality of objects, updating the visual appearance of the affordance to represent a second contact among the plurality of contacts. DESCRIPTION OF THE CHARACTERS

[0008] For a better understanding of the various embodiments described, reference should be made to the description of the embodiments below together with the following drawings, in which like reference numerals refer to corresponding parts throughout the figures. Fig. 1A is a block diagram illustrating a portable multifunction device with a touch-sensitive display according to some embodiments. Fig. 1B is a block diagram illustrating example event handling components according to some embodiments. Fig. 2 illustrates a portable multifunction device with a touch-sensitive display according to some embodiments. Fig. 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface, according to some embodiments. Fig. 4A illustrates an example user interface for an application menu on a portable multifunction device according to some embodiments. Fig. 4B illustrates an example user interface for a multifunction device having a touch-sensitive surface separate from the display, according to some embodiments. Fig. 5A illustrates a personal electronic device according to some embodiments. Fig. 5B is a block diagram illustrating a personal electronic device according to some embodiments. Fig. 6A-6E show example user interfaces for electronic touch communication. Fig. 7A-7E show example user interfaces for electronic touch communication. Fig. Figure 8 shows exemplary user interfaces for electronic touch communication. Fig. 9A-9C show example user interfaces for electronic touch communication. Fig. 10A-10C is a flowchart illustrating a process for electronic touch communication. Fig. Figure 11 is a flowchart illustrating a process for electronic touch communication. Fig. Figure 12 is a flowchart illustrating a process for electronic touch communication. Fig. 13 is a functional block diagram of an electronic device according to some embodiments. Fig. 14 is a functional block diagram of an electronic device according to some embodiments. Fig. 15 is a functional block diagram of an electronic device according to some embodiments. Fig. 16 is a functional block diagram of an electronic device according to some embodiments. Fig. 17 is a functional block diagram of an electronic device according to some embodiments. Fig. 18A-18K are example user interfaces for electronic communication. Fig. 19A-19B are example user interfaces for electronic communication. Fig. Figure 20 shows an example user interface for electronic communication. Fig. Figure 21 shows exemplary user interfaces for electronic communication. Fig. 22 and Fig. 23 depicts a flowchart illustrating a process for electronic touch communication. Fig. 24 and Fig. 25 is a functional block diagram of an electronic device according to some embodiments. DESCRIPTION OF THE EMBODIMENTS

[0009] The following description sets forth example methods, parameters, and the like. It should be noted, however, that this description is not intended to limit the scope of the present disclosure, but rather is provided as a description of the example embodiments.

[0010] Further down, the Fig. 1A-1B, 2, 3, 4A-4B and 5A-5B describe exemplary devices that may provide such user interfaces for electronic touch communication. Fig. 6A-6E, 7A-7E, 8, 9A-9C, 18A-18K, 19A-19B, 20, and 21 provide exemplary user interfaces for electronic touch communications. The user interfaces in the figures are further used to implement the process described above, including the processes in Fig. 10A-10C, 11-13, 22 and 23.

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

[0012] The terminology used in the description of the various described embodiments in this specification is for the purpose of describing particular embodiments only and is not limiting. As used in the description of the various described embodiments and in the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It is further understood that the term "and / or," as used in this specification, refers to and includes any combination of at least one item listed in connection therewith.It is further understood that the terms "includes", "containing", "comprises" and / or "comprising", when used in this specification, specify the presence of the recited features, contents, steps, acts, elements and / or components, but do not preclude the presence or addition of one or more additional features, contents, steps, acts, elements and / or groups thereof.

[0013] The phrase "if," depending on the context, may be interpreted to mean "when" or "upon" or "in response to determining" or "in response to detecting." Similarly, the phrase "if it is determined" or "if [a stated condition or event] is detected" may, depending on the context, be interpreted to mean "upon determining" or "in response to determining" or "upon detecting [the stated condition or event]" or "in response to detecting [the stated condition or event]."

[0014] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described. In some embodiments, the device is a portable communications device, such as a cellular phone, that further includes other functions, such as PDA and / or music playback functions. Example embodiments of portable multifunction devices include, but are not limited to, the iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, California. Other portable electronic devices, such as laptops or tablet computers with touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads), are optionally used.It should further 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., a touchscreen display and / or a touchpad).

[0015] In the following discussion, an electronic device is described that includes a display and a touch-sensitive surface. However, it is understood that the electronic device may include at least one other physical user interface device, such as a physical keyboard, a mouse, and / or a joystick.

[0016] The device may support a variety of applications such as at least one of the following: a drawing application, a presentation application, a word processing application, a web page creation application, a disk authoring application, a spreadsheet application, a gaming application, a phone application, a video conferencing application, an email application, an instant messaging application, a workout support application, a photo management application, a digital camera application, a digital video camera application, an Internet browsing application, a digital music playing application, and / or a digital video playing application.

[0017] The various applications executing on the device may use at least one conventional physical user interface device, such as a touch-sensitive surface. At least one function of the touch-sensitive surface, as well as the corresponding information displayed on the device, may be adapted and / or changed from one application to the next and / or within the respective application. In this way, a conventional physical architecture (such as a touch-sensitive surface) of the device may support the plurality of applications through intuitive, user-transparent user interfaces.

[0018] At this point, attention is drawn to the embodiments of portable devices with touch-sensitive displays. Fig. 1A 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 "touchscreen" for convenience and is sometimes known or referred to as a "touch-sensitive display system." The device 100 includes a data memory 102 (optionally including at least one computer-readable storage medium), a memory controller 122, at least one processing unit (CPU) 120, peripheral interface 118, RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, input / output (I / O) subsystem 106, other input control devices 116, and an external port 124. The device 100 optionally includes at least one optical sensor 164.The device 100 may include at least one contact intensity sensor 165 for detecting the intensity of contacts with the device 100 (e.g., a touch-sensitive surface such as a touch-sensitive display system 112 of the device 100). The device 100 may include at least one tactile output generator 167 for generating tactile outputs on the device 100 (e.g., generating tactile outputs on a touch-sensitive surface such as a touch-sensitive display system 112 of the device 100 or the touchpad 355 of the device 300). These components may communicate via at least one communication bus or signal line 103.

[0019] As used herein and in the claims, the term "intensity" of a contact at a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., finger contact) at the touch-sensitive surface, or to a surrogate for the force or pressure of a contact at the touch-sensitive surface. The intensity of a contact has a range of values ​​that includes at least four different values ​​and typically includes hundreds of different values ​​(e.g., at least 256). The intensity of a contact may be determined (or measured) using various approaches and various sensors or combinations of sensors.For example, at least one force sensor may be used beneath or near the touch-sensitive surface 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., a weighted average) to determine an estimated force of a contact. Similarly, a pressure-sensitive tip of a stylus may be used to determine a pressure of the stylus on a touch-sensitive surface.Alternatively, the size of the contact area detected on the touch-sensitive surface and / or changes therein, the capacitance of the touch-sensitive surface near the contact and / or changes therein, and / or the resistivity of the touch-sensitive surface near the contact and / or changes therein are used as a surrogate for the force or pressure of the contact on the touch-sensitive surface, if appropriate. In some embodiments, the surrogate measurements for the force or pressure of the contact are used to directly determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the surrogate measurements).In some embodiments, the surrogate measurements for the force or pressure of the contact are converted into an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of a contact as an attribute for a user input enables user access to additional functionality of the device that is not otherwise accessible to the user on a reduced-size device with limited space for displaying affordances (e.g., on a touch-sensitive display) and / or receiving user input (via a touch-sensitive display, a touch-sensitive surface, and / or a physical / mechanical control such as a knob or button).

[0020] As used in this specification and in the claims, the term "tactile output" refers to the physical displacement of a device relative to a previous position of the device, the physical displacement of a component (e.g., a touch-sensitive surface) of a device relative to another component (e.g., the housing) of the device, or the displacement of the component relative to a center of mass of the device that is detected by a user through the user's sense of touch. For example, the tactile output produced by the physical displacement is perceived in situations where the device or component of the device is in contact with a surface of a user that is sensitive to touch (e.g.,a finger, palm, or other part of a user's hand) may be interpreted by the user as a tactile sensation corresponding to a perceived change in the physical characteristics of the device or component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive surface display or trackpad) may be interpreted by the user as a "down click" or "up click" of a physical actuation button. In some cases, a user may experience a tactile sensation such as a "down click" or "up click" even in the absence of movement of a physical actuation button associated with the touch-sensitive surface that is physically pressed (e.g., translated) by the user's movements.As another example, the movement of a touch-sensitive surface may be interpreted or perceived by the user as the "roughness" of the touch-sensitive surface, even if no change in the smoothness of the touch-sensitive surface exists. While such interpretations of touch by a user depend on the individualized sensory perceptions of the users, many sensory perceptions of touch exist that are common to a large majority of users. Thus, if a tactile output is described as corresponding to a particular sensory perception of a user (e.g.,a "down click", an "up click", "roughness") corresponds, unless otherwise stated, to the physical displacement of the device or a component thereof which produces the described sensation perception for a typical (or average) user.

[0021] It should be noted that the device 100 is only one example of a portable multifunctional device, and the device 100 may include more or fewer components than shown, may include at least two components in combination, or may include a different configuration or arrangement of components. The various Fig. The components illustrated in Figure 1A are incorporated into the hardware, the software, or a combination of hardware and software, including at least one signal processing and / or application-specific integrated circuit.

[0022] Data storage 102 may include at least one computer-readable storage medium. The computer-readable storage media may be tangible and non-volatile. Data storage 102 may include high-speed random access memory and further non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage device. Memory controller 122 may control access to data storage 102 by other components of device 100.

[0023] A peripheral interface 118 may be used to connect the device's input and output peripherals to the CPU 120 and the data memory 102. The at least one processor 120 runs or executes various software programs and / or sets of instructions stored on the data memory 102 to perform various functions for the device 100 and process data. In some embodiments, the peripheral interface 118, the CPU 120, and the memory controller 122 may be incorporated onto a single chip, such as chip 104. In some embodiments, they may be incorporated onto separate chips.

[0024] RF (radio frequency) circuitry 108 receives and transmits RF signals, also referred to as electromagnetic signals. RF circuitry 108 converts electrical signals to / from electromagnetic signals and communicates with communication networks and other communication devices via the electromagnetic signals. RF circuitry 108 may include well-known circuitry for performing these functions, including, but not limited to, antenna systems, an RF transceiver, at least one amplifier, a tuner, at least one oscillator, a digital signal processor, a CODEC chipset, a SIM card (subscriber identity module), data storage, and so on.The RF circuitry 108 may communicate with networks such as the Internet, also referred to as the World Wide Web (WWW), an intranet and / or wireless network such as a cellular network, a wireless local area network (LAN), and / or a metropolitan area network (MAN), and other devices via wireless communication. The RF circuitry 108 may include well-known circuitry for detecting near field communication (NFC) fields, such as over a short-range communication radio. The wireless communication may use any of a variety of communication standards, protocols, and technologies, including, but not limited to, GSM (Global System for Mobile Communications), EDGE (Enhanced Data GSM Environment), HSDPA (HSDPA), and others.„High-Speed Downlink Packet Access“), HSUPA (nach engl. „High-Speed Uplink Packet Access“), EV-DO (nach engl. „Evolution, Data-Only“), HSPA, HSPA+, DC-HSPDA (nach engl. „Dual-Cell HSPA“), LTE (nach engl. „Long Term Evolution“), NFC (nach engl. „Near Field Communication“), W-CDMA (nach engl. „Wideband Code Division Multiple Access“), CDMA (nach engl. „Code Division Multiple Access“), TDMA (nach engl. „Time Division Multiple Access“), Bluetooth, BTLE (nach engl. „Bluetooth Low Energy“), Wi-Fi (nach engl. „Wireless Fidelity“) (z. B. IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n und / oder IEEE 802.11ac), Internet-Telefonie (VoIP nach engl. „Voice over Internet Protocol“), Wi-MAX, einem Protokoll für E-Mail (z. B. IMAP (nach engl. „Internet Message Access Protocol“) und / oder POP (nach engl. „Post Office Protocol“)), Instant Messaging (z. B. XMPP (nach engl. „Extensible Messaging and Presence Protocol“), SIMPLE (nach engl.Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions, IMPS (Instant Messaging and Presence Service), and / or SMS (Short Message Service) or any other suitable communications protocol, including communications protocols that were not yet developed at the time of filing this document.

[0025] Audio circuitry 110, speaker 111, and microphone 113 provide an audio interface between a user and a device 100. Audio circuitry 110 receives audio data from peripheral interface 118, converts the audio data to an electrical signal, and transmits the electrical signal to speaker 111. Speaker 111 converts the electrical signal into human-audible sound waves. Audio circuitry 110 also receives electrical signals converted from the sound waves by a microphone 113. Audio circuitry 110 converts the electrical signal into audio data and transmits the audio data to peripheral interface 118 for processing. The audio data can be retrieved from and / or transmitted to data storage 102 and / or RF circuitry 108 by peripheral interface 118. In some embodiments, the audio circuit 110 further includes a headset jack (e.g., 212, Fig. 2). The headset jack provides an interface between the audio circuitry 110 and removable audio input / output peripherals such as a headset with output only or a headset with both output (e.g., a headset for one or both ears) and input (e.g., a microphone).

[0026] The I / O subsystem 106 connects input / output peripherals on the device 100, such as a touchscreen 112 and other input control devices 116, to the peripheral interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, an intensity sensor controller 159, a haptic feedback controller 161, and at least one input controller 160 for other input or control devices. The at least one input controller 160 receives / sends electrical signals from / to other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, slide buttons, etc.), dials, slide switches, joysticks, click wheels, and so on.In some other embodiments, the input controller(s) 160 may be connected to any (or none) of the following: a keyboard, an infrared port, a USB port, and a pointing device such as a mouse. The at least one button (e.g., 208, . Fig. 2) optionally comprises an up / down button for controlling the volume of the loudspeaker 111 and / or the microphone 113. The at least one button optionally comprises a push button (e.g. 206, Fig. 2).

[0027] A short press of the push button can release a lock on the touchscreen 112 or initiate a process that uses gestures on the touchscreen to unlock the device, such as those described in patent application Ser. No. 11 / 322,549, "Unlocking a Device by Performing Gestures on an Unlock Image," filed December 23, 2005, U.S. Patent No. 7,657,849. A longer press of the push button (e.g., 206) can turn the power on or off for the device 100. The user may be able to customize a functionality of at least one of the buttons. The touchscreen 112 is used to implement virtual or soft buttons and at least one soft keyboard.

[0028] The touch-sensitive display 112 provides an input interface and an output interface between the device and a user. The display controller 156 receives and / or sends electrical signals from or to the touchscreen 112. The touchscreen 112 displays a visual output to the user. The visual output may include graphics, text, icons, videos, and a combination thereof (collectively, "graphics"). In some embodiments, some or all of the visual output may correspond to the user interface objects.

[0029] Touchscreen 112 includes a touch-sensitive surface, a sensor, or a set of sensors that accepts input from the user based on haptic and / or tactile contact. Touchscreen 112 and display controller 156 (along with associated modules and / or sets of instructions in data store 102) detect contact (and any movement or breakdown of contact) on touchscreen 112 and convert the detected contact into an interaction with the user interface objects (e.g., at least one soft button, web page, or image) displayed on touchscreen 112. In an exemplary embodiment, a point of contact between touchscreen 112 and the user corresponds to a user's finger.

[0030] The touchscreen 112 may utilize LCD (liquid crystal display) technology, LPD (light-emitting polymer display) technology, or LED (light-emitting diode) technology, although other display technologies may be used in other embodiments. The touchscreen 112 and display controller 156 may detect contact and any movement or breakdown using any of a variety of touch-sensitive technologies known today or later developed, including, but not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor assemblies or other elements for determining at least one point of contact with the touchscreen 112.In an exemplary embodiment, predicted mutual capacitance sensor technology is used, such as that found in the iPhone® and iPod Touch® from Apple Inc. of Cupertino, California.

[0031] A touch-sensitive display in some embodiments of the touchscreen 112 may correspond to the multi-touch sensitive touchpads described in the following U.S. patents: 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman), and / or U.S. Patent Publication 2002 / 0015024A1. However, the touchscreen 112 displays the visual output of the device 100, whereas touch-sensitive touchpads do not provide visual output.

[0032] A touch-sensitive display, in some embodiments, the touchscreen 112 may be configured as described in the following patent applications: (1) U.S. Patent Application No. 11 / 381,313, "Multipoint Touch Surface Controller," filed May 2, 2006; (2) U.S. Patent Application No. 10 / 840,862, "Multipoint Touchscreen," filed May 6, 2004; (3) U.S. Patent Application No. 10 / 903,964, "Gestures For Touch Sensitive Input Devices," filed July 30, 2004; (4) U.S. Patent Application No. 11 / 048,264, "Gestures For Touch Sensitive Input Devices," filed January 31, 2005; (5) U.S. Patent Application No. 11 / 038,590, "Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices," filed January 18, 2005; (6) U.S. Patent Application No. 11 / 228,758, "Virtual Input Device Placement On A Touch Screen User Interface," filed September 16, 2005; (7) U.S. Patent Application No. 11 / 228,700, "Operation Of A Computer With a Touch Screen Interface," filed September 16, 2005.September 2005; (8) U.S. Patent Application No. 11 / 228,737, "Activating Virtual Keys Of A Touch-Screen Virtual Keyboard," filed September 16, 2005; and (9) U.S. Patent Application No. 11 / 367,749, "Multi-Functional HandHeld Device," filed March 3, 2006.

[0033] The touchscreen 112 may have a video resolution greater than 100 dpi. In some embodiments, the touchscreen has a video resolution of approximately 160 dpi. The user may make contact with the touchscreen 112 using any suitable object or appendage, such as a stylus, a finger, and so on. In some embodiments, the user interface is designed to operate primarily with finger-based contacts and gestures, which may be less precise than stylus-based inputs due to the larger contact area of ​​a finger on the touchscreen. In some embodiments, the device translates the crude finger-based input into a precise pointer / cursor position or command to perform the user's desired actions.

[0034] In some embodiments, device 100 may include a touchpad (not shown) in addition to the touchscreen for enabling or disabling certain functions. In some embodiments, the touchpad is a touch-sensitive area of ​​the device that, unlike a touchscreen, does not display visual output. The touchpad may be a touch-sensitive surface separate from touchscreen 112 or an extension of the touch-sensitive surface formed by the touchscreen.

[0035] The device 100 further includes a power system 162 to supply power to the various components. The power system 162 may include a power management system, at least one power source (e.g., battery, alternating current (AC), a recharging system, a power failure detection circuit, a power converter or inverter, a power indicator (e.g., a light-emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in portable devices.

[0036] The device 100 may further include at least one optical sensor 164. Fig. 1A shows an optical sensor connected to the optical sensor controller 158 in the I / O subsystem 106. The optical sensor 164 may comprise a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives ambient light projected through at least one lens and converts the light into data representing an image. Together with the imager module 143 (also referred to as a camera module), the optical sensor 164 can capture still images or video. In some embodiments, an optical sensor is mounted on the back of the device 100, opposite the touchscreen display 112 on the front of the device, so that the touchscreen display can be used as a viewfinder for still and / or video image capture.In some embodiments, an optical sensor is located on the front of the device so that the user's image can be obtained for a video conference while the user views other video conference participants on the touchscreen display. In some embodiments, the position of the optical sensor 164 can be changed by the user (e.g., by rotating the lens and sensor within the device housing), so that a single optical sensor 164 can be used with the touchscreen display for both video conferencing and still and / or video image capture.

[0037] The device 100 optionally further comprises at least one contact identity sensor 165. Fig. 1A shows a contact identity sensor connected to the identity sensor controller 159 in the I / O subsystem 106. The contact intensity sensor 165 optionally includes at least one of a piezoresistive strain gauge, capacitive force sensor, electrical force sensor, piezoelectric force sensor, capacitive touch-sensitive surface, or other intensity sensor (e.g., sensors used to measure the force (or pressure) of a contact on a touch-sensitive surface). The contact intensity sensor 165 receives contact intensity information (e.g., pressure information or a proxy for pressure information) from the environment. In some embodiments, at least one contact identity sensor is in communication with or proximate to a touch-sensitive surface (e.g., a touch-sensitive display system 112).In some embodiments, at least one contact identity sensor is disposed on the back of the device 100 opposite the touchscreen display 112 disposed on the front of the device 100.

[0038] The device 100 may further include at least one proximity sensor 166. Fig. 1A shows a proximity sensor 166 connected to the peripheral interface 118. The proximity sensor 166 may alternatively be connected to the input controller 160 in the I / O subsystem 106. The proximity sensor 166 may be implemented as described in U.S. patent application Ser. Nos. 11 / 241,839, "Proximity Detector In Handheld Device"; 11 / 240,788, "Proximity Detector In Handheld Device"; 11 / 620,702, "Using Ambient Light Sensor To Augment Proximity Sensor Output"; 11 / 586,862, "Automated Response To And Sensing Of User Activity In Portable Devices"; and 11 / 638,251, "Methods And Systems For Automatic Configuration Of Peripherals." In some embodiments, the proximity sensor turns off and deactivates the touchscreen 112 when the multifunction device is positioned near the user's ear (e.g., when the user is on a phone call).

[0039] The device 100 may further comprise at least one tactile output generator 167. Fig. 1A shows a tactile output generator connected to the haptic feedback controller 161 in the I / O subsystem 106. The tactile output generator 167 optionally includes at least one electroacoustic device, such as a speaker or other audio component, and / or electromechanical device that converts current into linear motion, such as a motor, solenoid, electroactive polymer, piezoelectric actuator, electrostatic actuator, or a tactile output generation component (e.g., a component that converts electrical signals into tactile outputs on the device). The contact intensity sensor 165 receives tactile instructions for generating feedback from the haptic feedback module 133 and generates tactile outputs 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 in communication with or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112) and optionally generates a tactile output by moving the touch-sensitive surface vertically (e.g., into / out of a surface of device 100) or laterally (e.g., back and forth in the same plane as a surface of device 100). In some embodiments, at least one tactile output generator is located on the back of device 100 opposite touchscreen display 112, which is located on the front of device 100.

[0040] The device 100 may further include at least one accelerometer 168. Fig. 1A shows an accelerometer 168 connected to the peripheral interface 118. The accelerometer 168 may alternatively be connected to the input controller 160 in the I / O subsystem 106. The accelerometer 168 may be implemented as described in U.S. Patent Application No. 20050190059, "Acceleration-based Theft Detection System for Portable Electronic Devices," and U.S. Patent Publication No. 20060017692, "Methods and Apparatuses for Operating a Portable Device Based on an Accelerometer." In some embodiments, information based on an analysis of data received from the at least one accelerometer is displayed on the touchscreen display in portrait or landscape mode.The device 100 optionally includes, in addition to an accelerometer(s) 168, a magnetometer (not shown) and a GPS receiver (or GLONASS receiver or other global navigation system receiver) (not shown) for obtaining information regarding the position and orientation (e.g., portrait or landscape) of the device 100.

[0041] In some embodiments, the software components stored in the data store 102 include an operating system 126, communication module (or set of instructions) 128, contact / motion module (or set of instructions) 130, graphics module (or set of instructions) 132, text input module (or set of instructions) 134, GPS (Global Positioning System) module (or set of instructions) 135, and applications (or sets of instructions) 136. Furthermore, the data store 102 stores ( Fig. 1A) or Fig. 370 ( Fig. 3) in some embodiments, the device internal / global internal state 157, as in Fig. 1A and Fig. 3. The device internal / global internal state 157 includes at least one of the following states: active application state, indicating which devices, if any, are currently active; display state, indicating which applications, views, or other information occupy different areas of the touchscreen display 112; sensor state, including information obtained from the device's various sensors and input control devices 116; and location information regarding the device's location and / or attitude.

[0042] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or a built-in operating system such as VxWorks) includes various software components and / or drivers for controlling and managing common system tasks (e.g., data storage management, storage device control, power management, etc.) and enables communication between various hardware and software components.

[0043] The communications module 128 enables communication with other devices via at least one external port 124 and includes various software components for handling the data received from the RF circuitry 108 and / or the external port 124. The external port 124 (e.g., USB (for Universal Serial Bus), FIREWIRE, etc.) is adapted to connect directly to other devices or indirectly via a network (e.g., the Internet, Wi-Fi, etc.). In some embodiments, the external port is a multi-pin (e.g., 30-pin) connector that is the same as, similar to, and / or compatible with the 30-pin connector used on iPod® (a trademark of Apple Inc.) devices.

[0044] The contact motion module 130 optionally detects contact with the touchscreen 112 (along with the display controller 156) and other touch-sensitive devices (e.g., a touchpad or a physical click wheel). The contact motion module 130 includes various software components for performing various actions related to detecting contact, such as determining whether contact has occurred (e.g., detecting a finger lift event), determining an intensity of the contact (e.g., the force or pressure of the contact, or a surrogate for the force or pressure of the contact), determining whether movement of the contact exists and tracking movement along the touch-sensitive surface (e.g., detecting at least one finger drag event), and determining whether contact has ended (e.g., detecting a finger lift or a contact collapse).The contact motion module 130 receives contact data from the touch-sensitive surface. Determining the motion of the contact point represented by a set of contact data may include determining the pace (magnitude), velocity (magnitude and direction), and / or acceleration (a change in magnitude and / or direction) of the contact point. These actions may be applied to single contacts (e.g., single-finger contacts) or multiple simultaneous contacts (e.g., multi-touch / multi-finger contacts). In some embodiments, the contact / motion module 130 and the display controller 156 may detect a contact on a touchpad.

[0045] In some embodiments, the contact motion module 130 uses a group consisting of at least one intensity threshold to determine whether an action has been performed by a user (e.g., to determine whether a user has "clicked" on an icon). In some embodiments, at least a subset of the intensity thresholds is determined according to software parameters (e.g., the intensity thresholds are not determined by the activation thresholds of the particular physical actuators and can be adjusted without changing the physical hardware of the device 100). For example, the threshold of a mouse "click" of a trackpad or touchscreen display can be set to an arbitrarily large range of predefined thresholds without changing the hardware of the trackpad or touchscreen display.Additionally, in some embodiments, a user of the device is provided with software settings for adjusting at least one group of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by adjusting a plurality of intensity thresholds simultaneously with a system-level click “intensity” parameter).

[0046] The contact motion module 130 optionally detects a user's input of a gesture. Different gestures on the touch-sensitive surface exhibit different contact patterns (e.g., different movements, timing, and / or intensities of the detected contacts). Thus, a gesture may be detected by detecting a particular contact pattern. For example, detecting a finger tap gesture includes detecting a finger lift event followed by detecting a finger lift event at the same position (or substantially the same position) as the finger lift event (e.g., at the position of an icon).As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger down event followed by detecting at least one finger drag event and then followed by detecting a finger up event.

[0047] The graphics module 132 includes various well-known software components for executing and displaying graphics on a touchscreen 112 or other display, including components for changing the visual effect (e.g., brightness, transparency, saturation, contrast, or other visual properties) 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 buttons), digital images, videos, animations, and the like.

[0048] In some embodiments, graphics module 132 stores data representing graphics to be used. Each graphic may be associated with a corresponding code. Graphics module 132 receives at least one code specifying the graphics to be displayed from applications, etc., along with coordinate data and other data related to graphics properties, and then generates screen image data for output to display controller 156.

[0049] The haptic feedback module 133 includes various software components for generating instructions used by the tactile output generator(s) 167 to generate tactile outputs at at least one location of the device 100 related to the user's interactions with the device 100.

[0050] The text input module 134, which may be a component of the graphics module 132, provides soft keyboards for entering text in various applications (e.g., contacts 137, email 140, instant messaging 141, browser 147, and any other applications that require text input).

[0051] The GPS module 135 determines the position 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 image / video metadata; and to applications that provide location-based services such as weather widgets, local yellow pages widgets, and map / navigation widgets).

[0052] The applications 136 may include the following modules (or sets of instructions) or a subset or superset thereof: • Contacts module 137 (sometimes called address book or contact list); • Telephone module 138; • Video conferencing module 139; • Email client module 140; • Instant messaging (IM) module 141; • Training support module 142; • Camera module 143 for still and / or video images; • Image management module 144; • Video playback module; • Music player module; • Browser module 147; • Calendar module 148; • Widget modules 149, which may include at least one weather widget 149-1, stock widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, and other widgets obtained from the user, as well as user-created widgets 149-6; widget creation module 150 for creating user-created widgets 149-6; • Search module 151; • Video and music player module 152, which combines the video player module and the music player module; • Notes module 153; • Card module 154; and / or • Online video module 155.

[0053] Examples of other applications 136 that may be stored in the data store 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.

[0054] Together with the touchscreen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the contact module 137 can be used to manage an address book or contact list (e.g., one stored in an application-internal state 192 of the contact module 137 in the data store 102 or the data store 370), including: adding a name(s) to the address book; deleting a name(s) from the address book; associating a phone number(s), an email address(es), a physical address(es), or other information such as a name; associating a name with an image; categorizing and sorting names; Providing telephone numbers or email addresses to initiate and / or enable communication via telephone 138, video conferencing module 139, email 140 or IM 141 and so on.

[0055] Together with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, phone module 138 can be used to enter a sequence of characters corresponding to a telephone number, access at least one telephone number in contact module 137, identify an entered telephone number, dial a corresponding telephone number, conduct a conversation, and disconnect or hang up when the conversation is complete. As noted above, wireless communication can utilize any of a variety of communication standards, protocols, and technologies.

[0056] Together with the RF circuitry 108, the audio circuitry 110, the speaker 111, the microphone 113, the touchscreen 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 to start, conduct, and end a video conference between a user and at least one participant according to the user instructions.

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

[0058] Together with the RF circuitry 108, the touchscreen 112, the display controller 156, the contact movement module 130, the graphics module 132, and the text input module 134, the instant messaging module 141 includes executable instructions to enter a sequence of characters corresponding to an instant message, to modify previously entered characters, to send a corresponding instant message (for example, using an SMS (Short Message Service) or MMS (Multimedia Message Service) protocol for telephony-based instant messages, or using XMPP, SIMPLE, or IMPS for Internet-based instant messages), to receive instant messages, and to view received instant messages. In some embodiments, transmitted and / or received instant messages may contain graphics, photos, audio files, video files, and / or other attachments supported by an MMS and / or EMS (Enhanced Messaging Service).As used in this document, “instant messaging” refers to both telephony-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).

[0059] Together with the RF circuitry 108, the touchscreen 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 workout support module 142 includes executable instructions to create workout routines (e.g., with time, distance, and / or calorie burn goals); communicate with workout sensors (sports devices); receive workout sensor data; calibrate sensors used to monitor a workout; select and play music for a workout; and display, store, and transmit workout data.

[0060] Together with the touchscreen 112, the display controller 156, the optical sensor(s) 164, the optical sensor controller 158, the contact / motion module 130, the graphics module 132, and the image management module 144, the camera module 143 includes executable instructions to capture still images or videos (including video streams) and store them in the data storage 102, change the properties of a still image or video, or delete a still image or video from the data storage 102.

[0061] Together with the touchscreen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, and the camera module 143, the image management module 144 includes executable instructions to arrange, change (e.g., edit), or otherwise manipulate, mark, delete, present (e.g., in a digital slide show or album), or store still and / or video images.

[0062] Together with the RF circuitry 108, the touchscreen 112, the display controller 156, the contact motion module 130, the graphics module 132, and the text input module 134, the browser module 147 includes executable instructions to surf the Internet according to user instructions, including searching for, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files associated with web pages.

[0063] Together with the RF circuitry 108, the touchscreen 112, the display controller 156, the contact 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 saving calendars and calendar-associated data (e.g., calendar entries, to-do lists, etc.) according to user instructions.

[0064] Together with the RF circuitry 108, the touchscreen 112, the display controller 156, the contact motion module 130, the graphics module 132, the text input module 134, and the browser module 147, the widget modules 149 are mini-applications that can be downloaded and used by a user (e.g., weather widget 149-1, stock widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5) or created by the user (e.g., user-created widget 149-6). In some embodiments, a widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, a widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., Yahoo! widgets).

[0065] Together with the RF circuitry 108, the touchscreen 112, the display controller 156, the contact motion module 130, the graphics module 132, the text input module 134, and the browser module 147, the widget creation module 150 can be used by a user to create widgets (e.g., turning a user-specific portion of a web page into a widget).

[0066] Together with the touchscreen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the search module 151 includes executable instructions for searching for text, music, sound, image, video, and / or other files in the data store 102 that match at least one search criterion (e.g., at least one user-specified search term) according to the user instructions.

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

[0068] Together with the touchscreen 112, the display controller 156, the contact / motion module 130, the graphics module 132 and the text input module 134, the notes module 153 includes executable instructions for creating and managing notes, to-do lists and the like according to user instructions.

[0069] Together with the RF circuitry 108, the touchscreen 112, the display controller 156, the contact 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 can be used to receive, display, modify, and store maps and map-associated data (e.g., directions, data on businesses and other relevant locations at or near a particular location, and other location-based data) according to user instructions.

[0070] Together with the touchscreen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the audio circuitry 110, the speaker 111, the RF circuitry 108, the text input module 134, the email client module 140, and the browser module 147, the online video module 155 includes instructions that enable the user to access, search for, receive (e.g., by streaming or downloading), play (e.g., on the touchscreen or on an external, connected display via an external port 124), send an email with a link to a particular video, and otherwise manage online videos in at least one file format, such as H.264. In some embodiments, an instant messaging module 141 is used instead of an email client module 140 to send a link to a particular online video.An additional description of the online video application can be found in U.S. Provisional Patent Application No. 60 / 936,562, "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," filed June 20, 2007, and U.S. Patent Application No. 11 / 968,067, "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," filed December 31, 2007.

[0071] Each of the modules and applications identified above corresponds to a set of executable instructions for performing at least one function described above and the methods described in this patent application (e.g., the computer-implemented methods and other information processing methods described in this specification). These modules (e.g., sets of instructions) need not be embodied as separate software programs, processes, or modules, and thus various subsets of these modules may be combined or otherwise rearranged in various embodiments. For example, the video player module may be combined with the music player module into a single module (e.g., video and music player module 152, Fig. 1A). In some embodiments, data storage 102 may store a subset of the modules and data structures identified above. Furthermore, data storage 102 may store additional modules and data structures not described above.

[0072] In some embodiments, device 100 is a device in which the operation of a predefined set of functions on the device is performed exclusively via a touchscreen and / or a touchpad. Using a touchscreen and / or a touchpad as the primary input control devices for operating device 100 may reduce the number of physical input control devices (such as push buttons, dials, and the like) on device 100.

[0073] The preferred set of functions performed exclusively by a touchscreen and / or touchpad includes, where appropriate, navigation between user interfaces. In some embodiments, the touchpad, when touched by the user, navigates the device 100 from a user interface displayed on the device 100 to a main, home, or basic menu. In such embodiments, a "menu key" is implemented using a touchpad. In other embodiments, the menu key is a physical push button or other physical input control device instead of a touchpad.

[0074] Fig. 1B is a block diagram illustrating example event handling components according to some embodiments. In some embodiments, data storage 102 ( Fig. 1A) or Fig. 370 ( Fig. 3) an event sorting element 170 (e.g., in the operating system 126) and a corresponding application 136-1 (e.g., any of the above-mentioned applications 137-151, 155, 380-390).

[0075] The event sorting element 170 receives event information and determines the application 136-1 and the application view 191 of the application 136-1 to which the event information should be transmitted. The event sorting element 170 includes an event monitoring element 171 and an event dispatcher module 174. In some embodiments, the application 136-1 includes an application internal state 192 that indicates the current application view(s) displayed on the touch-sensitive display 112 when the application is active or running. In some embodiments, the device internal / global internal state 157 is used by the event sorting element 170 to determine which application(s) is / are currently active, and the application internal state 192 is used by the event sorting element 170 to determine the application views 191 to which the event information is transmitted.

[0076] In some embodiments, the application internal state 192 includes additional information such as at least one of the following information: resume information used when the application 136-1 resumes execution, user interface state information indicating information currently being displayed by the application 136-1 or ready to be displayed, a state queue to allow the user to return to a previous state or view of the application 136-1, and to refresh / undo a queue of previous actions taken by the user.

[0077] The event monitor 171 receives event information from the peripheral interface 118. The event information includes information about a sub-event (e.g., a user touch on the touch-sensitive display 112 as part of a multi-touch gesture). The peripheral interface 118 transmits information it receives from the I / O subsystem 106 or a sensor such as a proximity sensor 166, accelerometer(s) 168, and / or microphone 113 (via the audio circuitry 110). The information that the peripheral interface 118 receives from the I / O subsystem 106 includes information from the touch-sensitive display 112 or a touch-sensitive surface.

[0078] In some embodiments, an event monitoring element 171 sends requests to the peripheral interface 118 at predefined intervals. In response, the peripheral interface 118 transmits event information. In other embodiments, the peripheral interface 118 transmits event information only when an important event occurs (e.g., receiving an input above a predefined noise threshold and / or for a longer period of time than the predefined one).

[0079] In some embodiments, the event sorting element 170 further comprises a hit view determination module 172 and / or an active event detection determination module 173.

[0080] The hit view determination module 172 provides software methods for determining where a sub-event occurred within at least one view when the touch-sensitive display 112 displays more than one view. The views consist of controls and other elements that a user can see on the display.

[0081] Another aspect of the user interface associated with an application is a set of views, sometimes referred to in this document as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views (of a respective application) in which a touch is detected may correspond to program levels within a program or view hierarchy of the application. For example, the lowest-level view in which a touch is detected may be referred to as a hit view, and the set of events recognized as correct inputs may be determined at least in part based on the hit view of the initial touch that begins a touch-based gesture.

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

[0083] The active event detection determination module 173 determines which view or views within a view hierarchy should receive a particular sequence of sub-events. In some embodiments, the active event detection determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, the active event detection determination module 173 determines that all views that encompass the physical location of a sub-event are actively involved views, and therefore determines that all actively involved views should receive a particular sequence of sub-events. In other embodiments, even if touch sub-events are fully constrained to the area associated with a particular view, views higher up in the hierarchy would still remain actively involved views.

[0084] The event dispatcher module 174 sends the event information to an event recognizer (e.g., the event recognizer 180). In embodiments that include an active event recognizer determination module 173, the event dispatcher module 174 transmits the event information to an event recognizer determined by the active event recognizer determination module 173. In some embodiments, the event dispatcher module 174 stores the event information retrieved from a corresponding event receiver 182 in an event queue.

[0085] In some embodiments, operating system 126 includes an event sorting element 170. Alternatively, application 136-1 includes an event sorting element 170. In further embodiments, event sorting element 170 is a standalone module or part of another module stored in data storage 102, such as contact / motion module 130.

[0086] In some embodiments, the application 136-1 includes a plurality of event handlers 190 and at least one application view 191, each of which includes instructions for handling touch events occurring within a corresponding view of the application's user interface. Each application view 191 of the application 136-1 includes at least one event recognizer 180. Typically, a corresponding application view 191 includes a plurality of event recognizers 180. In other embodiments, at least one event recognizer 180 is part of a separate module, such as a user interface kit (not shown) or a higher-level object from which the application 136-1 inherits methods and other properties.In some embodiments, a corresponding event handler 190 includes at least one of the following elements: a data update element 176, an object update element 177, a GUI update element 178, and / or event data 179 obtained from the event sorting element 170. The event handler 190 may exploit or request that the data update element 176, the object update element 177, or a GUI update element 178 update the internal state of the application 192. Alternatively, at least one application view 191 includes at least one event handler 190. Further, in some embodiments, at least one data update element 176, an object update element 177, and a GUI update element 178 are included in a corresponding application view 191.

[0087] A corresponding event detection element 180 receives event information (e.g., event data 179) from the event sorting element 170 and identifies an event based on the event information. The event detection element 180 includes an event detection element 182 and an event comparison element 184. In some embodiments, the event detection element 180 includes at least a subset of: metadata 183 and event transmission instructions 188 (which may include transmission instructions for sub-events).

[0088] The event monitoring element 182 receives event information from the event sorting element 170. The event information includes information about a sub-event, such as a touch or a touch movement. Depending on the sub-event, the event information further includes additional information, such as the position of the sub-event. If the sub-event concerns a touch movement, the event information may include a speed and a direction of the sub-event. In some embodiments, the events include rotating the device from one orientation to another (e.g., from portrait to landscape and vice versa), and the event information includes corresponding information about the current orientation (also referred to as device pose) of the device.

[0089] The event comparison element 184 compares the event information to predefined event or sub-event definitions and, based on the comparison, determines an event or sub-event, or determines or updates the state of an event or sub-event. In some embodiments, the event comparison element 184 includes event definitions 186. Event definitions 186 include definitions of events (e.g., predefined sequences of sub-events), for example, Event 1 (187-1), Event 2 (187-2), and others. In some embodiments, sub-events within an Event (187) include, for example, touch start, touch end, touch swipe, touch cancellation, and multiple touches. In one example, the definition for Event 1 (187-1) is a double-tap on a displayed object.For example, the double-tap includes a first touch (touch onset) on the displayed surface for a predefined phase, a first lift (touch off) for a predefined phase, a second touch (touch onset) on the displayed object for a predefined phase, and a second lift (touch off) for a predefined phase. In another example, the definition for event 2 (187-2) is a drag on a displayed object. The drag includes, for example, a touch (or contact) on the displayed object for a predefined phase, a movement of the touch over a touch-sensitive display 112, and the lift (touch off). In some embodiments, the event further includes information about at least one associated event handler 190.

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

[0091] In some embodiments, the definition for a corresponding event (187) further comprises delayed actions that delay the transmission of the event information until it is determined whether or not the sequence of sub-events corresponds to the event type of the event detection element.

[0092] If a corresponding event recognizer 180 determines that the set of sub-events does not match any of the events in the event definitions 186, the corresponding event recognizer 180 enters an Event Impossible, Event Failed, or Event Completed state, after which it ignores subsequent sub-events of the touch-based gesture. In this situation, other event recognizers, if any, that remain active for the hit view continue to track and process sub-events of an ongoing touch-based gesture.

[0093] In some embodiments, a corresponding event detection element 180 includes metadata 183 with configurable properties, tags, and / or lists indicating how the event delivery system should perform delivery of the sub-events to actively involved event detection elements. In some embodiments, metadata 183 includes configurable properties, tags, and / or lists indicating how event detection elements can interact with each other or how they are enabled to interact with each other. In some embodiments, metadata 183 includes configurable properties, tags, and / or lists indicating whether sub-events are delivered to varying levels in the view or program hierarchy.

[0094] In some embodiments, a corresponding event recognizer 180 activates an event handler 190 associated with an event when at least one specific sub-event of an event is detected. In some embodiments, a corresponding event recognizer 180 transmits event information associated with the event to the event handler 190. Activating an event handler 190 is different from sending (and deferring) sub-events to a corresponding hit view. In some embodiments, the event recognizer 180 sets a flag associated with the detected event, and the event handler 190 associated with the flag captures the flag and performs a predetermined process.

[0095] In some embodiments, event transmission applications 188 include sub-event transmission instructions that transmit event information about a sub-event without activating an event handler. Instead, the sub-event transmission instructions transmit event information to the event handler associated with a series of sub-events or to actively involved views. Event handlers associated with the series of sub-events or actively involved views receive the event information and perform a predetermined process.

[0096] In some embodiments, the data update element 176 creates and updates data used in application 136-1. For example, the data update element 176 updates the phone number used in the contact module 137 or saves a video file used in the video player module. In some embodiments, the object update element 177 creates and updates objects used in application 136-1. For example, the object update element 177 creates a new user interface object or updates the position of a user interface object. The GUI update element 178 updates the GUI. For example, the GUI update element 178 prepares display information and sends it to the graphics module 132 for display on a touch-sensitive surface.

[0097] In some embodiments, the event handler(s) 190 includes(s) or has(s) access to a data update element 176, an object update element 177, and a GUI update element 178. In some embodiments, the data update element 176, the object update element 177, and the GUI update element 178 are contained in a single module of a corresponding application 136-1 or application view 191. In other embodiments, they are contained in two or more software modules.

[0098] It should be understood that the above discussion regarding event handling of user touches on touch-sensitive displays also applies to other forms of user input for operating multifunction devices 100 with input devices, not all of which are initiated on touchscreens. For example, mouse movements and mouse button presses, optionally coordinated with single or multiple keyboard presses or taps; contact movements such as taps, drags, scrolls, etc. on touchpads; stylus pen inputs; movement of the device, verbal instructions; detected eye movements; biometric inputs; and / or any combination thereof, as appropriate, are employed as inputs corresponding to sub-events that define an event to be detected.

[0099] Fig. 2 illustrates a portable multifunction device 100 with a touch-sensitive display 112 according to some embodiments. The touchscreen optionally displays at least two graphics within the user interface (UI) 200. In this embodiment, as well as others described further below, a user is enabled to select at least one graphic by making a gesture on the graphic, for example, with at least one finger 202 (not drawn to scale in the figure) or at least one stylus 203 (not drawn to scale in the figure). In some embodiments, selection of at least one graphic occurs when the user breaks contact with the at least one graphic.In some embodiments, the gesture may include at least one tap or at least one swipe (left to right, right to left, up, and / or down) and / or a roll (right to left, left to right, up, and / or down) of a finger that has come into contact with device 100. In some embodiments or under some circumstances, inadvertent contact with a graphic may not select the graphic. For example, a swipe gesture that swipes across an application icon may not select the corresponding application if the gesture corresponding to a selection is a tap.

[0100] Device 100 may further include at least one physical button, such as a "home" or menu button 204. As previously described, menu button 204 may be used to navigate to any application 136 in a set of applications that may be executed on device 100. Alternatively, in some embodiments, the menu button is implemented as a button in a GUI displayed on touchscreen 112.

[0101] In one embodiment, device 100 includes a touchscreen 112, a menu button 204, a push button 206 for turning the device's power on and off and for locking the device, volume control button(s) 208, SIM card slot 210, headset jack 212, and an external docking / charging port 124. Push button 206 is optionally used to turn the device's power on / off by pressing the button and holding it pressed for a predefined time interval; to lock the device by pressing the button and releasing it before the predefined time interval has elapsed; and / or to unlock the device or initiate an unlocking process. In an alternative embodiment, device 100 also accepts verbal input to enable or disable some features via microphone 113.The device 100 may further include at least one contact identity sensor 165 for detecting the intensity of a contact on the touchscreen 112 and / or at least one tactile output generator 167 for generating tactile outputs for a user of the device 100.

[0102] Fig. 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface, according to some embodiments. Device 300 need not be portable. In some embodiments, device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia player, a navigation device, an educational device (e.g., a children's educational toy), a gaming system, or a control device (e.g., a home or industrial controller). Device 300 further includes at least one processing unit (CPU) 310, at least one network or other communication interface 360, a data storage 370, and at least one communication bus 320 for interconnecting these components. Communication buses 320 include circuitry (sometimes referred to as a chipset) that interconnects and controls communications between the system components.The device 300 includes an input / output (I / O) interface 330, which includes a display 340, which is typically a touchscreen display. The I / O interface 330 optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 for generating tactile outputs on the device 300 (e.g., similar to the device(s) described above with reference to FIG. Fig. 1A), sensors 359 (e.g., optical, acceleration, proximity, touch-sensitive, and / or contact intensity sensors similar to the sensor(s) described above with reference to Fig. 1A. The data storage 370 includes high-speed random access memory such as DRAM, SRAM, DDR RAM, or other solid-state random access data storage devices; and optionally includes non-volatile data storage such as at least one magnetic disk storage device, optical disk storage device, flash memory device, or other non-volatile solid-state data storage device. The data storage 370 optionally includes at least one storage device located remotely from the CPU(s) 310. In some embodiments, a data storage 370 stores programs, modules, and data structures corresponding to programs, modules, and data structures stored in the data storage 102 of a portable multifunction device 100 ( Fig. 1A) or a subset thereof. Furthermore, the data memory 370 may store additional programs, modules, and data structures that are not present in the data memory 102 of the portable multifunction device 100. For example, the data memory 370 of the device 300 may store a drawing module 380, a presentation module 382, ​​a word processing module 384, a web page creation module 386, a disk authoring module 388, and / or spreadsheet module 390, while the data memory 102 of the portable multifunction device 100 ( Fig. 1A) may not save these modules.

[0103] Each of the elements identified above in Fig. 3 may be stored on at least one of the aforementioned data storage devices. Each of the modules identified above corresponds to a set of instructions for performing a function described above. The modules or programs (e.g., sets of instructions) identified above need not be executed as separate software programs, processes, or modules, and thus various subsets of these modules may be combined or otherwise rearranged in various embodiments. In some embodiments, data storage 370 may store a subset of the modules and data structures identified above. Further, data storage 370 may store additional modules and data structures not described above.

[0104] At this point, attention is directed to embodiments of user interfaces that can be implemented, for example, on a portable multifunction device 100.

[0105] Fig. 4A illustrates an example user interface for an application menu on a portable multifunction device 100 according to some embodiments. Similar user interfaces may be implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof: • Signal strength indicator element(s) 402 for wireless communication(s) such as wireless and Wi-Fi signals; • Time 404; • Bluetooth indicator 405; • Battery status indicator 406; • Bar 408 with icons for frequently used applications such as: ◯ Symbol 416 for the telephone module 138, referred to as “Telephone”, which may include an indicator 414 of the number of missed calls or voice messages; ◯ icon 418 for the email client module 140, referred to as “Mail”, which may include an indicator 410 of the number of unread emails; ◯ Symbol 420 for the browser module 147, referred to as “Browser”; and ◯ Symbol 422 for the video and music player module 152, also called iPod (trademark of Apple Inc.) module 152, referred to as “iPod”; and • Symbols for other applications such as: ◯ Symbol 424 for the IM module 141, referred to as “Messages”; and ◯ Symbol 426 for the calendar module 148, referred to as “Calendar”; and ◯ Symbol 428 for the image management module 144, referred to as “Photos”; and ◯ Symbol 430 for the camera module 143, referred to as “camera”; and ◯ Symbol 432 for the online video module 155, referred to as “Online Videos”; and ◯ Symbol 434 for the stock market widget 149-2, referred to as “Stock Market”; ◯ Icon 436 for the map module 154, referred to as “Maps”; and ◯ Icon 438 for the weather widget 149-1, referred to as “Weather”; ◯ Symbol 440 for the alarm clock widget 149-4, referred to as “Clock”; ◯ Symbol 442 for the training support module 142, referred to as “training support”; and ◯ Symbol 444 for the notes module 153, referred to as “Notes”; and ◯ Icon 446 for a settings application or module, referred to as “Settings,” that provides access to the settings for the device 100 and its various applications 136.

[0106] It should be noted that the Fig. 4A are merely exemplary in nature. For example, icon 422 for video and music player module 152 may be labeled "music" or "music player" where appropriate. Other labels may be used for various application icons. In some embodiments, a label for a respective application icon includes a name of an application corresponding to the respective application icon. In some embodiments, a label for a particular application icon is different from a name of an application corresponding to the particular application icon.

[0107] Fig. 4B illustrates an example user interface on a device (e.g., device 300, Fig. 3) with a touch-sensitive surface 451 (e.g. a tablet or touchpad 355, Fig. 3) that is separate from the display 450 (e.g., touchscreen display 112). The device 300 optionally further includes at least one contact identity sensor (e.g., at least one of the sensors 357) for detecting the intensity of a contact on a touch-sensitive surface 451 and / or at least one tactile output generator 359 for generating tactile outputs for a user of the device 300.

[0108] Although some of the following examples are given with reference to inputs on touchscreen displays 112 (where the touch-sensitive surface and the display are combined), in some embodiments, the device recognizes inputs on a touch-sensitive surface that are separated from the display, as in Fig. 4B. In some embodiments, the touch-sensitive surface (e.g., 451 in Fig. 4B) a primary axis (e.g. 452 in Fig. 4B) that corresponds to a primary axis (e.g. 453 in Fig. 4B) on the display (e.g., 450). According to these embodiments, the device detects contacts (e.g., 460 and 462 in Fig. 4B) with the touch-sensitive surface 451 at positions corresponding to corresponding positions on the display (e.g., in Fig. 4B, 460 corresponds to 468 and 462 corresponds to 470). In this way, user inputs (e.g., contacts 460 and 462 and movements thereof) received by the device on the touch-sensitive surface (e.g., 451 in Fig. 4B) are used by the device to display the user interface on the device (e.g. 450 in Fig. 4B) of the multifunction device when the touch-sensitive surface is separated from the device. It is understood that similar methods may be used for other user interfaces described in this document.

[0109] Furthermore, it should be understood that while the following examples are primarily provided with reference to finger inputs (e.g., finger contact, finger tap gestures, finger swipe gestures), in some embodiments, at least one finger input is replaced with an input from another input device (e.g., a mouse-based input or a stylus input). For example, a swipe gesture may be replaced with a mouse click (e.g., instead of a contact) followed by movement of the cursor along the swipe path (e.g., instead of movement of the contact). In another example, a tap gesture may be replaced with a mouse click while the cursor is positioned over the location of the tap gesture (instead of detection of the contact followed by discontinuation of detection of the contact).Similarly, it is understood that if multiple user inputs are detected simultaneously, multiple computer mice may be used simultaneously, or a mouse and finger contact may be used simultaneously.

[0110] Fig. 5A illustrates an exemplary personal electronic device 500. The device 500 includes a body 502. In some embodiments, the device 500 may include some or all of the features described with respect to devices 100 and 300 (e.g., Fig. 1A-4B). In some embodiments, device 500 includes a touch-sensitive display screen 504, hereinafter referred to as a touchscreen 504. Alternatively or in addition to touchscreen 504, device 500 includes a display and a touch-sensitive surface. As with devices 100 and 300, in some embodiments, at least one intensity sensor may be provided on touchscreen 504 (or touch-sensitive surface) for detecting the intensity of contacts (e.g., touches). The at least one intensity sensor of touchscreen 504 (or touch-sensitive surface) may provide output data representing the intensity of touches.The user interface of device 500 may respond to touches based on their intensity, meaning that touches with different intensities may invoke different user interface actions on device 500.

[0111] Techniques for detecting and processing touch intensity can be found, for example, in related applications: International Patent Application Serial No. PCT / US2013 / 040061, entitled “Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application,” filed May 8, 2013, and International Patent Application Serial No. PCT / US2013 / 069483, entitled “Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships,” filed November 11.

[0112] In some embodiments, device 500 includes at least one input mechanism 506 and 508. Input mechanisms 506 and 508, if present, may be physical. Examples of physical input mechanisms may include push buttons and rotatable mechanisms. In some embodiments, device 500 includes at least one attachment mechanism. Such an attachment mechanism, if present, may enable attachment of device 500 to, for example, hats, eyeglasses, earrings, necklaces, shirts, jackets, bracelets, watchbands, chains, pants, belts, shoes, handbags, backpacks, and so on. These attachment mechanisms may enable device 500 to be worn by a user.

[0113] Fig. 5B illustrates an exemplary personal electronic device 500. In some embodiments, the device 500 may implement some or all of the features described with respect to Fig. 1A, Fig. 1B and Fig. 3. Device 500 includes bus 512 operably connecting I / O portion 514 to at least one computer processor 516 and data storage 518. I / O portion 514 may be connected to display 504, which may include a touch-sensitive component 522 and optionally a touch intensity-sensitive component 524. Further, I / O portion 514 may be connected to communication unit 530 for receiving application and operating system data using Wi-Fi, Bluetooth, near field communication (NDC), cordless, and / or other wireless communication techniques. Device 500 may include input mechanisms 506 and / or 508. Input mechanism 506 may be, for example, a rotatable input device or a pressable and rotatable input device. Input mechanism 508 may be a button in some examples.

[0114] Input mechanism 508 may be a microphone in some examples. Personal electronic device 500 may include various sensors such as a GPS sensor 532, an accelerometer 534, a direction sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or a combination thereof, all of which are operably connected to I / O section 514.

[0115] The data storage 518 of the personal electronic device 500 may be a non-transitory computer-readable storage medium for storing computer-executable instructions that, when executed by, for example, at least one computer processor 516, may cause the computer processor to perform the techniques described above, including processes 1000-1200 ( Fig. 10A-10C, 11 and 12). The computer-executable instructions may be stored on or transported in any non-transitory computer-readable storage medium for use by or in connection with a system, apparatus, or device for executing instructions, such as a computer-based system, processor-containing system, or another system that can retrieve the instructions from the system, apparatus, or device and execute the instructions. For the purposes of this specification, a "non-transitory computer-readable storage medium" may be any medium that tangibly contains or stores computer-executable instructions for use by or in connection with the system, apparatus, or device for executing the instructions. The non-transitory computer-readable storage medium may include, but is not limited to, magnetic, optical, and / or semiconductor storage.Examples of such storage include magnetic disks, optical disks based on CD, DVD, or Blu-ray technologies, and durable solid-state data storage devices such as memory sticks, solid-state drives, and the like. Personal electronic device 500 is not limited to the components and configuration. Fig. 5B, but may include other or additional components in multiple configurations.

[0116] As used herein, the term “offering” refers to a user-interactive graphical user interface object that appears on the display screen of the devices 100, 300 and / or 500 Fig. 1, Fig. 3 and Fig. 5) can be displayed. For example, an image (e.g., an icon), a button, and text (e.g., a hyperlink) can each represent an offer.

[0117] As used herein, the term "focus selection element" refers to an input element that indicates a current portion of a user interface with which a user is interacting. In some embodiments that include a cursor or other position marker element, the cursor functions as a "focus selection element" such that when an input (e.g., a press input) is applied to a touch-sensitive surface (e.g., touchpad 355 in Fig. 3 or the touch-sensitive surface 451 in Fig. 4B) while the cursor is over a particular user interface element (e.g., a button, a window, a scroll bar, or other user interface element), the particular user interface element is recognized according to the detected input. In some embodiments that include a touchscreen display (e.g., touch-sensitive display system 112 in Fig. 1A or touchscreen 112 in Fig. 4A) that enables direct interaction with the user interface element on the touchscreen display, a detected contact on the touchscreen acts as a "focus selection element" such that when an input (e.g., a press input by the contact) is detected on the touchscreen display at a position of the particular user interface element (e.g., a button, a window, a scroll bar, or other user interface element), the particular user interface element is adjusted according to the detected input. In some embodiments, the focus is moved from one region of the user interface to another region of the user interface without a corresponding movement of a cursor or movement of a contact on a touchscreen display (e.g.,using a tab key or the arrow keys to move the focus from one key to another); in these embodiments, the focus selection element moves according to the movement of the focus between different regions of the user interface. Regardless of the particular shape taken by the focus selection element, the focus selection element is generally the user interface element (or contact on a touchscreen display) controlled by the user such that it communicates the user's intended interaction with the user interface (e.g., by displaying the user interface element with which the user intends to interact on the device). For example, the position of a focus selection element (e.g., a cursor, contact, or selection box) is indicated by a corresponding key during a press input on the touch-sensitive surface (e.g.,a touchpad or touchscreen) indicates that the user intends to activate the corresponding key (as opposed to other user interface elements presented on a display of the device).

[0118] As used in the specification and claims, the term "characteristic intensity" of a contact refers to a property of the contact based on at least one intensity of the contact. In some embodiments, the characteristic intensity is based on multiple intensity values. The characteristic intensity may be based on a predefined number of intensity values ​​or on a set of intensity values ​​collected during a predefined period of time (e.g., 0.05; 0.1; 0.2; 0.5; 1; 2; 5; 10 seconds) with respect to a predefined event (e.g.,after contact is detected, before contact lift-off is detected, before or after the start of contact movement is detected, before the end of contact is detected, before or after the start of contact movement is detected, before the end of contact is detected, before or after the start of contact movement is detected, before the end of contact is detected, before or after the increase in contact intensity is detected, and / or before or after the decrease in contact intensity is detected. A characteristic intensity of a contact is based, where appropriate, on at least one of the following values: a maximum value of the contact intensities, a mean value of the contact intensities, an average value of the contact intensities, a value in the upper 10th percentile of the contact intensities, a value equal to half the maximum of the contact intensities, a value at 90 percent of the maximum of the contact intensities, or the like.In some embodiments, the duration of contact is used to determine the characteristic intensity (e.g., when the characteristic intensity is an average of the intensity of contact over time). In some embodiments, the characteristic intensity is compared to a set of at least one intensity threshold to determine whether an action was taken by a user. For example, the set of at least one intensity threshold may include a first intensity threshold and a second intensity threshold.

[0119] In this example, contact with a characteristic intensity that does not exceed the first threshold results in a first action, contact with a characteristic intensity that exceeds the first intensity threshold and does not exceed the second intensity threshold results in a second action, and contact with a characteristic intensity that exceeds the second threshold results in a third action. In some embodiments, a comparison between the characteristic intensities and at least one threshold is used to determine whether at least one action is performed (e.g., whether to perform a corresponding action or refrain from performing the corresponding action), rather than being used to determine whether a first action or a second action is performed.

[0120] In some embodiments, a portion of a gesture is identified for the purpose of determining a characteristic intensity. For example, a touch-sensitive surface may receive a continuous swipe contact that originates from a start position and reaches an end position, at which point the intensity of the contact increases. In this example, the characteristic intensity of the contact at the end position may be based solely 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 may be applied to the swipe contact intensities before the characteristic intensity of the contact is determined.For example, the smoothing algorithm optionally includes at least one of the following algorithms: an unweighted moving average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some cases, these smoothing algorithms eliminate narrow peaks or dips in the wiping contact intensities for the purpose of determining a characteristic intensity.

[0121] The intensity of a contact on the touch-sensitive surface can be characterized with respect to at least one intensity threshold, such as a contact detection intensity threshold, a light press intensity threshold, a deep press intensity threshold, and / or at least one other intensity threshold. In some embodiments, the light press intensity threshold corresponds to an intensity at which the device performs actions typically associated with clicking a button on a physical mouse or trackpad. In some embodiments, the deep press intensity threshold corresponds to an intensity at which the device performs actions that are different from actions typically associated with clicking a button on a physical mouse or trackpad.In some embodiments, when a contact is detected with a characteristic intensity below the light-press intensity threshold (and above a nominal contact detection intensity threshold below which the contact is no longer detected), the device moves a focus selection element corresponding to the movement of the contact on the touch-sensitive surface without performing an action associated with the light-press intensity threshold or the deep-press intensity threshold. Generally, unless otherwise noted, these intensity thresholds are consistent across different sets of characters on the user interface.

[0122] An increase in the characteristic intensity of the contact from an intensity below the 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 the characteristic intensity of the contact from an intensity below the 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 the characteristic intensity of the contact from an intensity below the contact detection intensity threshold to an intensity between the contact detection intensity threshold and the light-press intensity threshold is sometimes referred to as the contact being detected on the touch surface.A reduction in the characteristic intensity of the contact from an intensity above the contact detection intensity threshold to an intensity below the contact detection intensity threshold is sometimes referred to as detecting the contact lifting 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.

[0123] In some embodiments described herein, at least one action is performed in response to detecting a gesture that includes a corresponding press input, or in response to detecting the corresponding press input performed with a corresponding contact (or a plurality of contacts), wherein the corresponding press input is based at least in part on detecting an increase in the intensity of the contact (or a plurality of contacts) above an intensity threshold for the press input. In some embodiments, the corresponding action is performed in response to detecting the increase in the intensity of the corresponding contact above the intensity threshold for the press input (e.g., a "downstroke" of the corresponding press input).In some embodiments, the press input comprises increasing the intensity of the corresponding contact above the press input intensity threshold and then decreasing the intensity of the contact below the press input intensity threshold, and the corresponding action is performed in response to detecting the subsequent decrease in the intensity of the corresponding contact below the press input threshold (e.g., an "upstroke" of the corresponding press input).

[0124] In some embodiments, the device uses intensity hysteresis to prevent accidental inputs, sometimes referred to as "jitter," where the device defines or selects a hysteresis intensity threshold with a predefined relationship to the intensity threshold for the press input (e.g., the hysteresis intensity threshold is X intensity units lower than the intensity threshold for the press input, or the hysteresis intensity threshold is 75%, 90%, or a reasonable fraction of the intensity threshold of the press input).Thus, in some embodiments, the press input comprises increasing the intensity of the corresponding contact above the intensity threshold of the press input and then decreasing the intensity of the contact below the hysteresis intensity threshold corresponding to the intensity threshold for the press input, and the corresponding action is performed in response to detecting the subsequent decrease in the intensity of the corresponding contact below the hysteresis intensity threshold (e.g., an "upstroke" of the corresponding press input).

[0125] Similarly, in some embodiments, the pressure input is detected only when the device detects an increase in the intensity of the contact from an intensity at or below the hysteresis intensity threshold to an intensity at or below the intensity threshold of the pressure input and, optionally, a subsequent decrease in the intensity of the contact to an intensity at or below the hysteresis intensity, and the appropriate action is performed in response to detecting the pressure input (e.g., increasing the intensity of the contact or decreasing the intensity of the contact depending on the circumstances).For clarity, the description of actions performed in response to a press input associated with a press input intensity threshold or in response to a gesture including the press input may be described in response to detecting one of the following changes: an increase in the intensity of a contact above the press input intensity threshold, an increase in the intensity of a contact from an intensity below the hysteresis intensity threshold to an intensity above the press input intensity threshold, a decrease in the intensity of the contact below the press input intensity threshold, and / or a decrease in the intensity of the contact below the hysteresis intensity threshold corresponding to the press input intensity threshold.

[0126] Furthermore, in examples where an action is described as being performed in response to detecting a reduction in the intensity of a contact below the intensity threshold for the pressure input, the action is optionally performed in response to detecting a reduction in the intensity of the contact below a hysteresis intensity threshold that is equal to or lower than the intensity threshold for the pressure input.

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

[0128] As used herein, the term "open application" or "running application" refers to a software application with stored state information (e.g., as part of the device-internal / global internal state 157 and / or application-internal state 192). An open or running application can be any of the following application types: • an active application currently displayed on a display screen of the device on which the application is used. • a background application (or background processes) that is not currently displayed, but has at least one process for the application being processed by at least one processor; and • a suspended or dormant application that is not running but has state information stored in the data store (as appropriate, volatile or non-volatile) that can be used to resume the application's execution.

[0129] As used herein, the term "closed application" refers to software applications without stored state information (e.g., state information for closed applications is not stored in a device's data store). Accordingly, closing an application includes stopping and / or removing the application processes for the application and removing state information for the application from the device's data store. Generally, opening a second application while using a first application does not close the first application. When the second application is displayed and the first application is no longer displayed, the first application becomes a background application. As used herein, "starting" an application refers to opening a closed application so that it becomes the active open application.

[0130] At this point, attention is drawn to user interfaces (UT) and related processes that are implemented on a multifunction device with a display and a touch-sensitive surface, such as devices 100, 300 and / or 500 Fig. 1, Fig. 3 and Fig. 5) can be implemented to provide electronic touch communication functionalities. At least one of the techniques described below can be referred to as "electronic touch" communication. 1. Example electronic touch communication

[0131] Fig. 6A-6D illustrate exemplary electronic touch communication between users of computing devices 600 and 699. Each of devices 600 and 699 is, in some embodiments, a device 100, 300, or 500 ( Fig. 1, Fig. 3 and Fig. 5). For clarity, the upper row of images in Fig. 6A-6C show user interfaces displayed on device 600, and the bottom row of illustrations corresponds to the user interfaces displayed on device 699.

[0132] As shown, device 600 displays a user interface 602 with a plurality of icons for launching various modules on the device, including icon 604. Icon 604 may, for example, correspond to a clock application, meaning that when the icon is selected (e.g., touched), device 600 launches a corresponding clock application. Device 600 further includes an input mechanism 606. Input mechanism 606 is a push button in some embodiments.

[0133] When device 600 detects activation (e.g., a press) of button 606, device 600 displays the phone book contacts user interface (UI) 610. The phone book contacts UI 610 may include offerings representing, for example, the user's friends and family. Contacts displayed in the phone book contacts UI are obtained from application data available to device 600, such as data associated with a phone or calendar application. Such data may be stored locally on the device, remotely on a suitable mobile phone, and / or remotely in the cloud.

[0134] The phonebook contacts UI 610 can be scrolled and / or zoomed to reveal additional offerings representing phonebook contacts. For example, a swipe input can be used to scroll the phonebook contacts UI 610, and a pinch input can be used to zoom the phonebook contacts UI 610. In some embodiments, the device 600 has a rotatable input mechanism, and movements of the rotatable input mechanism cause the phonebook contacts UI 610 to zoom (or scroll). In some embodiments, the contacts presented in the phonebook contacts UI 610 are a subset of the total phonebook contacts available for the device 600.The displayed subset may represent contacts previously marked by the user, for example, as the user's "favorites" or a user or system defined as a "whitelist" or "greylist".

[0135] In response to selection of an affordance 611, device 600 displays a contact information UI 616 providing additional information regarding the selected phone book contact. In the illustrated example, the phone book contact's name 617 and its picture 620 are shown. In an alternative embodiment, a system-generated monogram may be provided using the contact's name to generate the initial if a picture of a contact is not available. Furthermore, the contact information UI 616 includes affordance 618 for initiating a call (audio and / or video) and affordance 619 for initiating a message (e.g., short messages via services such as SMS and MMS, text messages via services such as iMessage® provided by Apple, Inc. of Cupertino, California) to the phone book contact 617.

[0136] In response to user input detected while displaying the contact information UI 616, the device 600 proceeds to display the drawing area 630 (also referred to as a canvas). The drawing area 630 provides an area for touch-based drawing. In some embodiments, the user input that invokes the drawing area 630 is a touch on the name of a phone book contact 617 or the picture of a contact 620. In some embodiments, the user input required to invoke the drawing area 630 is a touch on the contact information UI 616 that navigates away from affordances 618 and 619.

[0137] With reference to Fig. 6B, device 600 detects user input 632 in a character area 630. User input 632 includes swipes resembling a smiling face. Device 600 displays a visual representation 634 corresponding to user input 632. Visual representation 634 fades after being displayed for a period of time, as represented by dotted lines 636.

[0138] Device 600 sends data representing input 632 to device 699. In some embodiments, device 600 sends data after a predefined period of time has elapsed since input 632. If input 632 includes multiple swipes, device 600 may wait to send the data until a predefined period of time has elapsed after the last swipe. In some embodiments, the sending of the data is timed to coincide with the fading of visual representation 634. In this way, the fading of visual representation 634 further serves to inform the user that the touch communication is being sent to device 699.

[0139] At an external device 699 associated with the phone book contact 617, the incoming data is received and an output is provided informing the user of the incoming communication. In some embodiments, the device 699 displays a notification 638 to indicate an incoming communication. In some embodiments, the device 699 first produces an audible and / or haptic output, and upon detecting movement of the device (e.g., such as a user lifting or picking up the device), the notification 638 is displayed. In some embodiments, the device 699 produces an audible and / or haptic output while the notification 638 is displayed.The use of a haptic output is particularly effective in this situation because of the close proximity between the portable electronic device 699 and its user - the user is likely to feel the haptic vibration.

[0140] Upon viewing notification 638, the user can accept or decline viewing of the incoming communication. In some embodiments, a tap input on notification 638 or an input (e.g., an accelerometer input or camera input) associated with the user viewing notification 638 for a period of time exceeding a threshold period indicates acceptance. Upon acceptance, device 699 displays a visual representation of the received communication. In some embodiments, upon acceptance of viewing of the communication, device 699 launches a corresponding electronic touch communication application and displays a drawing area to display the incoming drawing. In some embodiments, upon acceptance of viewing of the communication, device 699 displays the communication without additionally launching an electronic touch communication application.In some embodiments, a swipe (e.g., up or down) on notification 638 indicates a decline, and in response, device 699 does not display the incoming communication.

[0141] Techniques for determining when a device such as device 699 has been raised or picked up into a viewing position are described in co-pending U.S. Provisional Patent Application Serial No. 62 / 026,532, entitled "Raise Gesture Detection in a Device," filed July 18, 2014. Techniques for determining whether a user has viewed a notification for a period of time exceeding a threshold are described in co-pending U.S. Provisional Patent Application entitled "REDUCED-SIZE INTERFACES FOR MANAGING ALERTS," filed September 2, 2014, which names Lawrence Yang et al. as inventors.

[0142] In the illustrated example, device 699 detects an acceptance of the user's viewing of the communication and, in response, launches an electronic touch communication application to display the drawing area 640. The drawing area 640 includes a visual representation 642 of the touch input 632. Referring to Fig. 6C, the visual representation 642 fades after being displayed for a threshold period, as represented by the dotted lines 644.

[0143] While displaying the drawing area 640, the device 699 may detect a user input with swipes 650 that resemble a frowning face. In response, the device 699 displays a visual representation 654 of the detected input 650. Referring to Fig. 6D, after some time, device 699 sends data to device 600 informing device 600 of the detected input 650. Device 699 also fades visual representation 654 (as shown by dotted lines 656). Since device 600 is already displaying character area 630, upon receiving data representing input 650 from device 699, device 650 displays visual representation 660 of input 650 (e.g., the frowning face). In this way, users of devices 600 and 699 can communicate with each other using touch-based electronic communication.

[0144] In some embodiments, the visual representation of a displayed swipe is removed from an on-screen animation that fades the displayed visual representation. In some embodiments, the fading occurs from one end of the visual representation to another corresponding to the beginning and end of the displayed stroke. For example, the visual representation 660 (which resembles a frowning face) may fade from the left eye to the right eye and to the mouth, since it was drawn in that order.

[0145] In some embodiments, the kinematics of a swipe input are reflected in its visual representation. For example, if the initial swipes in input 650 were fast, but the later movements of swipe input 650 were slow, when device 600 renders visual representation 660 (and when device 699 renders visual representation 654), the strokes are displayed as fast at first and slow toward the end, according to kinematic information indicating the direction in which the strokes were drawn. In another example, the jerkiness of the movement of swipe input 650 is also represented during the display of visual representations 654 and 660. The kinematic information may be included in data sent between devices 600 and 699.

[0146] In some embodiments, a pause is rendered between portions of a swipe input while the visual representation of the swipe input is displayed on the screen. For example, if the eyes in the frowning face of swipe input 650 are drawn with a pause between them, the eyes are drawn with the same pause length between them (or a proportional pause length) as they are displayed on devices 600 and 699.

[0147] In some embodiments, a drawing area includes a color selection mechanism for selecting a color to be used when displaying visual representations of swipe inputs. Fig. 6E illustrates an exemplary color selection mechanism referred to as a color picker. As shown, device 600 displays drawing area 670 with a color picker affordance 672. Although not shown, color picker affordance 672 is displayed in the current color, meaning that strokes drawn by the user of device 600 are displayed on both devices 600 and 699 in the color of affordance 672.

[0148] A user may select a color picker affordance 672 to present a color picker UI 680. The color picker UI 680 includes an affordance displaying previously (e.g., recently) used colors. A user may select one of the displayed affordances to select a displayed color as the current drawing color. The color picker UI 680 further includes the affordance 682 for invoking a color palette. In response to a user selection of an affordance 682, the device 600 displays a color palette UI 690 that provides a spectrum of colors for user selection. A user may select a portion of the color palette 692 to select a corresponding color as the current drawing color.

[0149] In some embodiments, device 600 includes at least one color palette user interface. For example, pastel colors may be grouped for display via an additional color palette user interface. As shown in Fig. As shown in Figure 6E, the color palette user interface 690 may include character numbering indicators 694 to indicate the number of pages of available colors and to indicate the location of the current page within the set of pages. In the illustrated example, the device 600 presents a user interface for an additional color palette user interface 696 in response to a swipe input in a first or second direction (e.g., horizontal swipe) while the UI 690 is displayed.

[0150] The arrangement of colors on the pages can be based on the frequency of use of the color, the most recent use of the color, or a combination of both. A user can select a portion of the color palette 698 to select a corresponding color as the current drawing color. After selecting a color from a UI for the color palette, the device 600 returns to the drawing area 670. The color picker affordance 672 is updated to reflect the currently selected color.

[0151] With brief reference to Fig. 6B-6D, the color picker offering provides an additional user interface function in some embodiments. As shown in Fig. 6C, the device 699 sometimes presents the color picker affordance 646 in the drawing area 640, but hides the color picker affordance 646 at other times. For example, in some embodiments, the device 699 does not present the color picker affordance 646 when an incoming communication (e.g., a visual representation 642) is being displayed. Instead, a color picker affordance 646 is presented after a visual representation 642 has faded (as shown by the dotted lines 644). In these embodiments, the presence of a color picker affordance in the drawing area signals to a user that touch inputs have been accepted. In other words, in these embodiments, the device briefly stops receiving drawing inputs when an incoming communication (e.g., a visual representation 642) is being presented so that the incoming communication can be displayed without interruption. The color picker affordance (e.g.,646) is hidden at these times to indicate that character inputs are ignored, at least with respect to displaying representations in the character area (e.g., 640).

[0152] As another example, in some embodiments, when a user is currently drawing, incoming communications are held in a queue to be displayed after the current drawing is submitted. In these embodiments, the queued drawings are displayed after the drawing is submitted, during which time the user is unable to draw. The color picker affordance (e.g., 646) is hidden at these times to thereby indicate that the drawing inputs are ignored, at least with respect to displaying representations in the drawing area (e.g., 640). 2. Additional exemplary communication techniques

[0153] Fig. 7A-7E illustrate additional example touch communication techniques between users of electronic devices 700 and 799. Devices 700 and 799 are, in some embodiments, devices 100, 300 and / or 500 ( Fig. 1, Fig. 3 and Fig. 5).

[0154] At this point, attention is drawn to how a device 700 can convert a subtle tap on its touchscreen into electronic touch communication. In Fig. 7A, devices 700 and 799 participate in a communication session. Device 700 receives user input 712 at a location 714 in a drawing area 710. Data representing user input 712 at location 714 is sent from device 700 to device 799. Upon receiving this data, device 799 displays visual representation 722 of the input in the drawing area 720. Device 799 displays a visual representation on the screen at a location corresponding to location 714. Following input 712, device 700 may receive additional user input 716 at a different location 178. Data representing user input 716 at location 718 is sent from device 700 to device 799. Upon receiving this data, device 799 displays visual representation 724 of input 716.As before, the position of the visual representation 724 on the screen corresponds to the position 718 of the touch input 716.

[0155] Since detection and display of touch contacts (e.g., character strokes, single-finger taps, multi-finger touches) such as touch contacts 712 and 716 can be performed by the event sorting element 170, the event detection element 180, and the event handler 190 ( Fig. 1B. The event monitoring element 171 in the event sorting element 170 detects a tick on the touch-sensitive display 112, and the event dispatcher module 174 transmits the event information to the application 136-1. A corresponding event detection element 180 of the device 136-1 compares the event information with corresponding event definitions 186 and determines whether a first contact at a first location of the touch-sensitive surface corresponds to a predefined event or sub-event, such as a single-finger contact, a multi-finger touch contact, or a swipe. If a corresponding predefined event or sub-event is detected, the event detection element 180 activates an event handler 190 associated with detecting the event or sub-event.Event handler 190 may use or request that data update element 176 or object update element 177 update the internal state of application 192. In some embodiments, event handler 190 accesses a corresponding GUI update element 178 to update what is displayed by the application.

[0156] In some embodiments, the visual representation 722 is displayed for the duration of the touch input 714, meaning that the visual representation 722 is displayed until the touch input 714 is suspended. In some embodiments, the visual representation 722 is displayed for a specific duration of time, meaning that the visual representation 722 is removed from the display after being displayed for a period of time, regardless of whether the touch input 714 is suspended or not. In some embodiments, the visual representation 722 is removed from the display by fading.

[0157] While the visual representation 722 may be a graphical output on the screen, such as an image, an animated image, a line drawing, or the like, it should be noted that the visual representation 722 represents a touch input (received on an external electronic device). "Representation" in the context of the visual representation 722 means that the visual information communicates at least some information related to the touch input. Examples of information that may be communicated include the position, duration, intensity, contact size of the touch, and the number of touch objects (e.g., fingers) generating the touch. Thus, the following example visual representations of a touch are representative: • an image arranged at a position corresponding to the position of a detected touch; • an image displayed for a duration corresponding to the duration of a detected touch; • an image (e.g. an ellipse) with a size corresponding to the size of the touch contact; or • a color scheme (e.g. a heat map) according to the intensity of a detected touch;

[0158] In contrast, however, a generic image that is displayed simply because a touch input was readily detected is not considered representative, even if its display results from the touch input.

[0159] In some embodiments, the visual representation 722 is circular, elliptical, or oval. The size of the visual representation 722 may be indicative of the contact size of the touch input 714, e.g., the size of the user's finger. In some embodiments, the visual representation 722 comprises multiple circles, ellipses, or ovals. The shapes may be displayed concentrically. If the visual representation 722 comprises multiple geometric shapes, the number of shapes may provide a visual representation indicative of or corresponding to the intensity of a touch. Further, if the visual representation 722 comprises multiple shapes, the shapes may progressively fade, similar to ripples in water, as the visual representation 722 recedes from display on the screen, providing a time indicator.

[0160] In some embodiments, the touch input (e.g., 712 and 716) required to cause display of visual representations 722 and 724 on device 799 is a single-finger tap, meaning that a multi-finger touch on device 700 would not produce the same visual representations on device 799, and a single-finger swipe on device 700 would also not produce the same visual representations. In some embodiments, the display of visual representations 722 and 724 is accompanied by audible and / or haptic output.

[0161] In some embodiments, device 799 is capable of displaying visual representations 722 and / or 724 regardless of whether they are currently displaying a drawing area. That is, device 799 may be capable of displaying the representations even when it is not actively playing an electronic touch communication application. Instead, device 799 may simply begin vibrating and / or displaying visual representations 722 and / or 724 in response to incoming data via single-finger taps 712 and / or 716. In some embodiments, the display of the visual representations is accompanied by a haptic output.In some embodiments, the haptic output is provided first, and the display of the visual representations occurs after a user moves the device to a view position as determined by an input such as an accelerometer input or a camera input in conjunction with the user looking at the device.

[0162] At this point, attention is drawn to how the device 700 can convert repeated subtle taps into electronic touch communication. In Fig. 7B, the device 700 displays a phone book contacts user interface 730, which in some embodiments is the contacts user interface 610 ( Fig. 6A). The phone book contacts UI 730 includes affordances 731-734 representing phone book contacts. When device 700 receives user input 736 that is a touch input of a double tap, device 700 sends data corresponding to the detected double tap to device 799. In response, device 799 transitions from an inactive state to displaying a notification 740 indicating that the user of device 700 has sent a communication. In some embodiments, notification 740 is accompanied by an audible and / or haptic output. The audible and / or haptic output may correspond to the number of double taps detected by device 700. For example, device 799 may generate a subtle (i.e., audible) vibration in response to each double tap detected on device 700.

[0163] At this point, attention is drawn to how the device 700 can convert sustained touch contacts on its touchscreen into electronic touch communication. Fig. 7C, device 700 detects user input 752, which is a two-finger touch contact in the drawing area 710. In response, device 700 sends data representing the multi-finger input to device 799. Upon receiving this data, device 799 displays an image 754 in the drawing area 740. In some embodiments, image 754 is a heart-shaped image. Device 799 displays image 754 until device 700 releases the two-finger touch 752.

[0164] Since detection and display of touch contacts (e.g., character strokes, single-finger taps, multi-finger touches) such as touch contact 752 can be performed by the event sorting element 170, the event detection element 180, and the event handler 190 ( Fig. 1B). The event monitoring element 171 in the event sorting element 170 detects a tick on the touch-sensitive display 112, and the event dispatcher module 174 transmits the event information to the application 136-1. A corresponding event detection element 180 of the device 136-1 compares the event information with corresponding event definitions 186 and determines whether a first contact at a first location of the touch-sensitive surface corresponds to a predefined event or sub-event, such as a single-finger contact, a multi-finger touch contact, or a swipe. If a corresponding predefined event or sub-event is detected, the event detection element 180 activates an event handler 190 associated with detecting the event or sub-event.Event handler 190 may use or request that data update element 176 or object update element 177 update the internal state of application 192. In some embodiments, event handler 190 accesses a corresponding GUI update element 178 to update what is displayed by the application.

[0165] In some embodiments, an image 754 pulsates such that its size, as in Fig. 7C, varies over time. In some embodiments, the pulsation of image 754 is accompanied by a haptic and / or audio output from device 799. In some embodiments, device 700 includes a galvanic skin response (GSR) sensor that senses a user's heart rate and sends the heart rate information to device 799 so that device 799 can pulsate image 754 according to the detected biometric information. The pulsation of image 754 may further be accompanied by audible and / or haptic outputs. For example, device 799 may vibrate in synchronization with each visual pulse.

[0166] In some embodiments, device 799 is capable of displaying image 754 regardless of whether it is currently displaying a drawing area. That is, device 799 may be capable of displaying image 754 even if it is not actively playing an electronic touch communication application. Instead, device 799 may simply begin vibrating and / or displaying image 754 in response to incoming data via multi-finger touch 752. In some embodiments, the display of images is accompanied by haptic output. In some embodiments, the haptic output is provided first, and image display occurs after a user moves the device to a viewing position as determined by input such as an accelerometer input or a camera input in conjunction with the user looking at the device.

[0167] At this point, attention is drawn to how the device 700 can accommodate verbal input during an electronic touch communication session. In Fig. 7D, device 700 displays drawing area 710, while device 799 displays drawing area 720. Drawing areas 710 and 720 include visual representations 762 and 764 of brush strokes representing previous communication in the ongoing electronic touch communication session. While drawing area 710 is displayed, device 700 detects activation of input mechanism 772. In some embodiments, input mechanism 772 is a mechanical button. For the duration of the activation, device 700 records an audio input provided to the device. That is, a user can provide a verbal message to device 700, which is subsequently recorded. Upon releasing input mechanism 772, device 700 sends the audio recording to device 799, where the recording is played. As shown in Fig. 7D, while device 700 is recording, device 799 continues to display character area 720 so that the user of device 799 can continue to participate in the communication session.

[0168] At this point, attention is drawn to how device 700 can enable alternative methods of contact between participants in an electronic touch communication session. Fig. 7E illustrates a contextual user interface 790, which in some embodiments may be invoked from the drawing area 710. As illustrated, the device 700 presents the drawing area 710 and receives the touch input 792. The touch input 792 has a high characteristic touch intensity, indicating that it is a strong touch. In some embodiments, a touch with a characteristic intensity above a threshold intensity is considered a high-intensity touch. In response to detecting a high-intensity touch 792 while displaying the drawing area 710, the device 700 displays the contextual user interface 790, which includes affordances for initiating other forms of communication with the participant(s) of the electronic touch communication session (e.g., Contact A; Fig. 6A). It should be noted that touches below the threshold are considered single-finger contacts such as taps and swipes and / or multi-finger touches as described above with reference to Fig. 7A-7C.

[0169] For example, contextual user interface 790 includes affordance 794, which, when selected, initiates a telephone call (audio and / or video) to contact A. Contextual user interface 790 further includes affordance 796, which, when selected, initiates an email draft directed to contact A. Contextual user interface 790 further includes affordance 798, which, when selected, initiates a message (e.g., short messages via services such as SMS and MMS, text messages via services such as iMessage® from Apple, Inc. of Cupertino, California) directed to contact A. 3. Alternative communication models

[0170] At this point, attention is drawn to other models of electronic touch communication between devices, which, with reference to Fig. 8 and 9A-9B may be used in some embodiments.

[0171] In some embodiments, electronic touch communication occurs after a session has been initiated by a participant and accepted by the receiving participant. This aspect is described with reference to Fig. 8 discussed. In Fig. Figure 8 shows the device 800, which in some embodiments is the device 100, 300 or 500 ( Fig. 1, Fig. 3 and Fig. 5), the phone book contacts user interface 810. In response to a user's selection of one of the displayed affordances 811-814, device 800 displays the contact information user interface 820, in this case for contact "A," represented by affordance 811. The user proceeds to invite contact "A" to a communication session by touching user interface 820. In response, device 800 sends a request to device 899 inviting contact "A" to communicate and displays user interface 830 with indicator 834 indicating that contact "A" is being invited. Meanwhile, device 899 associated with contact "A" transitions from an inactive state to displaying a notification 840 indicating that the user of device 800 (in this case, contact "Z") is requesting electronic touch communication.

[0172] In some embodiments, the user of device 800 may cancel the invitation by navigating away from user interface 830, for example, by swiping input or activating another input mechanism on the device. In some embodiments, the user of device 899 may accept a pending invitation by touching input 840. The user may also decline an invitation by swiping away notification 840 (e.g., in an up or down direction). If the invitation is accepted, devices 800 and 899 proceed to display the respective character areas 850 and 860, thus establishing a two-way communication session. Thus, a two-way communication "session," as used herein, is established after (i) one user sends another user an invitation to communicate and (ii) the receiving user accepts it.If the invitation is declined (not shown), the device 800 returns to the contact information user interface 820 and the device 899 returns to its previous (inactive) state.

[0173] At this point, attention is drawn to Fig. 9A-9B are directed to embodiments in which electronic touch communications can collectively participate in a communication session. In Fig. 9 shows the device 900, which in some embodiments is the device 100, 300 or 500 ( Fig. 1, Fig. 3 and Fig. 5), the character area 910. The device 999, which in some embodiments is the device 100, 300 or 500 ( Fig. 1, Fig. 3 and Fig. 5) displays the drawing area 920. As depicted, the device 900 detects the swipe input 912, which represents a downward stroke 914 in the drawing area 910. In response, the device 900 displays a visual representation 916 of the detected stroke 916.

[0174] Visual representation 916 may be in the form of a brush stroke. Meanwhile, device 900 sends data to device 999 representing stroke 914 (e.g., swipe input 912). Upon receiving this information, device 999 displays visual representation 922 of the stroke in its drawing area 920.

[0175] Both users can continue drawing. As shown, device 900 detects an additional swipe input 926 representing stroke 928, while device 999 detects swipe input 930 representing stroke 932. Device 900 displays visual representation 936 of swipe input 926, and device 999 displays visual representation 940 of swipe input 930. The data representing the two strokes 928 (swipe input 926) and 932 (swipe input 930) are exchanged between the devices, meaning that device 900 sends data representing stroke 928 (e.g., swipe input 926) to device 999, and device 999 sends data representing stroke 932 (e.g., swipe input 930) to device 900. After this exchange of information, both devices display visual representations according to the received information.In the case of device 900, visual representations 946 are displayed in addition to visual representations 916 and 936. On device 999, visual representation 942 is displayed in addition to visual representations 922 and 940. In some embodiments, the displayed visual representations are in the form of brush strokes. As can be seen in this way, the users of devices 900 and 999 may have participated together in a drawing session, particularly in drawing a smiling face.

[0176] To make room for additional drawings in the drawing areas 640 and 642, in some embodiments, displayed visual representations are removed after a certain period of time. This period may be predetermined, for example, to 1, 2, or 3 seconds. As shown in Fig. As shown in Figure 9B, visual representations 916 and 930 are removed first because they result from earlier user input. Visual representations 936 and 946, as well as 942 and 940, are subsequently removed from the drawing areas because they represent later user input.

[0177] It is possible for a user to miss an incoming electronic touch communication (e.g., powered off or no network connection). Furthermore, it is possible for a user to ignore the haptic and / or visual outputs associated with an incoming communication. In some embodiments, device 900 displays missed communication indicators that identify missed communications. This aspect is discussed with respect to Fig. 9C discussed. Fig. Figure 9C shows the phone book contacts user interface 990, which in some embodiments is the phone book contacts user interface 610 ( Fig. 6A). The phone book contacts UI 990 includes a plurality of affordances representing phone book contacts, including affordance 992 representing contact “D.” The indicator 994 is displayed adjacent to affordance 992 (meaning that indicator 994 is closest to affordance 992 of all displayed affordances). The indicator 994 indicates to the user of the device 900 that the incoming electronic touch communication from contact “D” was missed. Optionally, the visual appearance of the indicator 994 conveys additional information regarding the missed electronic touch communication. For example, the indicator 994 may take a particular shape to indicate a missed notification (notification 638; Fig. 6A), a missed communication request (notification 840; Fig. 8), a missed single tap ( Fig. 7A), a missed double tap ( Fig. 7B), a missed multi-finger touch ( Fig. 7C), and so on. As another example, the size of indicator 904 may reflect the number of missed communications. In some embodiments, multiple indicators may be displayed adjacent to a contact offer to indicate that multiple communication types were missed.

[0178] In some embodiments, a phone book contacts UI 990 may display information regarding parties to electronic touch communications who are not currently registered as contacts with device 900. For example, the phone book contacts UI 990 may display a phone number of a person previously unknown to device 990. In this example, the phone book contacts UI 990 may provide an additional offer to register the previously unknown person as a contact.

[0179] In some embodiments, the phone book contacts UI 990 is configured to display a subset of user-marked and / or system-defined contacts. In these embodiments, a phone book contacts UI 990 may display information regarding electronic touch communications regarding parties other than user-marked or system-defined contacts. For example, the device 990 may have recently received an incoming communication from a regular contact of the user (who is not one of the user's favorite contacts). In this example, the phone book contacts UI 990 may provide a supplementary offer to mark the contact as a favorite contact. In another embodiment, the device 990 may have recently received an incoming communication from a person previously unknown to the device 990.In this example, the phone book contacts UI 990 may provide an additional offer to register the previously unknown person as a contact (and, if applicable, to mark the newly added contact as a user favorite). 4. Exemplary electronic touch communication processes

[0180] At this point, attention is drawn to processes performed on devices 100, 300 and / or 500 ( Fig. 1, Fig. 3, Fig. 5) can be implemented to achieve the objectives set out above with reference to Fig. 6A-6E, 7A-7E, 8 and 9A-9C.

[0181] Fig. 10A-10C illustrate a flow diagram illustrating a process 1000 for electronic touch communications. The process 1000 may, in various embodiments, be performed by electronic devices such as devices 100, 300, and / or 500 ( Fig. 1, Fig. 3 and Fig. 5). At block 1002, a plurality of offers representing contacts are displayed. The display may be triggered by a user input. Optionally, the displayed contacts may represent a user-selected subset of the available phone book contacts, such as a user's "favorite" contacts, or a system defined as a "white list" or "grey list." An exemplary display of the offers representing contacts is shown in Fig. 6A. At block 1004, the device detects a user selection of a selected offer and, in response, displays contact information identifying the selected contact.

[0182] This information may include the contact's name, picture, number, and so on. Fig. 6A provides an example user interface for contact information 616.

[0183] At block 1006, which responds to a user selection of a displayed offer, a canvas such as the drawing area 630 ( Fig. 6A). In some embodiments, an invitation may be sent to the selected contact (the electronic device associated with the contact) inviting the contact to engage in electronic touch communication. In some embodiments, the device may wait for acceptance of the invitation before displaying the drawing area.

[0184] While the drawing area is displayed, a user input in the form of a swipe is detected at block 1008. Upon detecting the user input, processing proceeds to decision block 1010, where a determination is made as to whether the input is a single or multi-finger touch input. If the input is a multi-finger contact, processing proceeds to block 1012, where the device sends data representing the multi-finger contact to an external device. The transmitted data provides a display to the external device to display an image, such as image 754 in Fig. 7C. If the input is a single-finger contact, processing proceeds to decision block 1014, where a determination is made as to whether the single-finger input is a swipe or a tap. If the single-finger input is a tap, processing proceeds to block 1016, where data representing the single-finger tap is sent to an external device. The transmitted data enables a visual representation, such as visual representation 722 in Fig. 7A is generated on an external device. The transmitted data can thus have the effect of triggering the display of various representations on the external device.

[0185] If the single-finger input is a swipe, processing proceeds to block 1018 where the device displays a visual representation of the swipe input, such as one of the eyes of the smiling face, which is selected from the visual representation 634 in Fig. 6B. At block 1020, a decision is made as to whether a threshold period has elapsed since the last detected swipe. If the threshold period has elapsed, processing proceeds to block 1022, where the device transmits data indicative of the received swipe input(s) to an external device. The transmitted data enables a visual representation, such as visual representation 642 ( Fig. 6B) is generated on an external device. If the threshold period has not yet passed, processing proceeds to block 1024, where an additional swipe may be detected in the drawing area. After block 1024, processing returns to block 1018 so that any additional received inputs are displayed on the screen. The actions of blocks 1018, 1020, and 1024 may be repeated as necessary until there is finality of input, e.g., the user is finished drawing, indicated by a termination of drawing input that exceeds a threshold period. When this occurs, processing proceeds to block 1022, where the device sends data indicative of the received swipe inputs to an external device. The transmitted data may thus have the effect of triggering the display of various representations on the external device.

[0186] Fig. 11 illustrates a flowchart illustrating a process 1100 for electronic touch communications. The process 1100 may, in various embodiments, be performed by electronic devices such as devices 100, 300, and / or 500 ( Fig. 1, Fig. 3 and Fig. 5). At block 1102, data corresponding to an input detected from an external device is received at the electronic device executing process 1100. The received data may represent an incoming electronic touch communication. In response to receiving the data, the electronic device produces a haptic output. At block 1106, a determination is made as to whether user input is received within a predetermined time threshold after the haptic output is issued.

[0187] If the user has provided input within the time threshold, processing proceeds to block 1108 where a message (e.g., notification 638 in Fig. 6A, Fig. 840 in Fig. 8) is displayed with respect to the incoming data. At block 1100, user input to the displayed notification is received, and in response, the electronic device launches an appropriate electronic touch communication application and displays a visual representation of the incoming data.

[0188] In an alternative embodiment (not in Fig. 11), at block 1110, responsive to user input while displaying the notification, the electronic device displays a visual representation of the incoming data without opening an additional application. In this alternative embodiment, the user must take additional steps to initiate appropriate electronic touch communication before a canvas for electronic touch communication with the sender is displayed. However, by bypassing opening an application, the electronic device may be able to present received information more quickly, which may be useful in situations where the recipient can only glance at the incoming communication.

[0189] If the user has not provided any input within the time threshold, processing proceeds to block 1112, where the electronic device returns to its previous process (or an inactive state). At a later time, at block 1114, the electronic device displays an indication of the missed incoming communication. The indication may be Fig. The indicator shown in Figure 9C is 994.

[0190] Fig. 12 illustrates a flowchart illustrating a process 1200 for electronic touch communications. The process 1200 may, in various embodiments, be performed by electronic devices such as devices 100, 300, and / or 500 ( Fig. 1, Fig. 3 and Fig. 5). At block 1202, data corresponding to an input detected from an external device is received at the electronic device executing process 1200. The received data may represent an incoming electronic touch communication. At block 1204, in response to receiving the data, the electronic device determines whether it is actively playing an open application suitable for handling electronic touch communications. If a suitable application is open, processing proceeds to block 1206, where a visual representation of the incoming data is displayed. For example, Fig. 6D illustrates the handling of incoming data in this manner, particularly with respect to the display of visual representations 660 while the two devices 600 and 699 display character arrays. If no suitable application is open, processing proceeds to block 1208, where a message (e.g., notification 638 in Fig. 6B, Fig. 840 in Fig. 8) relating to the incoming data. At block 1210, user input to the displayed notification is received, and in response, the electronic device launches an appropriate application for electronic touch communication and displays a visual representation of the incoming data (e.g., displaying the visual representation 642 in the drawing area 640 in Fig. 6B).

[0191] Fig. 13 illustrates exemplary functional blocks of an electronic device 1300 that, in some embodiments, implement the features described above. As shown in Fig. 13, an electronic device 1300 may include a display unit 1302 configured to display graphical objects; a human input interface unit 1304 configured to receive user input; at least one RF unit 1306 configured to detect and communicate with external electronic devices; at least one feedback unit configured to provide haptic, audio, and / or visual feedback to the user; and a processing unit 1310 coupled to the display unit 1302, the human input interface unit 1304, the RF unit(s) 1306, and the feedback unit 1308. In some embodiments, the processing unit 1312 is configured to support an electronic touch communication processing unit 1312 and a display activation unit 1314.

[0192] In some embodiments, the display activation unit 1314 is configured to cause a display of a user interface (or portions of a user interface) together with the display unit 1302. For example, the display activation unit 1314 may be configured to display at least one of the user interfaces described with reference to Fig. 6A-6E, 7A-7E, 8 and 9A-9C.

[0193] In some embodiments, the electronic touch communication processing unit 1312 is configured to process touch communications according to the method described above with reference to Fig. 6A-6E, 7A-7E, 8, and 9A-9C. The electronic touch communication processing unit 1312 may further determine when outgoing data representing the electronic touch communication is being sent (e.g., whether the required time threshold has elapsed since receiving an input), when visual representations on the screen need to be removed (e.g., whether the required time threshold has elapsed), as described with reference to Fig. 10A-10C, 11 and 12.

[0194] The units from Fig. 13 can be used to describe the various aspects mentioned above with reference to Fig. 6-12. The units of the device 1300 are optionally implemented by hardware, software, or a combination of hardware and software to implement the principles of the various examples described. It will be apparent to one skilled in the art that the Fig. 13 may be combined or divided into sub-blocks to implement the principles of the various examples described. Therefore, the description in this document supports any combination, division, or further definition of the functional blocks described in this document.

[0195] According to some embodiments, Fig. 14 is a functional block diagram of an electronic device 1400 configured according to the principles of the various described embodiments. The functional blocks of the device are optionally implemented by hardware, software, or a combination of hardware and software to implement the principles of the various described embodiments. It will be apparent to one skilled in the art that the Fig. 14 may be combined or divided into sub-blocks to implement the principles of the various described embodiments. Therefore, the description in this document may support any combination, division, or further definition of the functional blocks described in this document.

[0196] As in Fig. 14, an electronic device 1400 includes a display unit 1402 configured to provide a graphical user interface, a touch-sensitive surface unit 1404 configured to receive contacts, and a processing unit 1406 coupled to the display unit 1402 and the touch-sensitive surface unit 1404. In some embodiments, the processing unit 1406 includes a detection unit 1408, a display activation unit 1410, a replacement unit 1412, a transmission unit 1414, a determination unit 1416, a fade activation unit 1418, a reception unit 1420, an update activation unit 1422, a zoom activation unit 1424, a recording unit 1426, and a termination unit 1428.

[0197] The processing unit 1406 is configured to detect a user input (e.g., with the detection unit 1408) and, in response to detecting the user input, activate the display of a plurality of offers representing contacts (e.g., with the display activation unit 1410). The processing unit 1406 is configured to detect a user selection of a displayed offer representing a contact (e.g., with the detection unit 1408); in response to detecting a selection of the displayed offer, replace the display of the plurality of offers with a display of the contact information identifying a selected contact (e.g., replacement unit 1412), wherein the selected contact is represented by the selected offer; detect a touch on the touch-sensitive display during the display of the contact information (e.g.,with the detection unit 1408); and in response to detecting the touch: activate the display of a drawing area (e.g., with the display activation unit 1410), the drawing area responsive to touch inputs. The processing unit 1406 is further configured to detect a first touch input representing a first stroke in the drawing area (e.g., with the detection unit 1408); activate the display of a visual representation of the first stroke in the drawing area (e.g., with the display activation unit 1410); and send data representing the first stroke to an external device associated with the selected contact (e.g., with the transmission unit 1414).

[0198] In some embodiments, processing unit 1406 is further configured to determine (e.g., with determining unit 1416) whether a first predetermined period of time has passed after the first touch input, wherein sending the data representing the first stroke comprises sending the data in response to determining that the first predetermined period has passed.

[0199] In some embodiments, the processing unit 1406 is further configured to: detect, before the first predetermined duration has elapsed, a second touch output in the drawing area representing a second stroke on the screen (e.g., with the detection unit 1408), wherein the first and second strokes are separated by an intervening time; and send data associated with the second stroke and the intervening time to the external device (e.g., with the sending unit 1414).

[0200] In some embodiments, the first stroke has characteristic kinematics, and sending the data representing the first stroke includes sending data to the external device indicating the characteristic kinematics.

[0201] In some embodiments, the processing unit 1406 is further configured to enable fading (e.g., with the fading enable unit 1418) of the displayed visual representation of the first stroke after the first stroke has been received for a second predetermined period of time.

[0202] In some embodiments, sending the data triggers the external device to: display an indication of receipt of the data; and display an affordance, wherein the affordance, if selected, causes the external device to display a visual representation of the first stroke.

[0203] In some embodiments, sending the data triggers the external device to display a visual representation of the first stroke.

[0204] In some embodiments, sending the data triggers the external device to display a visual representation of the first stroke, followed by a pause of the length of time between them, and then display a visual representation of the second stroke.

[0205] In some embodiments, sending the data triggers the external device to display a visual representation of the second stroke having the characteristic kinematics.

[0206] In some embodiments, the processing unit 1406 is further configured to enable fading (e.g., with the fading enable unit 1418) of the visual representation of a stroke after the visual representation has been displayed for a third predetermined period of time.

[0207] In some embodiments, the processing unit 1406 is further configured to receive data from the external device (e.g., with the receiving unit 1420), the data representing a third touch input detected by an external device, the third touch input representing a third stroke; and enable display of a visual representation of the third stroke in the drawing area on the electronic device (e.g., with the display enablement unit 1410).

[0208] In some embodiments, the processing unit 1406 is further configured to enable fading (e.g., with the fading enable unit 1418) of the visual representation of the third stroke after a fourth predetermined period of time.

[0209] In some embodiments, the second, third, and fourth predetermined time periods are the same durations.

[0210] In some embodiments, a stroke has a beginning and an end, and fading the visual representation of a stroke comprises fading a corresponding beginning of the visual representation before fading a corresponding end of the visual representation.

[0211] In some embodiments, the processing unit 1406 is further configured to: enable display of a color picker affordance in the drawing area (e.g., with the display enabling unit 1410), the color picker affordance having a color indicative of a currently selected color, wherein displaying the visual representation of the first stroke comprises displaying the visual representation in the currently selected color; and in response to detecting a selection of the color picker affordance, enable display of a plurality of color affordances representing colors (e.g., with the display enabling unit 1410).

[0212] In some embodiments, the plurality of color offerings include offerings that represent previously selected colors.

[0213] In some embodiments, the processing unit 1406 is further configured to enable the display of a color palette (e.g., with the display enabling unit 1410) in response to detecting a selection of a color offering from the displayed plurality of color offerings.

[0214] In some embodiments, the color palette includes a plurality of portions having different colors, and the processing unit 1406 is further configured to, in response to detecting a selection of portions of the color palette corresponding to a selected color: enable display of the drawing area (e.g., with display enable unit 1410); and enable updating the color picker affordance displayed in the drawing area (e.g., with update enable unit 1422) such that the color picker affordance is displayed with the selected color.

[0215] In some embodiments, sending data representing the first stroke to the external device includes sending data representing the selected color.

[0216] In some embodiments, the electronic device includes a rotatable input mechanism, and the processing unit 1406 is further configured to: while enabling display of the plurality of affordances representing contacts, detect (e.g., with the detecting unit 1408) a user input representing movement of the rotatable input mechanism; and in response to detecting the user input: enable zoom of the display of the plurality of user-selected contacts (e.g., with the zoom enabling unit 1424), wherein zooming the display includes changing the size of the displayed contacts.

[0217] In some embodiments, enabling the display zoom includes changing the number of contacts displayed.

[0218] In some embodiments, the touch-sensitive display includes at least one sensor for detecting the intensity of touches on the touch-sensitive display, and the processing unit 1406 is further configured to, while enabling the display of the character area, detect a touch on the touch-sensitive display (e.g., with the detection unit 1408); determine (e.g., with the determination unit 1416) whether the characteristic intensity exceeds the predetermined threshold intensity; in response to determining that the characteristic intensity exceeds the predetermined threshold intensity: enable the display of a call offer (e.g.,with the display activation unit 1410), wherein the call offer, when selected, causes the processing unit to initiate a call to the external device associated with the contact; and in response to determining that the characteristic intensity does not exceed the predetermined threshold intensity, send data representing the touch to the external device (e.g., with the sending unit 1414).

[0219] In some embodiments, the touch-sensitive display includes at least one sensor for detecting the intensity of touches on the touch-sensitive display, and the processing unit 1406 is further configured to, while enabling the display of the character area, detect a touch on the touch-sensitive display (e.g., with the detection unit 1408); determine (e.g., with the determination unit 1416) whether the characteristic intensity exceeds the predetermined threshold intensity; in response to determining that the characteristic intensity exceeds the predetermined threshold intensity: enable the display of a text affordance (e.g.,with the display activation unit 1410), wherein the text affordance, when selected, causes the processor to initiate a message directed to the external device associated with the contact; and in response to determining that the characteristic intensity does not exceed the predetermined threshold intensity, send data representing the touch to the external device (e.g., with the sending unit 1414).

[0220] In some embodiments, the processing unit 1406 is further configured to, while enabling the display of contact information identifying the selected contact, enable the display of a call offer (e.g., with the display enabling unit 1410), wherein the call offer, when selected, causes the processing unit 1406 to initiate a call to the external device associated with the selected contact.

[0221] In some embodiments, the processing unit 1406 is further configured to, while enabling the display of contact information identifying the selected contact, enable the display of a textual affordance (e.g., with the display enabling unit 1410), wherein the textual affordance, when selected, causes the processing unit to initiate a message directed to the external device associated with the selected contact.

[0222] In some embodiments, enabling display of the plurality of affordances representing contacts includes enabling display of a plurality of affordances representing contacts marked by the user, wherein the user-marked contacts are a subset of the contacts available to the electronic device.

[0223] In some embodiments, the electronic device includes a pressable input mechanism separate from the touch-sensitive display, and detecting the user input includes detecting activation of the pressable input mechanism.

[0224] In some embodiments, the electronic device comprises a pressable input mechanism and a microphone, wherein the processing unit is configured to, while activating the display of the character pane, detect activation of the pressable input mechanism (e.g., with detection unit 1408); in response to detecting the activation: record an audio message (e.g., with recording unit 1426) based on an input received by the microphone while the pressable input mechanism remains pressed; detect release of the pressable input mechanism (e.g., with detection unit 1408); and in response to detecting the release: stop recording the audio message (e.g., with termination unit 1428) and send the recorded message to the external device associated with the selected contact.

[0225] The above with reference to Fig. 10-10A may be performed by Fig. 1A-1B or in Fig. 14. For example, the display actions 1002 and 1018; the detection actions 1004, 1006, and 1008; the determination actions 1010, 1014, and 1020; the sending actions 1012, 1016, and 1022; and, optionally, the receiving action 1024 are optionally implemented by the event sorting element 170, the event detection element 180, and the event handler 190. The event monitoring element 171 in the event sorting element 170 detects a tick on the touch-sensitive display 112, and the event dispatcher module 174 transmits the event information to the application 136-1.A corresponding event detection element 180 of device 136-1 compares the event information with corresponding event definitions 186 and determines whether a first contact at a first location of the touch-sensitive surface (or a rotation of the device) corresponds to a predefined event or sub-event, such as a selection of an object on the user interface or a rotation of the device from one orientation to another. When a predetermined event or sub-event is detected, event detection element 180 activates an event handler 190 associated with detecting the event or sub-event. Event handler 190, as appropriate, utilizes or requests data update element 176 or object update element 177 to update the internal state of application 192.In some embodiments, event handler 190 accesses a corresponding GUI update element 178 to update what is displayed by the application. Similarly, one of ordinary skill in the art will understand how to perform the processes based on the information described in the . Fig. 1A-1B shown components can be implemented.

[0226] According to some embodiments, Fig. 15 is a functional block diagram of an electronic device 1500 configured according to the principles of the various described embodiments. The functional blocks of the device are optionally implemented by hardware, software, or a combination of hardware and software to implement the principles of the various described embodiments. It will be apparent to one skilled in the art that the Fig. 15 may be combined or divided into sub-blocks to implement the principles of the various described embodiments. Therefore, the description in this document may support any combination, division, or further definition of the functional blocks described in this document.

[0227] As in Fig. 15, an electronic device 1500 includes a display unit 1502 configured to provide a graphical user interface, a touch-sensitive surface unit 1504 configured to receive contacts, and a processing unit 1506 coupled to the display unit 1502 and the touch-sensitive surface unit 1504. In some embodiments, the processing unit 1506 includes a receiving unit 1508, a detecting unit 1510, a determining unit 1512, and a transmitting unit 1514. The electronic device is optionally configured to communicate with an external device associated with a contact.

[0228] Processing unit 1506 is configured to receive the user selection of a displayed affordance representing the contact (e.g., with receiving unit 1508); upon receiving the selection, detect a user input on the touch-sensitive display (e.g., with detecting unit 1510); determine (e.g., with determining unit 1512) whether the touch input is a single-finger touch input or a multi-finger touch input; and, in accordance with the determination that the touch is a single-finger input, send data to the external device (e.g., with transmitting unit 1514), the data representing the single-finger touch input.

[0229] In some embodiments, sending the data triggers the external device to provide an output corresponding to the single-finger touch input.

[0230] In some embodiments, sending the data triggers the external device to: display a message to receive the data and an affordance that, when selected, causes the external device to display a visual representation of the single-finger touch input.

[0231] In some embodiments, detecting a user input on the touch-sensitive display of the electronic device comprises detecting the single-finger touch input at a location of the touch-sensitive display, and the visual representation of the single-finger touch input, when presented, is presented on a screen of the external device at a location corresponding to the location at which the single-finger touch input was detected.

[0232] In some embodiments, the visual representation comprises at least one of a circle, an ellipse, and an oval.

[0233] In some embodiments, the visual representation comprises at least two concentric circles, ellipses, and / or ovals.

[0234] In some embodiments, the visual representation fades on the external device after being displayed for a predetermined period of time.

[0235] In some embodiments, the single-finger touch input is a single-finger tap.

[0236] In some embodiments, processing unit 1506 is further configured to send data to the external device (e.g., with sending unit 1514) in accordance with determining that the detected user input represents a multi-finger touch input, wherein sending the data triggers the external device to display a visual indicator for the duration of the multi-finger touch input.

[0237] In some embodiments, the output includes a message about receiving the data and an affordance that, when selected, causes the processing unit to enable displaying a visual indicator for the duration of the multi-finger touch input.

[0238] In some embodiments, the visual indicator is an image.

[0239] In some embodiments, the visual indicator is an animated image.

[0240] In some embodiments, the visual indicator is an animated image of a pulsating heart.

[0241] In some embodiments, the electronic device further comprises a biometric sensor configured to detect the frequency of a heartbeat, wherein the frequency of pulsation of the pulsating heart is based on the detected heart rate.

[0242] In some embodiments, the electronic device further comprises a biometric sensor configured to detect the rate of a heartbeat, wherein sending the data triggers the external device to provide a haptic output corresponding to the detected heart rate.

[0243] In some embodiments, sending the data triggers the external device to provide a haptic output.

[0244] In some embodiments, the electronic device comprises a rotatable input mechanism, wherein receiving a user selection of the contact comprises enabling display of a plurality of affordances; detecting user input representing movement of the rotatable input mechanism; and in response to detecting the user input: enabling zooming of the display of the plurality of contacts highlighted by the user, wherein zooming the display comprises changing the size of the displayed contacts.

[0245] In some embodiments, enabling the display zoom includes changing the number of contacts displayed.

[0246] In some embodiments, processing unit 1506 is further configured to, while enabling display of the plurality of affordances representing contacts, detect a touch input on a displayed affordance (e.g., with detection unit 1510); and, in response to detecting the touch input, send data to the external device associated with the contact (e.g., with transmission unit 1514), wherein sending the data triggers the external device to provide a haptic output.

[0247] In some embodiments, detecting the touch input on the displayed affordance includes detecting a first touch and release on the displayed affordance followed by a second touch and release on the displayed affordance within a predetermined period of time.

[0248] The above with reference to Fig. 10A-10C may be performed by Fig. 1A-1B or in Fig. 15. For example, the display actions 1002 and 1018; the detection actions 1004, 1006, and 1008; the determination actions 1010, 1014, and 1020; the sending actions 1012, 1016, and 1022; and, optionally, the receiving action 1024 are optionally implemented by the event sorting element 170, the event detection element 180, and the event handler 190. The event monitoring element 171 in the event sorting element 170 detects a tick on the touch-sensitive display 112, and the event dispatcher module 174 transmits the event information to the application 136-1.A corresponding event detection element 180 of device 136-1 compares the event information with corresponding event definitions 186 and determines whether a first contact at a first location of the touch-sensitive surface (or a rotation of the device) corresponds to a predefined event or sub-event, such as a selection of an object on the user interface or a rotation of the device from one orientation to another. When a predetermined event or sub-event is detected, event detection element 180 activates an event handler 190 associated with detecting the event or sub-event. Event handler 190, as appropriate, utilizes or requests data update element 176 or object update element 177 to update the internal state of application 192.In some embodiments, event handler 190 accesses a corresponding GUI update element 178 to update what is displayed by the application. Similarly, one of ordinary skill in the art will understand how other processes may be performed based on the information described in the . Fig. 1A-1B shown components can be implemented.

[0249] According to some embodiments, Fig. 16 is a functional block diagram of an electronic device 1600 configured according to the principles of the various described embodiments. The functional blocks of the device are optionally implemented by hardware, software, or a combination of hardware and software to implement the principles of the various described embodiments. It will be apparent to one skilled in the art that the Fig. 16 may be combined or divided into sub-blocks to implement the principles of the various described embodiments. Therefore, the description in this document may support any combination, division, or further definition of the functional blocks described in this document.

[0250] As in Fig. 16, an electronic device 1600 includes a display unit 1602 configured to provide a graphical user interface, a touch-sensitive surface unit 1604 configured to receive contacts, and a processing unit 1606 coupled to the display unit 1602 and the touch-sensitive surface unit 1604. In some embodiments, the processing unit 1606 includes a receiving unit 1608, an issuing unit 1610, a recognizing unit 1612, a determining unit 1614, a display activation unit 1616, a replacing unit 1618, a playing unit 1620, and an identifying unit 1622. The electronic device is optionally configured to communicate with an external device.

[0251] The processing unit 1606 is configured to receive data corresponding to an input detected by the external device (e.g., with the receiving unit 1608); in response to receiving the data, output a haptic output (e.g., with the output unit 1610); after outputting the haptic output, detect a user input (e.g., with the detecting unit 1612); determine (e.g., with the determining unit 1614) whether the user input was detected within a predetermined time interval after the haptic output; and in accordance with determining that the user input was detected within the predetermined time interval, enable the display of a message on the display (e.g., with the display enabling unit 1616), wherein the message indicates the availability of information to play.

[0252] In some embodiments, processing unit 1606 is further configured to, while enabling display of the message, detect a second user input (e.g., with detection unit 1612), determine (e.g., with determination unit 1614) whether the received data includes visual information; and, in accordance with determining that the received data includes visual information, replace the displayed message with a display of the visual information (e.g., with replacement unit 1618).

[0253] In some embodiments, processing unit 1606 is further configured to determine (e.g., with determining unit 1614) whether the received data includes audio information; and in accordance with determining that the received data includes audio information: play the audio information via a speaker operably connected to the electronic device (e.g., with playing unit 1620).

[0254] In some embodiments, the processing unit 1606 is further configured to identify a user associated with the external device (e.g., with the identification unit 1622); and in accordance with determining that the user input has been recognized after the predetermined time interval: enable display of a plurality of affordances representing contacts marked by the user and an affordance representing the user associated with the external device (e.g., with the display enabling unit 1616); and enable display of an indicator corresponding to the affordance identifying the user associated with the external device (e.g., with the display enabling unit 1616), wherein the indicator indicates the availability of information for playback received from the user associated with the external device.

[0255] In some embodiments, the processing unit 1606 is further configured to identify a plurality of contacts available to the electronic device (e.g., with the identification unit 1622); determine (e.g., with the determination unit 1614) whether the external device is associated with a contact from the plurality of contacts available to the electronic device; and in accordance with determining that the external device is not associated with a contact from the plurality of contacts available to the electronic device: enable display of an offer to add a contact (e.g., with the display enable unit 1616), wherein the offer to add a contact, when selected, causes the processing unit to enable display of a user interface screen for registering a contact and associating the external device with the contact.

[0256] In some embodiments, the processing unit 1606 is further configured to identify a subset of the plurality of contacts available to the electronic device as a plurality of user-marked contacts (e.g., with the identification unit 1622); determine (e.g., with the determination unit 1614) whether the external device is associated with a user-marked contact from the plurality of user-marked contacts; and in accordance with determining that the external device is associated with a contact from the plurality of contacts available to the electronic device, but is not associated with a user-marked contact from the plurality of user-marked contacts: enable display of a marked offer (e.g.,with the display activation unit 1616), wherein the highlighted affordance, when selected, causes the processing unit to activate the display of a user interface screen for setting the contact associated with the external device as a user-marked contact.

[0257] In some embodiments, processing unit 1606 is further configured to identify a name of a contact associated with the external device (e.g., with identification unit 1622), wherein enabling display of a message on the display comprises enabling display of the identification of the contact's name.

[0258] In some embodiments, processing unit 1606 is further configured to identify (e.g., with identification unit 1622) an image associated with the contact's name, wherein enabling display of a message on the display comprises enabling display of the image.

[0259] In some embodiments, detecting a user input includes detecting movement of the electronic device.

[0260] In some embodiments, detecting a user input includes detecting a bump of the electronic device.

[0261] The above with reference to Fig. 11 described actions may be carried out by Fig. 1A-1B or in Fig. 16. For example, the receive actions 1101 and 1110; the detect action 1104; the determine action 1106; the display actions 1108 and 1114; and the return action 1112 are implemented, as appropriate, by the event sorting element 170, the event detecting element 180, and the event handler 190. The event monitoring element 171 in the event sorting element 170 detects a tick on the touch-sensitive display 112, and the event dispatcher module 174 transmits the event information to the application 136-1.A corresponding event detection element 180 of device 136-1 compares the event information with corresponding event definitions 186 and determines whether a first contact at a first location of the touch-sensitive surface (or a rotation of the device) corresponds to a predefined event or sub-event, such as a selection of an object on the user interface or a rotation of the device from one orientation to another. When a corresponding predefined event or sub-event is detected, event detection element 180 activates an event handler 190 associated with the detection of the event or sub-event. Event handler 190, as appropriate, utilizes or requests that data update element 176 or object update element 177 update the internal state of application 192.In some embodiments, event handler 190 accesses a corresponding GUI update element 178 to update what is displayed by the application. Similarly, one of ordinary skill in the art will understand how other processes may be implemented based on the information described in the . Fig. 1A-1B shown components can be implemented.

[0262] According to some embodiments, Fig. 17 is a functional block diagram of an electronic device 1700 configured according to the principles of the various described embodiments. The functional blocks of the device are optionally implemented by hardware, software, or a combination of hardware and software to implement the principles of the various described embodiments. It will be apparent to one skilled in the art that the Fig. 17 may be combined or divided into sub-blocks to implement the principles of the various described embodiments. Therefore, the description in this document may support any combination, division, or further definition of the functional blocks described in this document.

[0263] As in Fig. 17, an electronic device 1700 includes a display unit 1702 configured to provide a graphical user interface, a touch-sensitive surface unit 1704 configured to receive contacts, and a processing unit 1706 coupled to the display unit 1702 and the touch-sensitive surface unit 1704. In some embodiments, the processing unit 1706 includes a receiving unit 1708, a determining unit 1710, a playing unit 1712, a display activation unit 1714, a providing unit 1716, and a transmitting unit 1718. The electronic device is optionally configured to communicate with an external device.

[0264] The processing unit 1706 is further configured to receive data from the external device (e.g., with the receiving unit 1708) representing a user input received at the external device; determine (e.g., with the determining unit 1710) whether the electronic device is actively executing a playback application; play received data (e.g., with the playing unit 1712) in accordance with a determination that the electronic device is actively executing a playback application; and, in accordance with a determination that the electronic device is not actively executing a playback application: enable display of a representation of the receipt of the data (e.g., with the display enabling unit 1714); and enable display of an offer (e.g.,with the display activation unit 1714), wherein the offer, when selected, launches the playback application and causes the electronic device to play the received data.

[0265] In some embodiments, the processing unit is further configured to provide a haptic output in response to receiving the data (e.g., with providing unit 1716) in accordance with determining that the electronic device is not actively executing the application for playback.

[0266] In some embodiments, playing the received data according to determining that the user input is a single-finger touch input on the external device includes enabling display of a visual representation of the single-finger touch input on a screen of the electronic device corresponding to the location on the external device at which the single-finger touch input was detected.

[0267] In some embodiments, the visual representation comprises at least one of a circle, an ellipse, and an oval.

[0268] In some embodiments, the visual representation comprises at least two concentric circles, ellipses, and / or ovals.

[0269] In some embodiments, the processing unit 1706 is further configured to enable fading (e.g., with the fading enable unit 1718) of the visual display after a fourth predetermined time period.

[0270] In some embodiments, playing the received data comprises: in accordance with determining that the user input is a multi-finger touch input on the external device, enabling display of a visual indicator for the period of the multi-finger touch input.

[0271] In some embodiments, the visual indicator is an image.

[0272] In some embodiments, the visual indicator is an animated image.

[0273] In some embodiments, the visual indicator is an animated image of a pulsating heart.

[0274] In some embodiments, the processing unit 1706 is further configured to: provide a haptic output (e.g., with the providing unit 1716) while enabling the display of the visual indicator.

[0275] In some embodiments, playing the received data further comprises: in accordance with determining that the user input is a double tap on the external device, enabling display of an identification of a user associated with the external device, and providing a haptic output while providing display of the identification.

[0276] In some embodiments, playing the received data further comprises: in accordance with determining that the user input is an audio recording recorded using a microphone of the external device, playing the audio recording.

[0277] In some embodiments, playing the received data comprises: in accordance with determining that the user input is a swipe contact on the external device representing a stroke, enabling display of a visual representation of the stroke.

[0278] In some embodiments, the processing unit 1706 is further configured to enable fading of the stroke after a predetermined time period.

[0279] The above with reference to Fig. 12 described actions may be carried out by Fig. 1A-1B or in Fig. 17. For example, the receive actions 1202 and 1210, the determine action 1204, and the display actions 1206 and 1208 are implemented, as appropriate, by the event sorting element 170, the event detecting element 180, and the event handler 190. The event monitoring element 171 in the event sorting element 170 detects a tick on the touch-sensitive display 112, and the event dispatcher module 174 transmits the event information to the application 136-1.A corresponding event detection element 180 of device 136-1 compares the event information with corresponding event definitions 186 and determines whether a first contact at a first location of the touch-sensitive surface (or a rotation of the device) corresponds to a predefined event or sub-event, such as a selection of an object on the user interface or a rotation of the device from one orientation to another. When a corresponding predefined event or sub-event is detected, event detection element 180 activates an event handler 190 associated with the detection of the event or sub-event. Event handler 190, as appropriate, utilizes or requests data update element 176 or object update element 177 to update the internal state of application 192.In some embodiments, event handler 190 accesses a corresponding GUI update element 178 to update what is displayed by the application. Similarly, one of ordinary skill in the art will understand how other processes may be implemented based on the information described in the . Fig. 1A-1B described components can be implemented.

[0280] Fig. 18A-18B illustrate example embodiments of a touch-sensitive display including user interface 1802 on electronic device 1800. User interface 1802 and the methods described below enable a user to communicate with at least one contact whose information is stored on electronic device 1800. In some embodiments, the user may have a large number of contacts stored on electronic device 1800 and therefore require an efficient method for identifying and communicating with a particular contact. Furthermore, in some cases, the user may regularly engage with only a subset of the stored contacts. As such, it would be impractical to scroll through a contact list each time the user wishes to communicate with a particular contact.Thus, to optimize the user experience and enhance efficient communication, it may be desirable for the electronic device 1800 to display a user interface including a limited number of at least one contact, as selected by the user.

[0281] The electronic device 1800 may be the same as or similar to the portable multifunction device 100 and / or 500. Further, the electronic device 1800 may include a rotatable input mechanism 1820, which may be the same as or similar to the rotatable input mechanism 506. The electronic device 1800 may include a touch-sensitive display, which may include a user interface 1802 and which may be the same as or similar to the touch-sensitive display system 112 and / or the display 504.

[0282] As in Fig. 18A, the electronic device 1800 may be configured to display a touch-sensitive display including the user interface 1802, a plurality of objects (e.g., first object 1808, second object 1810, third object 1812, and objects 1840a-1840i) arranged or otherwise positioned around the affordance 1804. In some embodiments, at least one object of the plurality of objects may be associated with one of a plurality of contacts. For example, the first object 1808 may be associated with the contact Steve Jones. Accordingly, the first object 1808 may include a set of initials (e.g., "SJ") that may be displayed within the first object 1808. In some embodiments, the set of initials may be a monogram, such as, but not limited to, a set of stylized, interwoven, or overlapping initials.Similarly, a second object 1810 may include the initial "AS," and the third object 1812 may include the initial "IS." In some embodiments, the user interface may include 12 objects, each in a position corresponding to an hour on a standard clock or watch face (e.g., an object at one o'clock, two o'clock, three o'clock, and so on). In other objects, six objects may be arranged in positions corresponding to every other hour on a standard clock, or 24 objects corresponding to a display every 30 minutes.

[0283] The user interface 1802 may further include the affordance 1804, which may display a visual appearance corresponding to a position of the visual indicator 1806 relative to an object from the plurality of objects. For example, the visual appearance of the affordance may be a set of initials representing a contact from the plurality of contacts or an image representing a contact from the set of contacts. As shown in Fig. 18A, the visual appearance of the affordance 1804 may be an image of a contact associated with the first object 1808.

[0284] In some embodiments, the electronic device 1800 may be configured to receive a first input corresponding to a rotation of the rotatable input mechanism 1820. Further, the electronic device 1800 may, as in Fig. 18B, may be configured to update the visual representation of affordance 1804 to represent a second contact (e.g., "IS") among the plurality of contacts in response to receiving the input corresponding to rotation of rotatable input mechanism 1820. Further, user interface 1802 may include a visual indicator 1806 associated with a first object 1808 of the plurality of objects, wherein the first object is associated with the first contact (e.g., "Steve") of the plurality of contacts.

[0285] As an example, electronic device 1800 may be configured to receive input from a user who wishes to communicate, or otherwise linger with another contact from the plurality of contacts. Based on rotation of rotatable input mechanism 1820, the visual appearance of affordance 1804 may change from first object 1808 to third object 1812, as shown in Fig. 18B. Additionally, the position or movement of the visual indicator 1806 may correspond to a rotation of the rotatable input mechanism 1820. As such, as the rotatable input mechanism is rotated, the visual indicator 1806 may rotate in a circular manner across the affordance 1804 from one object to another.

[0286] In particular, for example, in response to receiving the first input corresponding to rotation of the rotatable input mechanism 1820, the electronic device 1800 may be configured to stop associating the visual indicator 1806 with the first object 1808 of the plurality of objects and to associate the visual indicator 1806 with an object of the plurality of objects that is associated with the second contact (e.g., the contact associated with the second object 1810) of the plurality of contacts.

[0287] In some embodiments, electronic device 1800 may be configured to display, as part of user interface 1802, a visual indicator 1806 corresponding to a position value. For example, the value may be within a range of position values, where each of the objects in the plurality of objects may be associated with a position within the range of position values. Further, electronic device 1800 may be configured to determine whether the first input is a request to update the position value of visual indicator 1806 to a second position value that is not associated with any of the plurality of objects.

[0288] As such, the electronic device 1800 may be configured to snap the visual indicator to a closest or farthest object from the plurality of objects. In particular, the electronic device may be configured to update the position value of the visual indicator 1806 to a third position value corresponding to the position value of the object from the plurality of objects that is closest to the second position value within a range of position values, and to update the display of the visual indicator according to the third position value. For example, the above display update may be performed based on a determination that the first input is a request to update the position value of the visual indicator 1806 to a second position value that is not associated with any object from the plurality of objects.

[0289] The electronic device 1800 may also snap or move to a nearest or different object based on received input to enhance the user experience. For example, to ensure that the visual indicator 1806 is close to or otherwise associated with an object, the electronic device 1800 may be configured to determine that rotation of the rotatable input mechanism did not result in the association of the visual indicator 1806 with the second contact (e.g., the second object 1810) of the plurality of contacts. Further, the electronic device may be configured to determine whether a position of the visual indicator 1806 is in an object transition region according to determining that rotation of the rotatable input mechanism did not result in the association of the visual indicator with the second contact of the plurality of contacts.In some embodiments, the object delivery region may be a region located after the first object 1808 and before a second object 1810 associated with the second contact.

[0290] Additionally, the electronic device 1800 may be configured to associate the visual indicator 1806 with the second contact of the plurality of contacts according to determining that the position of the visual indicator 1806 is within the object transmission region. Further, the electronic device 1800 may be configured to maintain the association of the visual indicator 1806 with the first object 1808 of the plurality of objects according to determining that the position of the visual indicator 1806 is not within the object transmission region.

[0291] In some embodiments, as in Fig. 18C, the electronic device 1800 may be configured to receive a first input corresponding to a contact at a location of an object (e.g., the third object 1812) on the touch-sensitive display including the user interface 1802. For example, the input may represent a touch / contact via a finger 1830 on the touch-sensitive surface including the user interface 1802. Further, the electronic device 1800 may be configured to update the visual representation of the affordance 1804 to represent a second contact (e.g., "IS") among the plurality of contacts in response to receiving the input corresponding to a contact at a location of an object (e.g., the third object 1812) on the touch-sensitive display including the user interface 1802.

[0292] In some embodiments, each of the plurality of objects may not be associated with a contact. For example, objects 1840a-1840i, each of which may not be associated with a corresponding contact, may be displayed differently than objects associated with a contact (e.g., first object 1808, second object 1810, and third object 1812). As such, the particular size, shape, and / or pattern may indicate an available or empty object position.

[0293] Furthermore, in some embodiments, each of the plurality of objects may be associated with and / or include a unique color scheme. For example, the first object 1808 may have a first color, the second object 1810 may have a second color, the third object 1812 may have a third color, and each of the objects 1840a-1840i may have a different color. In some embodiments, a color of each object may be different from another color. As such, Fig. 18A may, in one non-limiting example, comprise twelve different colors, each color being associated with a single object.

[0294] In some embodiments, the visual indicator 1806 may be a subtle region in which at least one displayed color of the affordance 1804 is changed. For example, the electronic device 1800 may be configured to change a color of the visual indicator from a first color based on a color of the first object 1808 of the plurality of objects to a second color based on a color of a second object 1810 of the plurality of objects. Furthermore, the electronic device 1800 may be configured to change the color of the visual indicator 1806 from the first color associated with the first object 1808 of the plurality of objects to the second color associated with the second contact (and the second object 1810) of the plurality of contacts.In particular, the electronic device 1800 may be configured to mix the first color and the second color when the visual indicator 1806 moves from a first position associated with the first object 1808 to a second position preceding a position of a second object 1810 associated with the contact.

[0295] In further embodiments, the visual indicator 1806 may be associated with the first object 1808 of the plurality of objects when the visual indicator 1806 is located at a first position that overlaps with at least a portion of the first object 1808 and at least one displayed color of the first object 1808 is changed. The electronic device 1800 may be configured to indicate movement of the visual indicator 1806. In particular, the electronic device 1800 may be configured to translate the visual indicator 1806 from the first position to a second position that overlaps with at least a portion of the second object 1810 and at least one displayed color of the second object 1810 is changed.

[0296] In some embodiments, the electronic device 1800 may be configured to update the visual appearance of the affordance 1804. Further, after updating the visual appearance of the affordance, the electronic device 1800 may be configured to receive a second input corresponding to the selection of a third object 1812 from the plurality of objects, wherein the third object is different from the first object 1808 and the second object 1810. Accordingly, the electronic device 1800 may be configured to update the visual appearance of the affordance 1806 to represent a third contact among the plurality of contacts.

[0297] In another embodiment, the electronic device 1800 may be configured as shown in Fig. 18F, be configured to display a user interface screen 1802-1 for interacting with a selected contact (e.g., Steve, as shown in Fig. 18F) represented by and associated with affordance 1804. In some embodiments, after receiving appropriate input or satisfying a particular condition, device 1800 displays a touch screen 1802-1 while performing one of the operations described with reference to Fig. 18A-18D. For example, the electronic device 1800 may transition to a contact-specific screen 1802-1 without further rotation of the mechanism 1820 after a predetermined period of time has elapsed. In particular, the electronic device 1800 may be configured to determine that no input has been received for a period of time after updating the visual appearance of the affordance 1804. In some embodiments, the electronic device 1800 may cease displaying the plurality of objects in response to determining that no input has been received for a period of time. The electronic device may further display at least a second affordance (e.g., affordance 1834) in response to determining that no input has been received for a period of time.

[0298] In another embodiment, after updating the visual appearance of affordance 1806 based on detecting a third input corresponding to a selection of the affordance, the electronic device may transition to the contact-specific screen. Accordingly, the electronic device 1800 may refrain from displaying the plurality of objects in response to detecting the third input. The electronic device 1800 may display a second affordance in response to detecting the third input.

[0299] In some embodiments, the second offer may be displayed within the contact-specific screen (e.g., Fig. 18F may include at least one affordance such as, but not limited to, a call affordance 1814, a message affordance 1816, a practice affordance 1832, a restore user interface affordance comprising a plurality of objects including affordance 1834, and a draw affordance 1818, each of which is described in detail below. In some embodiments, affordance 1834 functions as a "back" button to display a previous screen or a preselected screen (e.g., a user interface from Fig. 18A to 18D). For example, the electronic device may detect a selection of the exercise affordance 1832. In particular, the electronic device may detect a fourth input corresponding to a selection of the exercise affordance 1832. In response to the fourth input, the electronic device 1800 may display a user interface including at least one instruction for operating the electronic device (e.g., instructions for drawing a picture or sending a touch). In some aspects, an exercise affordance 1832 may disappear after being accessed a set number of times. The user interface display 1802-1 presents a user with at least one offer to contact the contact represented by affordance 1804 (i.e.,of the displayed contact), while simultaneously reducing cognitive dissonance by omitting or stopping the display of objects that are not associated with the currently selected contact.

[0300] Furthermore, in some embodiments, as in Fig. 18A, each of the plurality of objects may be associated with and / or arranged corresponding to an hour marker of a clock. In some embodiments, the plurality of objects may include twelve circular objects arranged around affordance 1804. However, it should be understood that more or fewer than twelve objects may be arranged on a user interface 1802.

[0301] The user interface 1802 may further include a call / phone affordance 1814. For example, upon receiving input representing a contact or a selection of the call / phone affordance 1814, the electronic device 1800 may activate a call to a contact from the plurality of contacts (e.g., a selected contact displayed at the central affordance 1804). The user interface 1802 may further include a messaging affordance 1816. For example, upon receiving input representing a contact or a selection of the messaging affordance 1816, the electronic device 1800 may activate a call to a contact from the plurality of contacts (e.g., a selected contact displayed at the central affordance 1804).

[0302] The user interface 1802 may further include an indicator 1824 ( Fig. 18A) that provides an indication of at least one unread message from a contact associated with an object proximate the indicator (object 1812). In some embodiments, the indicator 1824 may comprise a number or other visual indication of a number of unread messages. Accordingly, the electronic device 1800 may be configured to determine whether at least one message received from one of the plurality of contacts is unread, and in accordance with determining that a message received from one of the plurality of contacts is unread, display an indicator 1824 proximate the object (e.g., third object 1824 in Fig. 18A) from the plurality of objects associated with the at least one message.

[0303] Fig. 18E illustrates an example user interface for adding or otherwise associating a contact with an object. In some embodiments, the visual indicator may be located near an empty object 1840a. The empty object 1840a may be an empty circular position that transitions to include a plus symbol. Further, affordance 1804 may also include a plus symbol that includes a method for adding a contact. Further, selecting affordance 1804 in Fig. 18E initiate or otherwise trigger a process for selecting a contact.

[0304] For example, the electronic device 1800 may receive an input representing a second rotation of the rotatable input mechanism 1820, and in response to receiving the fourteenth input, may determine whether the visual indicator 1804 is near an object not associated with any of the contacts (e.g., object 1840a). Further, the electronic device 1800 may update the display of the affordance 1804 to an affordance to add a contact in accordance with determining that the visual indicator 1806 is near the object not associated with a contact. The electronic device 1800 may receive another input corresponding to a selection of adding the contact and, in response to receiving the fourteenth input, display a user interface for adding a contact.

[0305] Fig. 18G-18I illustrate additional example embodiments of a touch-sensitive display including user interface 1802 on an electronic device 1800 and having a visual indicator 1850 associated with a first object 1808. As in Fig. 18G, the first object 1808 is associated with a currently selected contact represented by the central affordance 1804. In such embodiments, the visual indicator 1850 may provide the user with an indication that the contact associated with the object 1808 is currently selected. In Fig. 18G, the visual indicator 1850 is depicted as a circle slightly larger than 180B; however, in other embodiments, the visual indicator 1850 may be depicted differently and still communicate a currently selected object to the user.

[0306] In some embodiments, the visual indicator 1850 may be represented as an object with a shape that has the same size and dimensions as the currently selected object (e.g., object 1808). In some embodiments, the visual indicator is an object that is represented in the foreground of the user interface, such that it obscures user interface elements located beneath the visual indicator. In other embodiments, the visual indicator is a foreground object that is translucent or transparent, such that underlying user interface elements are visible beneath the visual indicator. In such embodiments, the visual indicator may operate as a filter to change the visual shape of user interface elements beneath the visual indicator.

[0307] In other embodiments, the visual indicator may not be displayed separately: instead, the visual indicator 1805 may be a predefined area in which the shape (e.g., a change in color, brightness, contrast) of the underlying elements of the interface is changed. In some such embodiments, the visual indicator may present a "spotlight"-like effect, whereby objects that partially or completely fall within the current predefined area occupied by the visual indicator 1805 may change their shape so that their shape (or at least a portion within the area of ​​the visual indicator) is highlighted or changed (e.g., change in color, brightness, or contrast).It should be noted that such an effect may be visually very similar to the visual indicator acting as a filtering overlap, as described above, although it will be apparent to one of ordinary skill in the art that the visual effect is implemented differently. In some embodiments, a spotlight-type visual indicator only changes the shape of predefined or selected objects that are partially or completely within the area occupied by the visual indicator. For example, the spotlight-type visual indicator may only change the shape of the object (e.g., 1808, 1810, 1812) arranged in a circle around affordance 1804 without changing the shape of any portion of the background of user interface 1802, which may be within the area of ​​the visual indicator.

[0308] In some embodiments, the shape of the visual indicator 1850 may be a mixed color composed of a color of one object and a color of another object as the visual indicator 1850 moves between the objects. In particular, the shape of the visual indicator 1850 may be a mixed color based on the percentage of overlap. For example, a blue color may be associated with the first object 1850, while a red color may be associated with the second object 1810. Accordingly, the color of a visual indicator 1850 may be a first percentage of the first color and a second percentage of the second color depending on the overlap of Y and Y. As such, a visual indicator 1850 moves between objects, its color may dynamically change based on an inversely proportional relationship between a color of a previous object (e.g.,first object 1808) and a color of an adjacent object (e.g., second object 1810). This means that as the visual indicator 1850 moves toward the second object, a color of the second object is more heavily weighted in the color of the visual indicator 1850 than a color of a first object. In other words, as the visual indicator 1850 moves from a first object to a second object, a percentage of the color of the first object that forms the color of the visual indicator 1850 decreases because the visual indicator 1850 moves toward or closer to a second object 1810, and as such, a percentage of the color of the second object increases.

[0309] In Fig. 18H, the visual indicator 1850 has moved to a second position between object 1808 and object 1810 in response to the input corresponding to the rotation of the mechanism 1820. The visual indicator 1808 now partially overlaps each of the objects 1808 and 1810. Fig. 18I shows a visual indicator in a third position and is now associated with object 1810 and no longer overlaps or is no longer associated with object 1808. Although not shown, continued rotational input to mechanism 1820 can cause the visual indicator to move further along the circle to object 1812 and so on, allowing the visual indicator to move from object to object along a circle formed around affordance 1804. To provide a user with the ability to control the movement of visual indicator 1850 along the circle (e.g., from objects 1808, 1810, 1812, and so on), a "magnetic" relationship is associated between each selected object and visual indicator 1850. Each element (e.g., 1808, 1810, 1812) is associated with a simulated magnetic value. In this example, the magnetic values ​​of elements 1808, 1810 and 1812 are the same.In other examples, the magnetic values ​​may differ, so that the visual indicator 1850 may have a greater magnetic affinity for one object over another.

[0310] Using the magnetic relationship between the objects and the visual indicator 1850, physics-based modeling can be used to simulate a magnetic attraction between the objects and the visual indicator. As a result, if user input is not received while the visual indicator 1850 is not aligned with any object (e.g., the second position illustrated in Figure 18H), the visual indicator 1850 will eventually reach a steady state where it is aligned with one of the other objects (e.g., 1808, 1810, 1812, and so on). The visual indicator 1850 is considered to be in a steady state when the visual indicator is not transferred or moved due to the rotation of the mechanism 1820.This physics-based magnetic modeling results in the user interface having virtual detents that assist the user in selecting an object using the visual indicator 1850 without the need for precise positioning or repositioning of the visual indicator. Furthermore, this behavior limits cases where two objects are simultaneously detected by the visual indicator 1850 (e.g., . Fig. 18H), which reduces cognitive dissonance.

[0311] In this example, for example, physics-based magnetic modeling is achieved by modeling each object (e.g., 1808, 1810, 1812, and so on) as an object made of a magnetized material that creates its own persistent magnetic field, and modeling the visual indicator 1850 as a material attracted to a magnet, such as ferromagnetic materials including iron, cobalt, and nickel. In another example, physics-based modeling can be achieved by modeling each object as an object made of a material attracted to a magnet and modeling the visual indicator 1850 as a material that creates its own persistent magnetic field.In another example, physics-based modeling can be achieved by modeling each object as an object that creates its own persistent magnetic field, and by modeling the visual indicator 1850 as a material that also creates its own persistent magnetic field, such as two attracting magnets. Each of these physics-based models can be adapted to include magnetic fields that vary, rather than remain constant, based on certain factors, such as the distance between a particular object and the visual indicator 1850, the speed of the visual indicator 1850, the acceleration of the visual indicator 1850, or a combination of two or more factors. For example, the varying magnetic field can be simulated through the use of an electromagnet that can be turned on and off and have a varying strength.In some embodiments, magnetic modeling is a model described in U.S. non-provisional patent application 14 / 476,657, filed September 3, 2014, entitled "USER INTERFACE FOR MANIPULATING USER INTERFACE OBJECTS WITH MAGNETIC PROPERTIES" or PCT patent application serial number PCT / US2014 / 053961, filed September 3, 2014, entitled "USER INTERFACE FOR MANIPULATING USER INTERFACE OBJECTS WITH MAGNETIC PROPERTIES," both of which are incorporated by reference herein at least with respect to their disclosures of magnetic models in motion.

[0312] With further reference to Fig. 18H and Fig. 18I, in some embodiments, the device 1800 may snap the visual indicator 1850 to a nearest object (in this case, object 1810) when rotation of the mechanism 1820 would result in a transfer of the visual indicator 1850 to a position that is, for example, in Fig. 18H. As shown in Fig. As shown in Figure 18I, instead of allowing the visual indicator 1850 to remain in a steady state between objects 1808 and 1810, the device 1800 determines the object with the greatest magnetic influence on the visual indicator 1850 (e.g., the closest object if objects 1808 and 1810 have the same magnetic value) and "snaps" the visual indicator to that object. As shown in Figure 18I, the determination results in the visual indicator snapping to object 1810.

[0313] In some embodiments, movement of the visual indicator from object to object along a circle formed around affordance 1804 is modeled as a series or range of potential positions that the visual indicator can occupy. The objects (e.g., 1808, 1810, 1812, and so on) can be associated with specific positions along the series or range of potential positions. In response to rotation of mechanism 1820, device 1800 can determine whether the input would result in a transfer of the visual indicator to a position within the series or range that is not associated with an object (e.g., the position of visual indicator 1850 in Fig. 18H). If this is the case, the device 1800 can update the position of the visual indicator to the closest position corresponding to an object (object 1810 in Fig. 18H) and then display the visual indicator at the updated position. In some embodiments, the modeling movement of the visual indicator occurs according to a model based on a series or range of positions according to a model described in U.S. non-provisional patent application 14 / 476,657, filed September 3, 2014, entitled "USER INTERFACE FOR MANIPULATING USER INTERFACE OBJECTS WITH MAGNETIC PROPERTIES" or PCT patent application serial number PCT / US2014 / 053961, filed September 3, 2014, entitled "USER INTERFACE FOR MANIPULATING USER INTERFACE OBJECTS WITH MAGNETIC PROPERTIES," both of which are disclosed at least in their disclosures of modeling based on a range or set of positions (e.g., as described with reference to Fig. 6A to 9B for each application) are incorporated by reference in this document.

[0314] In some embodiments, such as the embodiment of Fig. 18G-18I illustrate a visual indicator in a first position associated with a first object (object 1808) of a plurality of objects. In response to receiving a first input corresponding to rotation of the rotatable input mechanism, device 1800 ceases associating the visual indicator with the first object of the plurality of objects and associates the visual indicator with an object (object 1810) of the plurality of objects associated with a second contact of the plurality of contacts.

[0315] In some embodiments, such as the embodiment of Fig. 18G-18I, as part of the user interface, device 1800 displays a visual indicator (visual indicator 1850) corresponding to a position value, the value being within a range of position values, each of which is associated with a position within the range of position values ​​for each object in the plurality of objects (e.g., 1808, 1810, 1812, and so on). Further, in response to the first input (rotation of mechanism 1820), device 1800 determines whether the first input is a request to update the position value of the visual indicator to a second position value that is not associated with any object in the plurality of objects or is not associated with any individual object in the plurality of objects.In accordance with determining that the first input is a request to update the position value of the visual provider to a second position value that is not associated with any one of the plurality of objects and is not associated with any one of the plurality of objects, the device 1800 updates the position value of the visual indicator to a third position value that corresponds to the position value of the one of the plurality of objects that is closest to the second position value within the range of position values, and further updates the display of the visual indicator according to the third position value.

[0316] In some embodiments, such as the embodiment of Fig. 18G-18I illustrate a visual indicator in a first position associated with a first object (object 1808) of a plurality of objects. In response to receiving a first input corresponding to rotation of the rotatable input mechanism, device 1800 ceases associating the visual indicator with the first object of the plurality of objects and associates the visual indicator with the second contact of the plurality of contacts by determining that rotation of the rotatable input mechanism does not result in the visual indicator being associated with the second contact of the plurality of contacts.In accordance with a determination that rotation of the rotatable input mechanism did not result in the association of the visual indicator with the second contact of the plurality of contacts, the device 1800 determines whether a position of the visual indicator is located at an object-conveying region, wherein the object-conveying region is a region located at the first object and in front of a second object associated with the second contact. In accordance with a determination that the position of the visual indicator is located in the object-conveying region, the device 1800 associates the second contact of the plurality of contacts with the visual indicator; and in accordance with a determination that the position of the visual indicator is not located in the object-conveying region, the device 1800 maintains the association of the visual indicator with the first object of the plurality of objects.

[0317] Fig. 18J-18K illustrate embodiments of a touch-sensitive display including user interface 1802 on an electronic device 1800 and having a page indicator 1860. In particular, the electronic device 1800 is configured to display on a user interface 1802 at least one additional page and / or user interface comprising at least one object (e.g., contact) based on a determination by the electronic device 1800 that a number of objects equals or exceeds a limit / threshold for object display. That is, in some embodiments, the electronic device 1800 allows a user to display any number of objects (e.g., contacts) on additional (e.g., two or more) pages or user interfaces in a manner similar to that described herein with respect to Fig. 18A-18I.

[0318] For example, the electronic device 1800 in Fig. 18J, display a first set of at least one object 1862. Furthermore, the electronic device 1800 displays on the touch-sensitive display 1802 a page indicator 1860 indicating a page or user interface where an object is to be displayed. As in Fig. 18J, the page indicator 1860 may be located at a first position indicating a first page. For example, as shown in Fig. 18J, the first user interface includes the first set of at least one object. While displaying the first user interface (e.g., first page), the electronic device 1800 may be configured to receive input corresponding to a request to display the second page. This input may be a swipe gesture by a user's finger 1830 and may be detected by the touch-sensitive surface 1802.

[0319] The electronic device 1800 may be configured to replace the indicator of the first user interface with a second user interface (e.g., the second page) in response to receiving the input, as in Fig. 18J. The electronic device 1800 may display, at a second user interface, the page indicator 1860 at a second location that is different from the first location. In some embodiments, the second page may differ from the first page such that the second page includes a second set of at least one object (e.g., contact), each associated with a contact of the plurality of contacts. In some embodiments, the objects (e.g., contacts) from the set of at least one object on a page may each be associated with a group. In some embodiments, the groups differ between pages. For example, a first page may include contacts that are each identified as a family member of the user of the electronic device 1800 (e.g.,by the user or based on data associated with the contact); a second page may include contacts each identified as a colleague of the user of the electronic device 1800 (e.g., by the user or based on data associated with the contact).

[0320] In some embodiments, providing the user with multiple pages and / or groups of the at least one object (e.g., contact) may allow for quick access to communications with the user's contacts, thereby reducing a user's cognitive load and creating a more efficient human-machine interface by reducing the number of unnecessary, extraneous, repetitive, and / or redundant inputs, and may create a faster and more efficient layout of the user interface, reducing the number of required inputs, reducing processing power, and reducing the amount of time the user interfaces must be displayed to access and perform the desired functions.

[0321] Fig. 19A-19B provide an example user interface for displaying a lifelike representation of a contact. For example, the electronic device may include a touch-sensitive display 1900 including user interface 1910. Further, the electronic device may display a lifelike representation of contact 1920 on a touch-sensitive display 1910. User interface 1910 may further display a status 1930 of contact 1920, which may include a current state and a location. In one embodiment, contact 1920 may be available and located in London. In another embodiment and at another time, a status 1930 of contact 1920 may be updated to reflect a location in Manchester and a current state of being asleep.

[0322] In some embodiments, the visual appearance of the offer (e.g., offer 1804) may be an animated representation of the first contact if the offer represents the first contact. In some embodiments, updating the visual appearance of the offer (e.g., offer 1804) to represent a second contact among the plurality of contacts may include updating the visual appearance of the offer to an animated representation of the second contact, as in Fig. 19A-19B. Furthermore, the animated representation of the first contact may be dynamic and based on at least one of time zone information of the second contact, location information of the second contact, and information regarding the state indicated by the second contact (e.g., do not disturb).

[0323] Fig. Figure 20 illustrates an exemplary user interface 2000 for activating a drawing within a drawing area. In some embodiments, the electronic device 1800 ( Fig. 18A) receive an input corresponding to a selection of the character offer 1818. In particular, the electronic device 1800 ( Fig. 18A) detect a fifth input corresponding to a selection from the drawing area 1818 and display a drawing area 2010. The drawing area is responsive to touch inputs. In further embodiments, the electronic device 1800 may detect a sixth input corresponding to a first stroke in the drawing area 2010 and, in response, display a visual representation of the first stroke in the drawing area. In some embodiments, the user interface 2000 is similar to, or operates in a similar manner to, the drawing area 630 or the drawing area 710.

[0324] In some embodiments, the electronic device 1800 ( Fig. 18) display an animated scattering of the residue 2130 along a stroke. In some embodiments, the animated scattering of the residue is a comet-like effect displayed at a trailing end of a position on the display representing a user contact 2020. Thus, as a user contacts the touch-sensitive display and moves their fingers while holding the contact, the comet-like effect forms and is displayed at a final contact position. Furthermore, the electronic device 1800 ( Fig. 18) Display a fading in smoke form 21401 of the visual representation of the stroke from the drawing area. In some embodiments, fading the visual representation includes displaying a gradual decomposition animation of the stroke (e.g., a smoke-like effect of the fading drawing strokes).

[0325] Fig. 21 illustrates example user interfaces 2100 with a lock affordance 2120 that transitions to a send affordance 2120 based on a user desiring to send the drawing to an external device. In particular, the drawing area 2110 may include a lock affordance 2120 that permits only drawing within the drawing area 2110. Further, an input corresponding to an output of the lock affordance may be received, resulting in disabling the sending of data representing any strokes within the drawing area 2110. Furthermore, the lock affordance 2120 may be replaced with a send affordance 2120 that permits transmission of the drawing to an external device.

[0326] In some embodiments, a user may further shake electronic device 1800 to remove a final stroke in the drawing area. For example, electronic device 1800 may receive input corresponding to a stroke in the drawing area. Further, in response to receiving the input, electronic device 1800 may display a visual representation of the stroke in the drawing area. Electronic device 1800 may then detect motion indicative of a shaking or vibration and, in response, determine whether the movement of the electronic device meets a motion threshold. As such, electronic device 1800 may stop displaying the visual representation of the stroke in response to detecting the input indicative of a shaking motion and determining that the movement meets or exceeds the motion threshold.

[0327] In some embodiments, electronic device 1800 may be configured to detect or otherwise determine whether another device with which the user wishes to communicate is capable of performing a drawing operation. As such, drawing affordance 181 may not be provided if the contact does not have a device capable of processing and displaying data representing strokes in a drawing.

[0328] In additional embodiments, the electronic device 1800 may be configured to record short audio messages based on a long press on the touch-sensitive display, for example, in the contact-specific screen. In particular, the electronic device 1800 may be configured to detect another input representing a contact on the touch-sensitive display. The electronic device 1800 may be configured such that a duration of the twelfth input equals or exceeds a contact duration threshold. Accordingly, the electronic device 1800 records an audio message in accordance with determining that the device equals or exceeds a contact duration threshold for the twelfth input.Additionally, the electronic device 1800 sends the audio message to an electronic device associated with the second contact.

[0329] Fig. 22 is a flowchart illustrating a method 2200 for updating the visual appearance of an offer, according to some embodiments. Method 2200 may be performed on a device (e.g., 100, 300, 500, 550, and 1800) with a touch-sensitive display and a rotatable input mechanism. Some acts in method 2200 may be combined, the order of some acts may be changed, and some acts may be omitted.

[0330] In some embodiments, a rotatable input mechanism (e.g., rotatable input mechanism 506) may be configured to receive user input. In some embodiments, method 2200 may be performed on an electronic device having a touch-sensitive surface / display (e.g., 112, 355, and 504). Example devices that may perform method 2200 include devices 100, 300, 500, 550, 1800 ( Fig. 1A, 3, 5A and 18A-18I).

[0331] As described further below, method 2200 provides an intuitive way of interacting with an electronic device by updating a visual appearance of a affordance. The method reduces the physical and / or cognitive load for a user who may engage the rotary input mechanism during various activities, thereby creating a more efficient human-machine interface.

[0332] At block 2202, the method 2200 may display on the touch-sensitive display a user interface including a plurality of objects, each associated with a contact of a plurality of contacts, and an affordance having a visual appearance representing a first contact of the plurality of contacts. At block 2204, the method 2200 may receive a first input corresponding to rotation of the rotatable input mechanism. At block 2206, in response to receiving the input corresponding to rotation of the rotatable input mechanism, the method 2200 may update the visual appearance of the affordance to represent a second contact among the plurality of contacts.

[0333] According to some embodiments, the user interface further comprises a visual indicator associated with a first object of the plurality of objects, the first object associated with the first contact of the plurality of contacts.

[0334] According to some embodiments, further in response to receiving the first input corresponding to rotation of the rotatable input mechanism, comprising: ceasing to associate the visual indicator with the first one of the plurality of objects and associating the visual indicator with an one of the plurality of objects associated with the second one of the plurality of contacts.

[0335] According to some embodiments, it includes displaying a visual indicator corresponding to a position value as part of the user interface, the value being within a range of position values ​​where each of the objects in the plurality of objects is associated with a position within the range of position values; further, in response to the first input, determining whether the first input is a request to update the position value of the visual indicator to a second position value that is not associated with any object in the plurality of objects;In accordance with determining that the first input is a request to update the position value of the visual indicator to a second position value that is not associated with any one of the plurality of objects: updating the position value of the visual indicator to a third position value that corresponds to the position value of the one of the plurality of objects that is closest to the second position value within the range of position values; and updating the display of the visual indicator according to the third position value.

[0336] According to some embodiments, wherein ceasing to associate the visual indicator with the first object of the plurality of objects comprises ceasing to associate the visual indicator with the second contact of the plurality of contacts, the method comprises: determining that rotation of the rotatable input mechanism does not result in ceasing to associate the visual indicator with the second contact of the plurality of contacts; corresponding to determining that rotation of the rotatable input mechanism did not result in ceasing to associate the visual indicator with the second contact of the plurality of contacts, determining whether a position of the visual indicator is located at an object transmission region, the object transmission region being a region located at the first object and in front of a second object associated with the second contact;In accordance with determining that the position of the visual indicator is in the object transmission region, associating the visual indicator with the second contact of the plurality of contacts; In accordance with determining that the position of the visual indicator is not in the object transmission region, maintaining the association of the visual indicator with the first object of the plurality of objects.

[0337] According to some embodiments, the visual indicator is a subtle region in which at least one displayed color of the affordance is changed, the method further comprising: further in response to receiving the first input corresponding to rotation of the rotatable input mechanism: changing a color of the visual indicator from a first color based on a color of the first object of the plurality of objects to a second color based on a color of a second object of the plurality of objects.

[0338] In some embodiments, changing the color of the visual indicator from the first color associated with the first object of the plurality of objects to the second color associated with the second contact of the plurality of contacts comprises blending the first color and the second color while the visual indicator moves from a first position associated with the first object to a second position preceding a position of a second object associated with the contact.

[0339] According to some embodiments, the visual indicator is associated with the first object of the plurality of objects when the visual indicator is in a first position that overlaps with at least a portion of the first object and when at least one displayed color of the first object is changed.

[0340] According to some embodiments, ceasing to associate the visual indicator with the first object of the plurality of objects and associating the visual indicator with the second contact of the plurality of contacts comprises transferring the visual indicator from the first position to a second position that overlaps with at least a portion of the second object, and changing at least one displayed color of the second object.

[0341] According to some embodiments, the visual appearance of the offer is an animated representation of the first contact when the offer represents the first contact, and wherein updating the visual appearance of the offer to represent a second contact among the plurality of contacts comprises updating the visual appearance of the offer to an animated representation of the second contact.

[0342] According to some embodiments, the animated representation of the first contact is dynamically based on information selected from the group consisting of time zone information of the second contact, location information of the second contact, information regarding the state indicated by the second contact, and a combination thereof.

[0343] According to some embodiments, the method further comprises: after updating the visual appearance of the affordance, receiving a second input corresponding to a selection of a third object from the plurality of objects, the third object being different from the first object and the second object, and in response to receiving the second input, updating the visual representation of the affordance to represent a third contact from the plurality of contacts.

[0344] According to some embodiments, after updating the visual appearance of the affordance, determining that no input has been received for a period of time; and in response to determining that no input has been received for a period of time, refraining from displaying the plurality of objects.

[0345] According to some embodiments, after updating the visual appearance of the affordance, detecting a third input corresponding to a selection of the affordance; and in response to detecting the third input, refraining from displaying the plurality of objects.

[0346] According to some embodiments, further in response to determining that no input has been received for a period of time, displaying a second offer.

[0347] According to some embodiments, further in response to detecting the third input, displaying a second offer.

[0348] According to some embodiments, the second offer comprises at least one offer selected from a group consisting of a call offer, a message offer, a practice offer (e.g., 1834 from Fig. 18F) to restore the user interface comprising a plurality of objects and a character set.

[0349] According to some embodiments, the second affordance is a practice affordance, the method further comprising: detecting a fourth input corresponding to a selection from the practice affordance; and in response to detecting the fourth input, displaying a user interface comprising at least one instruction for operating the electronic device.

[0350] According to some embodiments, the second affordance comprises a drawing affordance, the method further comprising: detecting a fifth input corresponding to a selection from the drawing affordance; and in response to detecting the fifth input, displaying a drawing area, the drawing area responsive to touch input.

[0351] According to some embodiments, it comprises detecting a sixth input corresponding to a first stroke in the drawing area; and in response to detecting the sixth input, displaying a visual representation of the first stroke in the drawing area.

[0352] According to some embodiments, further responsive to detecting the sixth input, it comprises determining whether a first predetermined period of time has passed after a sixth input; in accordance with determining that the first predetermined period of time has passed after the sixth input, sending the data representing the first stroke to an external device associated with the second contact.

[0353] According to some embodiments, the sixth input corresponds to at least two strokes, including the first stroke, forming a drawing, the method further comprising: further comprising, in response to detecting the sixth input, determining whether a first predetermined period of time has passed after a sixth input; in accordance with determining that the first predetermined period of time has passed after the sixth input, sending the data representing the drawing to an external device associated with the second contact.

[0354] According to some embodiments, the drawing area includes a character lock affordance that permits only one drawing in the drawing area, the method further comprising: detecting a seventh input corresponding to a selection from the character lock affordance; in response to detecting the seventh input, disabling the transmission of data representing any stroke in the drawing area; and replacing the character lock affordance with a transmit affordance that permits transmission of the drawing to an external device.

[0355] According to some embodiments, it comprises detecting an eighth input corresponding to a selection from the transmission affordance; and in response to detecting the eighth input, enabling the transmission of data representing any strokes in the character area.

[0356] According to some embodiments, the electronic device comprises at least one motion sensor, the method further comprising: receiving a ninth input corresponding to a stroke in the drawing area; in response to receiving the ninth input, displaying a visual representation of the stroke in the drawing area; detecting a tenth input corresponding to movement of the electronic device; in response to detecting the tenth input, determining whether the movement of the electronic device meets a motion threshold, and in response to detecting the tenth input and determining that the movement meets or exceeds a motion threshold, stopping displaying the visual representation of the stroke.

[0357] According to some embodiments, stopping displaying the visual representation of the stroke comprises fading the visual representation of the first stroke after a predetermined period of time.

[0358] According to some embodiments, the method comprises receiving an eleventh input representing a stroke in the drawing area; while receiving the eleventh input, displaying an animated decomposition of the residues along the stroke; displaying a visual representation of the stroke in the drawing area; and fading the visual representation of the stroke from the drawing area, wherein fading the visual representation comprises displaying a gradual decomposition animation of the stroke.

[0359] According to some embodiments, further responsive to determining that no input has been received for a period of time, determining whether the contact currently represented by the affordance is associated with a device capable of processing and displaying data representing strokes in a drawing; corresponding to determining that the contact currently represented by the affordance is associated with a device capable of processing and displaying data representing strokes in a drawing, displaying a drawing affordance; corresponding to determining that the contact currently represented by the affordance is not associated with a device capable of processing and displaying data representing strokes in a drawing, refraining from displaying the drawing affordance.

[0360] According to some embodiments, further in response to the third input, determining whether the contact currently represented by the affordance is associated with a device capable of processing and displaying data representing strokes in a drawing; corresponding to determining that the contact currently represented by the affordance is associated with a device capable of processing and displaying data representing strokes in a drawing, displaying a drawing affordance; corresponding to determining that the contact currently represented by the affordance is not associated with a device capable of processing and displaying data representing strokes in a drawing, refraining from displaying the drawing affordance.

[0361] According to some embodiments, it comprises detecting a twelfth input representing a contact on the touch-sensitive display; determining that a duration of the twelfth input equals or exceeds a contact duration threshold; recording an audio message in accordance with determining that the duration of the twelfth input equals or exceeds a contact duration threshold; and sending the audio message to an electronic device associated with a second contact.

[0362] According to some embodiments, it comprises receiving a thirteenth input representing a second rotation of the rotatable input mechanism; in response to receiving the thirteenth input, determining whether the visual indicator is near an object not associated with a contact; and in accordance with determining that the visual indicator is near the object not associated with a contact, updating the display of the affordance to an affordance to add a contact.

[0363] According to some embodiments, it comprises receiving a fourteenth input corresponding to a selection of adding the contact; and in response to receiving the fourteenth input, displaying a user interface for adding a contact.

[0364] According to some embodiments, the visual appearance of the offer is a set of initials representing a contact from the plurality of contacts or an image representing a contact from the set of contacts.

[0365] According to some embodiments, the set of initials is a monogram.

[0366] According to some embodiments, the plurality of objects comprises twelve circular objects arranged around the offering.

[0367] According to some embodiments, determining whether at least one message received from one of the plurality of contacts is unread; and in accordance with determining that a message received from one of the plurality of contacts is unread, displaying an indicator proximate the object of the plurality of objects associated with the at least one message.

[0368] According to some embodiments, the indicator comprises an indication of the number of at least one unread message.

[0369] According to some embodiments, each object of the plurality of objects includes a unique color scheme.

[0370] According to some embodiments, the visual indicator comprises a triangular shape that is movable over the offer.

[0371] According to some embodiments, each object of the plurality of objects includes a set of initials associated with the contact associated with the object.

[0372] According to some embodiments, the set of initials is a monogram.

[0373] According to some embodiments, each of the plurality of objects is associated with an hour marker of a clock.

[0374] Fig. 23 is a flowchart illustrating a method 2300 for updating a visual appearance of an offer, according to some embodiments. Method 2300 may be performed on a device (e.g., 100, 300, 500, 550, and 1800) with a touch-sensitive display and a rotatable input mechanism. Some acts in method 2300 may be combined, the order of some acts may be changed, and some acts may be omitted.

[0375] In some embodiments, a rotatable input mechanism (e.g., rotatable input mechanism 506) may be configured to receive user input. In some embodiments, method 2300 may be performed on an electronic device having a touch-sensitive surface / display (e.g., 112, 355, and 504). Example devices that may perform method 2300 include devices 100, 300, 500, 550, 1800 ( Fig. 1A, 3, 5A and 18A-18I).

[0376] As described further below, method 2300 enables an intuitive manner of interacting with an electronic device by updating a visual appearance of a affordance. The method reduces the physical and / or cognitive burden on a user who may use the rotary input mechanism during various activities, thereby creating a more efficient human-machine interface.

[0377] At block 2302, the method 2300 may display on the touch-sensitive display a user interface comprising a plurality of objects, each associated with a contact of a plurality of contacts, and an affordance having a visual appearance representing a first contact of the plurality of contacts. At block 2304, the method 2300 may receive a first input corresponding to a selection of an object of the plurality of objects associated with a second contact of the plurality of contacts. At block 2306, in response to receiving the input corresponding to the contact on the object of the plurality of objects, the method 2300 includes updating the affordance to represent a second contact among the plurality of contacts.

[0378] According to some embodiments, Fig. 24 is an exemplary functional block diagram of an electronic device 2400 configured according to the principles of the various described embodiments. According to some embodiments, the functional blocks of the electronic device 2400 are configured to perform the techniques described above. The functional blocks of the device 2400 are optionally implemented by hardware, software, or a combination of hardware and software to implement the principles of the various described examples. One skilled in the art will appreciate that the Fig. 24 may be combined or divided into sub-blocks to implement the principles of the various examples described. Therefore, the description in this document supports any combination, division, or further definition of the functional blocks described in this document.

[0379] As in Fig. 24, an electronic device 2400 includes a touch-sensitive display unit 2402, a rotatable input mechanism 2404, and a processing unit 2406 connected to the touch-sensitive display unit 2402 and the rotatable input mechanism 2404. In some embodiments, the processing unit 2406 includes a receiving unit 2408, an updating unit 2410, an allocating unit 2412, a determining unit 2414, a recognizing unit 2416, a replacing unit 2418, a recording unit 2420, a display activating unit 2422, a modifying unit 2424, a blending unit 2426, a transmitting unit 2428, a sending unit 2430, and a fading unit 2432.

[0380] The processing unit 2406 is configured to: display on the touch-sensitive display unit 2402 a user interface (e.g., using the display activation unit 2422) comprising a plurality of objects associated with a contact among the plurality of contacts and an affordance having a visual appearance representing a first contact among the plurality of contacts; receive a first input corresponding to a rotation of the rotatable input mechanism (e.g., using the receiving unit 2408); and in response to receiving the input corresponding to the rotation of the rotatable input mechanism, update the visual appearance of the affordance (e.g., using the updating unit 2410) to represent a second contact among the plurality of contacts.

[0381] According to some embodiments, the user interface further comprises a visual indicator associated with a first object of the plurality of objects, the first object associated with the first contact of the plurality of contacts.

[0382] According to some embodiments, the processing unit 2406 is further configured to, in response to receiving the first input corresponding to the rotation of the rotatable input mechanism, stop associating the visual indicator with the first object of the plurality of objects and associate (e.g., using the association unit 2412) the visual indicator with an object of the plurality of objects that is associated with the second contact of the plurality of contacts.

[0383] According to some embodiments, the processing unit 2406 is further configured to display a visual indicator corresponding to a position value as part of the user interface (e.g., using the display activation unit 2422), the value being within a range of position values, wherein each of the objects of the plurality of objects is associated with a position within the range of position values; further determined in response to the first input (e.g.,using a determination unit 2414), whether the first input is a request to update the position value of the visual indicator to a second position value that is not associated with any one of the plurality of objects; according to determining that the first input is a request to update the position value of the visual indicator to a second position value that is not associated with any one of the plurality of objects: updating the position value of the visual indicator to a third position value that corresponds to the position value of the one of the plurality of objects that is closest to the second position value within the range of position values; and updating the display of the visual indicator according to the third position value.

[0384] According to some embodiments, the processing unit 2406 is further configured such that ceasing to associate the visual indicator with the first object of the plurality of objects and ceasing to associate the visual indicator with the second contact of the plurality of contacts comprises: determining that rotation of the rotatable input mechanism does not result in the association of the visual indicator with the second contact of the plurality of contacts; corresponding to determining that rotation of the rotatable input mechanism did not result in the association of the visual indicator with the second contact of the plurality of contacts, determining whether a position of the visual indicator is located at an object transmission region, wherein the object transmission region is a region located at the first object and in front of a second object associated with the second contact;In accordance with determining that the position of the visual indicator is in the object transmission region, associating the visual indicator with the second contact of the plurality of contacts; In accordance with determining that the position of the visual indicator is not in the object transmission region, maintaining the association of the visual indicator with the first object of the plurality of objects.

[0385] According to some embodiments, the processing unit 2406 is further configured such that the visual indicator is a subtle region in which at least one displayed color of the affordance is changed, the method further comprising: further in response to receiving the first input corresponding to rotation of the rotatable input mechanism: changing (e.g., using the changing unit 2424) a color of the visual indicator from a first color based on a color of the first object of the plurality of objects to a second color based on a color of a second object of the plurality of objects.

[0386] According to some embodiments, the processing unit 2406 is further configured such that changing (e.g., using the changing unit 2424) the color of the visual indicator from the first color associated with the first object of the plurality of objects to the second color associated with the second contact of the plurality of contacts comprises blending (e.g., using the blending unit 2426) the first color and the second color as the visual indicator moves from a first position associated with the first object to a second position preceding a position of a second object associated with the contact.

[0387] According to some embodiments, the visual indicator is associated with the first object of the plurality of objects when the visual indicator is in a first position that overlaps with at least a portion of the first object and when at least one displayed color of the first object is changed.

[0388] According to some embodiments, the processing unit 2406 is further configured such that ceasing to associate the visual indicator with the first object of the plurality of objects and associating the visual indicator with the second contact of the plurality of contacts comprises transferring (e.g., using the transfer unit 2428) the visual indicator from the first position to a second position that overlaps with at least a portion of the second object, and changing at least one displayed color of the second object.

[0389] According to some embodiments, the processing unit 2406 is further configured such that the visual appearance of the offer is an animated representation of the first contact when the offer represents the first contact, wherein updating the visual appearance of the offer to represent a second contact among the plurality of contacts comprises updating the visual appearance of the offer to an animated representation of the second contact.

[0390] According to some embodiments, the processing unit 2406 is further configured to dynamically generate the animated representation of the first contact based on information selected from the group consisting of time zone information of the second contact, location information of the second contact, information regarding the state marked by the second contact, and a combination thereof.

[0391] According to some embodiments, the processing unit 2406 is further configured to: after updating the visual appearance of the affordance, receive a second input corresponding to a selection of a third object from the plurality of objects, wherein the third object is different from the first object and the second object, and in response to receiving the second input, update the visual representation of the affordance to represent a third contact from the plurality of contacts.

[0392] According to some embodiments, the processing unit 2406 is further configured to: after updating the visual appearance of the affordance, determine that no input has been received for a period of time; and in response to determining that no input has been received for a period of time, refrain from displaying the plurality of objects.

[0393] According to some embodiments, the processing unit 2406 is further configured to, after updating the visual appearance of the affordance, detect a third input corresponding to a selection of the affordance (e.g., using the detection unit 2416); and to refrain from displaying the plurality of objects in response to detecting the third input.

[0394] According to some embodiments, the processing unit 2406 is further configured to: continue to display a second affordance (e.g., using the display enable unit 2422) in response to determining that no input has been received for a period of time.

[0395] According to some embodiments, the processing unit 2406 is further configured to: further display a second affordance in response to detecting the third input.

[0396] According to some embodiments, the second affordance comprises at least one affordance selected from a group consisting of a call affordance, a message affordance, an exercise affordance, an affordance for restoring the user interface comprising a plurality of objects, and a drawing affordance.

[0397] According to some embodiments, the second affordance is a practice affordance, wherein the processing unit 2406 is further configured to: detect a fourth input corresponding to a selection from the practice affordance (e.g., using the detection unit 2416); and in response to detecting the fourth input, display a user interface comprising at least one instruction for operating the electronic device.

[0398] According to some embodiments, the second affordance comprises a drawing affordance, wherein the processing unit 2406 is configured to: detect a fifth input corresponding to a selection from the drawing affordance; and in response to detecting the fifth input, display a drawing area, wherein the drawing area is responsive to touch inputs.

[0399] According to some embodiments, the processing unit 2406 is further configured to: detect a sixth input corresponding to a first stroke in the drawing area; and in response to detecting the sixth input, display a visual representation of the first stroke in the drawing area.

[0400] According to some embodiments, processing unit 2406 is further configured to: further determine, in response to detecting the sixth input, whether a first predetermined period of time has passed after a sixth input; corresponding to determining that the first predetermined period of time has passed after the sixth input, send data representing the first stroke to an external device associated with the second contact (e.g., using transmit unit 2430).

[0401] According to some embodiments, the processing unit 2406 is further configured such that the sixth input corresponds to at least two strokes, including the first stroke, forming a drawing, the method further comprising: further in response to detecting the sixth input, determining whether a first predetermined period of time has passed after a sixth input; corresponding to determining that the first predetermined period of time has passed after the sixth input, sending the data representing the drawing to an external device associated with the second contact.

[0402] According to some embodiments, the processing unit 2406 is further configured such that the drawing area includes a character lock affordance that permits only drawing in the drawing area, the method further comprising: detecting a seventh input corresponding to a selection from the character lock affordance; in response to detecting the seventh input, disabling the transmission of data representing any stroke in the drawing area; and replacing (e.g., using the replacement unit 2418) the character lock affordance with a transmit affordance that permits transmission of the drawing to an external device.

[0403] According to some embodiments, the processing unit 2406 is further configured to detect an eighth input corresponding to a selection from the transmit affordance; and in response to detecting the eighth input, to enable the transmission of data representing any strokes in the character area.

[0404] According to some embodiments, the electronic device comprises at least one motion sensor, wherein the processing unit 2406 is further configured to: receive a ninth input corresponding to a stroke in the drawing area; in response to receiving the ninth input, display a visual representation of the stroke in the drawing area; detect a tenth input corresponding to movement of the electronic device; in response to detecting the tenth input, determine whether the movement of the electronic device meets a motion threshold, and in response to detecting the tenth input and determining that the movement meets or exceeds a motion threshold, stop displaying the visual representation of the stroke.

[0405] According to some embodiments, the processing unit 2406 is further configured such that: terminating the display of the visual representation of the stroke comprises fading (e.g., using the fading unit 2432) the visual representation of the first stroke after a predetermined period of time.

[0406] According to some embodiments, the processing unit 2406 is further configured to: receive an eleventh input representing a stroke in the drawing area; while receiving the eleventh input, display an animated decomposition of the residues along the stroke; display a visual representation of the stroke in the drawing area; and fade the visual representation of the stroke from the drawing area, wherein fading the visual representation comprises displaying a gradual decomposition animation of the stroke.

[0407] According to some embodiments, the processing unit 2406 is further configured to: further in response to determining that no input has been received for a period of time, determine whether the contact currently represented by the affordance is associated with a device capable of processing and displaying data representing strokes in a drawing; display a drawing affordance in accordance with a determination that the contact currently represented by the affordance is associated with a device capable of processing and displaying data representing strokes in a drawing; refrain from displaying the drawing affordance in accordance with a determination that the contact currently represented by the affordance is not associated with a device capable of processing and displaying data representing strokes in a drawing.

[0408] According to some embodiments, the processing unit 2406 is further configured to: further determine, in response to the third input, whether the contact currently represented by the affordance is associated with a device capable of processing and displaying data representing strokes in a drawing; displaying a drawing affordance in accordance with a determination that the contact currently represented by the affordance is associated with a device capable of processing and displaying data representing strokes in a drawing; refraining from displaying the drawing affordance in accordance with a determination that the contact currently represented by the affordance is not associated with a device capable of processing and displaying data representing strokes in a drawing.

[0409] According to some embodiments, processing unit 2406 is further configured to: detect a twelfth input representing a contact on the touch-sensitive display; determine that a duration of the twelfth input equals or exceeds a contact duration threshold; record an audio message (e.g., using recording unit 2420) in accordance with determining that the duration of the twelfth input equals or exceeds a contact duration threshold; and send the audio message to an electronic device associated with a second contact.

[0410] According to some embodiments, the processing unit 2406 is further configured to: receive a thirteenth input representing a second rotation of the rotatable input mechanism; in response to receiving the thirteenth input, determine whether the visual indicator is near an object not associated with a contact; and in accordance with determining that the visual indicator is near the object not associated with a contact, update the display of the affordance to an affordance to add a contact.

[0411] According to some embodiments, the processing unit 2406 is further configured to: receive a fourteenth input corresponding to a selection of adding the contact; and in response to receiving the fourteenth input, display a user interface for adding a contact.

[0412] According to some embodiments, the visual appearance of the offer is a set of initials representing a contact from the plurality of contacts or an image representing a contact from the set of contacts.

[0413] According to some embodiments, the set of initials is a monogram.

[0414] According to some embodiments, the plurality of objects comprises twelve circular objects arranged around the offering.

[0415] According to some embodiments, the processing unit 2406 is further configured to determine whether at least one message received from one of the plurality of contacts is unread; and in accordance with determining that a message received from one of the plurality of contacts is unread, display an indicator proximate the object of the plurality of objects associated with the at least one message.

[0416] According to some embodiments, the indicator comprises an indication of the number of at least one unread message.

[0417] According to some embodiments, each object of the plurality of objects includes a unique color scheme.

[0418] According to some embodiments, the visual indicator comprises a triangular shape that is movable over the offer.

[0419] According to some embodiments, each object of the plurality of objects includes a set of initials associated with the contact associated with the object.

[0420] According to some embodiments, the set of initials is a monogram.

[0421] According to some embodiments, each of the plurality of objects is associated with an hour marker of a clock.

[0422] In some embodiments, for displaying the user interface comprising the plurality of objects, the processing unit 2406 is further configured to display the user interface comprising a page indicator associated with a first page and a second page of the user interface, wherein the processing unit is further configured to: receive input corresponding to a request to display the second page (e.g., using the receiving unit 2408); and in response to receiving the input corresponding to the request to display the second page, replace the display of the first page with the second page (e.g., using the replacing unit 2418), wherein the second page is different from the first page.

[0423] In some embodiments, the second page includes a second plurality of objects each associated with a contact of the plurality of contacts.

[0424] In some embodiments, the user interface is associated with the first page and a second user interface is associated with a second page, wherein replacing the display of the page with the second page comprises replacing the user interface with the second user interface.

[0425] In some embodiments, the input is a swipe gesture on the touch-sensitive display.

[0426] According to some embodiments, Fig. 25 is an exemplary functional block diagram of an electronic device 2500 configured according to the principles of the various described embodiments. According to some embodiments, the functional blocks of the electronic device 2500 are configured to perform the techniques described above. The functional blocks of the device 2500 are optionally implemented by hardware, software, or a combination of hardware and software to implement the principles of the various described examples. One skilled in the art will appreciate that the Fig. 25 may be combined or divided into sub-blocks to implement the principles of the various examples described. Therefore, the description in this document may support any combination, division, or further definition of the functional blocks described in this document.

[0427] As in Fig. 25, an electronic device 2500 includes a touch-sensitive display unit 2502, a rotatable input mechanism 2504, and a processing unit 2506 connected to the touch-sensitive display unit 2502 and the rotatable input mechanism 2504. In some embodiments, the processing unit 2506 includes a receiving unit 2508, an updating unit 2510, and a display activation unit.

[0428] The processing unit 2406 is configured to: display on the touch-sensitive display unit 2502 a user interface comprising a plurality of objects each associated with a contact of a plurality of contacts, and an affordance having a visual appearance representing a first contact of the plurality of contacts (e.g., using the display enabling unit 2522); receive a first input corresponding to a selection of an object of the plurality of objects associated with a second contact of the plurality of contacts (e.g., using the receiving unit 2508); and in response to receiving the input corresponding to the contact on the object of the plurality of objects, update the visual appearance of the affordance (e.g., using the updating unit 2510) to represent a second contact among the plurality of contacts.

Claims

[1] Method comprising: on an electronic device having a touch-sensitive display configured to communicate with an external device connected to a contact, to communicate: Display a drawing area connected to the contact; Detecting user input in the drawing area; Determining whether the user input is a single-finger touch input or a multi-finger touch input; and in accordance with a determination that the user input is a single-finger touch input, sending data to the external device associated with the contact, the data representing the single-finger touch input; and in accordance with a determination that the user input is a multi-finger touch input, sending data to the external device associated with the contact, wherein sending the data causes the external device to display a visual indicator corresponding to the multi-finger touch input, further comprising: sending the data representing the single-finger touch input causes the external device to display a visual representation different from the visual indicator without displaying the visual indicator, and sending the data representing the multi-finger touch input causes the external device to display the visual indicator without displaying the visual representation. [2] The method of claim 1, wherein the multi-finger touch input causes the external device to display a visual indicator of the duration of the multi-finger touch input. [3] The method of claim 1, wherein the visual indicator is an image. [4] The method of claim 1, wherein the visual indicator is an animated image. [5] The method of claim 1, wherein the visual indicator is a pulsating heart. [6] The method of claim 1, wherein the single-finger touch input causes the external device to display a visual representation for the duration of the single-finger touch input. [7] The method of claim 1, wherein the visual representation comprises at least one of a circle, an ellipse, and an oval. [8] The method of claim 1, wherein the visual representation comprises at least two concentric circles, ellipses and / or ovals. [9] The method of claim 1, wherein the visual representation on the external device fades after being displayed for a predetermined period of time. [10] The method of claim 1, wherein the single-finger touch input is a single-finger tap. [11] The method of claim 1, wherein the single-finger touch input is a single-finger swipe contact. [12] The method of claim 1, further comprising: in accordance with a determination that the user input represents a plurality of single-finger touch inputs, sending data to the external device associated with the contact after a predetermined period of time has elapsed since a last swipe contact after a plurality of swipe contacts, the data representing the plurality of single-finger touch inputs. [13] The method of claim 12, further comprising: the multitude of single-finger touch inputs includes multiple swipes in the drawing area. [14] The method of claim 1, further comprising: according to a determination that the user input represents the single-finger touch input: Displaying the visual representation corresponding to the single-finger touch input in the drawing area; and Fading the visual representation from the drawing area while the data corresponding to the single-finger touch input is sent. [15] The method of claim 1, further comprising: according to the determination that the user input represents multi-finger touch input: Displaying the visual indicator corresponding to the multi-finger touch input in the drawing area; and Fading of the visual indicator from the drawing area while the data corresponding to the multi-finger touch input is being sent. [16] The method of claim 1, further comprising: sending the data causes the external device to display a notification that the data has been received before displaying the visual indicator corresponding to the multi-finger touch input. [17] The method of claim 1, further comprising: sending the data causes the external device to display a notification that the data has been received before displaying the visual representation corresponding to the single-finger touch input. [18] The method of claim 1, further comprising: sending the data causes the external device to provide a haptic output. [19] An electronic device configured to communicate with an external device connected to a contact, comprising: a touch-sensitive display; at least one processor; a data storage device; and at least one program, wherein the at least one program is stored in the data memory and configured to be executed by the at least one processor, wherein the at least one program contains instructions for carrying out a method according to any one of claims 1-18. [20] A non-transitory computer-readable storage medium storing at least one program, the at least one program comprising instructions that, when executed by at least one processor of an electronic device having a touch-sensitive display configured to communicate with an external device connected to a contact, cause the electronic device to perform a method according to any one of claims 1-18.

Citation Information

Patent Citations

  • Interactivity model for shared feedback on mobile devices

    US20140184497A1

  • Preferred contact group centric interface

    US8595649B2