Low Bandwidth and Emergency Communications User Interface
Efficient user interfaces for low-bandwidth and emergency communications, adapted to network availability, address the inefficiencies of existing methods, enhancing communication efficiency and user experience while conserving power.
Patent Information
- Application Number
- JP2024515962
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-09-09
- Filing Date
- 2022-09-12
- Publication Date
- 2025-05-21
- Estimated Expiration
- 2042-09-12
AI Technical Summary
Existing techniques for low-bandwidth and emergency communications using electronic devices are cumbersome and inefficient, often requiring complex and time-consuming user interfaces that waste user time and device energy, especially in battery-operated devices.
The development of faster and more efficient user interfaces for low-bandwidth and emergency communications, which adapt based on the availability of terrestrial wireless networks, allowing for intuitive communication initiation through simplified interfaces that conserve power and reduce cognitive burden.
These improved interfaces enhance the efficiency and effectiveness of low-bandwidth and emergency communications, reducing user input requirements, conserving battery power, and improving overall user satisfaction.
Smart Images

Figure 0007681189000001 
Figure 0007681189000002 
Figure 0007681189000003
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Patent Application No. 63 / 243,502, entitled "LOW-BANDWIDTH AND EMERGENCY COMMUNICATION USER INTERFACES," filed September 13, 2021, and U.S. Patent Application No. 17 / 941,400, entitled "LOW-BANDWIDTH AND EMERGENCY COMMUNICATION USER INTERFACES," filed September 9, 2022, the contents of each of which are incorporated by reference in their entirety herein.
[0002] The present disclosure relates generally to computer user interfaces, and more particularly to techniques for low bandwidth and / or emergency communications. [Background technology]
[0003] The computer system may include hardware and / or software for displaying interfaces for various types of communications. Summary of the Invention
[0004] However, some techniques for low-bandwidth and emergency communications using electronic devices are generally cumbersome and inefficient. For example, some existing techniques use complex and time-consuming user interfaces that may involve multiple key presses or strokes. Existing techniques take longer than necessary, wasting the user's time and the device's energy. This latter consideration is particularly important in battery-operated devices.
[0005] The present technology thus provides electronic devices with faster, more efficient methods and interfaces for low bandwidth and emergency communications. Such methods and interfaces, optionally, complement or replace other methods for low bandwidth and emergency communications. Such methods and interfaces reduce the cognitive burden on users and create a more efficient human-machine interface. For battery-operated computing devices, such methods and interfaces conserve power and increase the time between battery charges.
[0006] According to some embodiments, a method is described that is executed in a computer system in communication with a display generating component, the method including displaying, via the display generating component, a user interface for initiating communication, the user interface including, pursuant to a determination that a terrestrial wireless network is available to the computer system for initiating communication, displaying at least a portion of the user interface in a first appearance, and pursuant to a determination that a terrestrial wireless network is not available to the computer system for initiating communication, displaying a portion of the user interface in a second appearance, the second appearance differing from the first appearance and including an indication that communication may be initiated over an alternative communication network other than the terrestrial wireless network.
[0007] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component, the one or more programs including instructions for displaying, via the display generating component, a user interface for initiating communication, the user interface including, in accordance with a determination that a terrestrial wireless network is available to the computer system for initiating communication, displaying at least a portion of the user interface in a first appearance, and in accordance with a determination that a terrestrial wireless network is not available to the computer system for initiating communication, displaying a portion of the user interface in a second appearance, the second appearance differing from the first appearance and including an indication that communication may be initiated via an alternative communication network other than the terrestrial wireless network.
[0008] According to some embodiments, a temporary computer-readable storage medium is described, the temporary computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component, the one or more programs including instructions for displaying, via the display generating component, a user interface for initiating communication, the user interface including, in accordance with a determination that a terrestrial wireless network is available to the computer system for initiating communication, displaying at least a portion of the user interface in a first appearance, and in accordance with a determination that a terrestrial wireless network is not available to the computer system for initiating communication, displaying a portion of the user interface in a second appearance, the second appearance differing from the first appearance and including an indication that communication may be initiated via an alternative communication network other than the terrestrial wireless network.
[0009] According to some embodiments, a computer system configured to communicate with a display generation component is described, the computer system comprising one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for displaying, via the display generation component, a user interface for initiating communication, the user interface including, pursuant to a determination that a terrestrial wireless network is available to the computer system for initiating communication, displaying at least a portion of the user interface in a first appearance, and pursuant to a determination that a terrestrial wireless network is not available to the computer system for initiating communication, displaying a portion of the user interface in a second appearance, the second appearance differing from the first appearance and including an indication that communication may be initiated via an alternative communication network other than the terrestrial wireless network.
[0010] According to some embodiments, a computer system configured to communicate with a display generation component is described, the computer system comprising means for displaying, via the display generation component, a user interface for initiating communication, the user interface including, pursuant to a determination that a terrestrial wireless network is available to the computer system for initiating communication, displaying at least a portion of the user interface in a first appearance, and pursuant to a determination that a terrestrial wireless network is not available to the computer system for initiating communication, displaying the portion of the user interface in a second appearance, the second appearance differing from the first appearance and including an indication that communication may be initiated via an alternative communication network other than the terrestrial wireless network.
[0011] According to some embodiments, a computer program product is described that stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component, the one or more programs including instructions for displaying, via the display generating component, a user interface for initiating communication, the user interface including, pursuant to a determination that a terrestrial wireless network is available to the computer system for initiating communication, displaying at least a portion of the user interface in a first appearance, and pursuant to a determination that a terrestrial wireless network is not available to the computer system for initiating communication, displaying a portion of the user interface in a second appearance, the second appearance differing from the first appearance and including an indication that communication may be initiated via an alternative communication network other than the terrestrial wireless network.
[0012] According to some embodiments, a method is described that is executed in a computer system in communication with a display generating component and one or more input devices. The method includes displaying, while the computer system is in the emergency communication mode, via the display generating component, a first user interface specific to the emergency communication mode that includes a selectable communication send option for sending a communication to one or more recipients that are automatically selected based on proximity of a remote computer system associated with the one or more recipients to the computer system without providing information identifying the one or more recipients, receiving, via the one or more input devices, one or more inputs that include a selection of the communication send option, and in response to receiving the one or more inputs, sending the communication to the one or more recipients.
[0013] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs including instructions for: displaying, via the display generating component, a first user interface specific to the emergency communication mode, while the computer system is in the emergency communication mode, the first user interface including a selectable communication sending option for sending a communication to one or more recipients that are automatically selected based on proximity of a remote computer system associated with the one or more recipients to the computer system without providing information identifying the one or more recipients, receiving, via the one or more input devices, one or more inputs including a selection of the communication sending option, and transmitting the communication to the one or more recipients in response to receiving the one or more inputs.
[0014] According to some embodiments, a temporary computer-readable storage medium is described, the temporary computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs including instructions for: displaying, via the display generating component, a first user interface specific to the emergency communication mode, while the computer system is in the emergency communication mode, the first user interface including a selectable communication sending option for sending a communication to one or more recipients that are automatically selected based on proximity of a remote computer system associated with the one or more recipients to the computer system without providing information identifying the one or more recipients, receiving, via the one or more input devices, one or more inputs including a selection of the communication sending option, and transmitting the communication to the one or more recipients in response to receiving the one or more inputs.
[0015] According to some embodiments, a computer system configured to communicate with a display generating component and one or more input devices is described, the computer system comprising one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying, via the display generating component, a first user interface specific to the emergency communication mode, while the computer system is in the emergency communication mode, the first user interface including a selectable communication sending option for sending a communication to one or more recipients that are automatically selected based on a proximity of a remote computer system associated with the one or more recipients to the computer system without providing information identifying the one or more recipients, receiving, via the one or more input devices, one or more inputs including a selection of the communication sending option, and transmitting the communication to the one or more recipients in response to receiving the one or more inputs.
[0016] According to some embodiments, a computer system configured to communicate with a display generating component and one or more input devices is described, the computer system comprising means for displaying, via the display generating component, a first user interface specific to the emergency communication mode while the computer system is in the emergency communication mode, the first user interface including a selectable communication sending option for sending a communication to one or more recipients that are automatically selected based on proximity of a remote computer system associated with the one or more recipients to the computer system without providing information identifying the one or more recipients, receiving, via the one or more input devices, one or more inputs including a selection of the communication sending option, and sending the communication to the one or more recipients in response to receiving the one or more inputs.
[0017] According to some embodiments, a computer program product is described that stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs including instructions for: displaying, via the display generating component, a first user interface specific to the emergency communication mode, while the computer system is in the emergency communication mode, the first user interface including a selectable communication send option for sending a communication to one or more recipients that are automatically selected based on proximity of a remote computer system associated with the one or more recipients to the computer system without providing information identifying the one or more recipients, receiving, via the one or more input devices, one or more inputs including a selection of the communication send option, and transmitting the communication to the one or more recipients in response to receiving the one or more inputs.
[0018] Executable instructions to perform these functions are optionally contained in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Executable instructions to perform these functions are optionally contained in a transitory computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0019] Thus, devices are provided with faster, more efficient methods and interfaces for low bandwidth and emergency communications, thereby increasing the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces may complement or replace other methods for low bandwidth and emergency communications. [Brief description of the drawings]
[0020] For a better understanding of the various described embodiments, reference should be made to the following Detailed Description in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout:
[0021] [Figure 1A] FIG. 1 is a block diagram illustrating a portable multifunction device with a touch-sensitive display in accordance with some embodiments.
[0022] [Figure 1B] FIG. 2 is a block diagram illustrating example components for event processing according to some embodiments.
[0023] [Diagram 2] FIG. 1 illustrates a portable multifunction device having a touch screen in accordance with some embodiments.
[0024] [Diagram 3] 1 is a block diagram of an exemplary multifunction device having a display and a touch-sensitive surface in accordance with some embodiments.
[0025] [Figure 4A] 1 illustrates an exemplary user interface for a menu of applications on a portable multifunction device in accordance with some embodiments.
[0026] [Figure 4B] 1 illustrates an exemplary user interface of a multifunction device having a touch-sensitive surface that is separate from a display in accordance with some embodiments.
[0027] [Figure 5A] 1 illustrates a personal electronic device according to some embodiments.
[0028] [Figure 5B] FIG. 1 is a block diagram illustrating a personal electronic device according to some embodiments.
[0029] [Figure 6A] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 6B] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 6C] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 6D] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 6E] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 6F] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 6G] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 6H] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 6I] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 6J] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 6K] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 6L] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 6M] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 6N] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 6O]1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments.
[0030] [Figure 7] 1 shows a flow diagram illustrating a method for low bandwidth and emergency communications according to some embodiments.
[0031] [Figure 8A] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8B] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8C] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8D] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8E] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8F] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8G] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8H] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8I] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8J] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8K] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8L] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8M] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8N] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8O] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8P] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8Q] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8R] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments. [Figure 8S] 1 illustrates an example user interface for low bandwidth and emergency communications, according to some embodiments.
[0032] [Figure 9] 1 shows a flow diagram illustrating a method for low bandwidth and emergency communications according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0033] The following description sets forth example methods, parameters, etc., however, it should be recognized that such description is not intended as a limitation on the scope of the present disclosure, but rather is provided as a description of example embodiments.
[0034] There is a need for an electronic device that provides an efficient method and interface for low bandwidth and emergency communications. In some examples, a portion of a user interface may be displayed with a first appearance according to a determination that a terrestrial wireless communication network is available for communication and displayed with a different appearance according to a determination that a terrestrial wireless communication network is not available. In some examples, a user interface and recipient specific to the emergency communication mode are automatically selected for receiving communications based on proximity to the computer system while the computer system is in the emergency communication mode. Such techniques can reduce the cognitive burden of users implementing low bandwidth and emergency communications, thereby increasing productivity. Additionally, such techniques can reduce processor and battery power that would otherwise be wasted on redundant user input.
[0035] In the following, FIGS. 1A-1B, 2, 3, 4A-4B, and 5A-5B provide a description of an exemplary device for implementing the techniques of low bandwidth communication and emergency communication. FIGS. 6A-6O show exemplary user interfaces for low bandwidth communication and emergency communication. FIG. 7 is a flow diagram illustrating a method of low bandwidth communication and emergency communication according to some embodiments. The user interfaces of FIGS. 6A-6O are used to illustrate the processes described below, including the process of FIG. 7. FIGS. 8A-8S show exemplary user interfaces for low bandwidth communication and emergency communication. FIG. 9 is a flow diagram illustrating a method of low bandwidth communication and emergency communication according to some embodiments. The user interfaces of FIGS. 8A-8S are used to illustrate the processes described below, including the process of FIG. 9.
[0036] The processes described below enhance usability of the device and streamline the user-device interface (e.g., by helping the user provide appropriate inputs and reduce user errors when operating / interacting with the device) through a variety of techniques, including providing improved visual feedback to the user, reducing the number of inputs required to execute an action, providing additional control options without cluttering the user interface with additional displayed controls, executing an action without requiring further user input when a set of conditions is met, and / or other techniques. These techniques also reduce power usage and improve the device's battery life by allowing the user to use the device more quickly and efficiently.
[0037] Furthermore, in methods described herein in which one or more steps are contingent on one or more conditions being met, it should be understood that the described method can be repeated in multiple iterations such that over the course of the iterations, all of the conditions on which the steps of the method are contingent are met in different iterations of the method. For example, if a method requires performing a first step if a condition is met and performing a second step if the condition is not met, one skilled in the art would understand that the steps recited in the claim are repeated in a particular order until the conditions are met and are no longer met. Thus, a method described with one or more steps that are dependent on one or more conditions being met can be rewritten as a method that is repeated until each condition recited in the method is met. However, this is not required for system or computer readable medium claims in which the system or computer readable medium includes instructions for performing a conditional action based on the satisfaction of the corresponding one or more conditions, and thus can determine whether a contingency is met without explicitly repeating the steps of the method until all conditions on which the steps of the method are contingent are met. Those skilled in the art will also appreciate that, as with methods having conditional steps, the system or computer-readable storage medium may repeat the steps of the method as many times as necessary to ensure that all of the conditional steps have been performed.
[0038] In the following description, terms such as "first" and "second" are used to describe various elements, but these elements should not be limited by these terms. In some embodiments, the terms are used to distinguish one element from another element. For example, a first touch can be referred to as a second touch, and similarly, a second touch can be referred to as a first touch, without departing from the scope of various embodiments described. In some embodiments, the first touch and the second touch are two separate references to the same touch. In some embodiments, the first touch and the second touch are both touches, but they are not the same touch.
[0039] The terminology used in the description of the various embodiments described herein is for the purpose of describing particular embodiments only and is not intended to be limiting. In the description of the various embodiments described 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 should also be understood that as used herein, the term "and / or" refers to and includes any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "includes," "including," "comprises," and / or "comprising," as used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0040] The term "if" is, optionally, interpreted as meaning "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [a stated condition or event] is detected" is, optionally, interpreted as meaning "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]," depending on the context.
[0041] 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 communication device, such as a mobile phone, that also includes other functions, such as PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, but are not limited to, iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, Calif. Optionally, other portable electronic devices, such as laptop computers or tablet computers having a touch-sensitive surface (e.g., a touchscreen display and / or a touchpad), are also used. It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer having a touch-sensitive surface (e.g., a touchscreen display and / or a touchpad). In some embodiments, the electronic device is a computer system in communication (e.g., via wired communication, via wireless communication) with a display generating component. The display generating component is configured to provide a visual output, such as a display via a CRT display, a display via an LED display, or a display via image projection. In some embodiments, the display generating component is integrated with the computer system. In some embodiments, the display generation components are separate from the computer system. As used herein, "displaying" content includes causing content (e.g., video data rendered or decoded by display controller 156) to be displayed by transmitting data (e.g., image data or video data) over a wired or wireless connection to an integrated or external display generation component to visually generate the content.
[0042] In the following discussion, electronic devices are described that include a display and a touch-sensitive surface, however, it should be understood that the electronic device optionally includes one or more other physical user-interface devices, such as a physical keyboard, a mouse, and / or a joystick.
[0043] The device typically supports a variety of applications, such as one or more of drawing applications, presentation applications, word processing applications, website creation applications, disc authoring applications, spreadsheet applications, gaming applications, telephony applications, video conferencing applications, email applications, instant messaging applications, training support applications, photo management applications, digital camera applications, digital video camera applications, web browsing applications, digital music player applications, and / or digital video player applications.
[0044] The various applications running on the device optionally use at least one common physical user-interface device, such as a touch-sensitive surface. One or more features of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and / or changed for each application and / or within individual applications. In this way, the common physical architecture of the device (such as the touch-sensitive surface) optionally supports a variety of applications with user interfaces that are intuitive and transparent to the user.
[0045] Attention is now directed to embodiments of portable devices with touch-sensitive displays. FIG. 1A is a block diagram illustrating a portable multifunction device 100 having a touch-sensitive display system 112, according to some embodiments. Touch-sensitive display 112 may be conveniently referred to as a "touch screen" and may also be known or referred to as a "touch-sensitive display system." Device 100 includes memory 102 (optionally including one or more computer-readable storage media), memory controller 122, one or more processing units (CPUs) 120, peripherals interface 118, RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, input / output (I / O) subsystem 106, other input control devices 116, and external port 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact intensity sensors 165 that detect the intensity of a contact on device 100 (e.g., a touch-sensitive surface, such as touch-sensitive display system 112 of device 100). Device 100 optionally includes one or more tactile output generators 167 that generate tactile output on device 100 (e.g., generate tactile output on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touchpad 355 of device 300). These components optionally communicate over one or more communication buses or signal lines 103.
[0046] As used herein and in the claims, the term “intensity” of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or a proxy for the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values including at least four distinct values, and more typically including hundreds (e.g., at least 256) distinct values. The intensity of a contact is optionally determined (or measured) using various techniques and various sensors or combinations of sensors. For example, one or more force sensors under or adjacent to the touch-sensitive surface are optionally used to measure the force at various points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., weighted averaged) to determine an estimated force of the contact. Similarly, a pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size and / or change in the contact area detected on the touch-sensitive surface, the capacitance and / or change in the capacitance of the touch-sensitive surface proximate the contact, and / or the resistance and / or change in the capacitance of the touch-sensitive surface proximate the contact, are optionally used as a surrogate for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the surrogate measure of the force or pressure of the contact is used directly to determine whether an intensity threshold is exceeded (e.g., the intensity threshold is described in units that correspond to the surrogate measure). In some implementations, the surrogate measure of the contact force or pressure is converted to an estimate of the force or pressure, and the estimate of the force or pressure is used to determine whether an intensity threshold is exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of contact as an attribute of user input may enable a user to access additional device functionality (e.g., on a touch-sensitive display) and / or receive user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls such as knobs or buttons) that may not otherwise be accessible on devices of reduced size that have limited footprint for displaying affordances.
[0047] As used herein and in the claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device, that will be detected by a user with the user's sense of touch. For example, in a situation where a device or a component of a device is in contact with a touch-sensitive surface of a user (e.g., the fingers, palm, or other part of a user's hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation that corresponds to a perceived change in a physical property of the device or a component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is optionally interpreted by the user as a "down-click" or "up-click" of a physical actuator button. In some cases, a user feels a tactile sensation such as a "down-click" or "up-click" even when there is no movement of a physical actuator button associated with the touch-sensitive surface that is physically pressed (e.g., displaced) by the user's action. As another example, movement of the touch-sensitive surface is optionally interpreted or sensed by a user as "roughness" of the touch-sensitive surface, even when there is no change in the smoothness of the touch-sensitive surface. Such user interpretation of touch depends on the user's personal sensory perception, but there are many sensory perceptions of touch that are common to a majority of users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., an "up click," a "down click," "roughness"), unless otherwise noted, the generated tactile output corresponds to a physical displacement of the device, or a component of the device, that produces the described sensory perception for a typical (or average) user.
[0048] It is understood that device 100 is only one example of a portable multifunction device, and that device 100 optionally has more or fewer components than those shown, optionally combines two or more components, or optionally has a different configuration or arrangement of its components. The various components shown in FIG. 1A are implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing circuits and / or application specific integrated circuits.
[0049] Memory 102 optionally includes high-speed random access memory, and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. A memory controller 122 optionally controls access to memory 102 by other components of device 100.
[0050] The peripherals interface 118 can be used to couple input and output peripherals of the device to the CPU 120 and memory 102. The one or more processors 120 operate or execute various software programs (e.g., computer programs (e.g., including instructions)) and / or instruction sets stored in the memory 102 to perform various functions and process data for the device 100. In some embodiments, the peripherals interface 118, the CPU 120, and the memory controller 122 are optionally implemented on a single chip, such as the chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0051] The radio frequency (RF) circuitry 108 transmits and receives RF signals, also referred to as electromagnetic signals. The RF circuitry 108 converts electrical signals to electromagnetic signals or electromagnetic signals to electrical signals and communicates with communication networks and other communication devices via electromagnetic signals. The RF circuitry 108 optionally includes well-known circuits for performing these functions, including, but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, etc. The RF circuitry 108 optionally communicates with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet, and / or wireless networks, such as cellular telephone networks, wireless local area networks (LANs) and / or metropolitan area networks (MANs), and with other devices, by wireless communication. RF circuitry 108 optionally includes well-known circuitry for detecting near field communication (NFC) fields, such as by short-range radios. Wireless communication optionally includes, but is not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPA), long term evolution (EV-DO), and other related technologies.Wireless technology includes, but is not limited to, wireless technology such as wireless LAN, wireless technology such as wireless technology with a cellular network (WAN), wireless technology such as wireless technology with a cellular network (WAN-CDMA), wireless technology such as wireless technology with a cellular network (WAN-SWAN ... The present invention may use any of a number of communications standards, protocols, and technologies, including Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS), and / or Short Message Service (SMS), or any other suitable communications protocol, including communications protocols not yet developed as of the filing date of this application.
[0052] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between a user and the device 100. The audio circuit 110 receives audio data from the peripherals interface 118, converts the audio data into an electrical signal, and transmits the electrical signal to the speaker 111. The speaker 111 converts the electrical signal into human audible sound waves. The audio circuit 110 also receives an electrical signal converted from the sound wave by the microphone 113. The audio circuit 110 converts the electrical signal into audio data, and transmits the audio data to the peripherals interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripherals interface 118. In some embodiments, the audio circuit 110 also includes a headset jack (e.g., 212 in FIG. 2). The headset jack provides an interface between audio circuitry 110 and a detachable audio input / output peripheral such as an output-only headphone or a headset with both an output (e.g., one-ear or binaural headphones) and an input (e.g., a microphone).
[0053] The I / O subsystem 106 couples input / output peripherals on the device 100, such as the touch screen 112 and other input control devices 116, to a peripheral interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, a depth camera controller 169, an intensity sensor controller 159, a haptic feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive / send electrical signals from / to the other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, etc. In some embodiments, the input controller(s) 160 are optionally coupled to any (or none) of a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. The one or more buttons (e.g., 208 in FIG. 2) optionally include up / down buttons for volume control of speaker 111 and / or microphone 113. The one or more buttons optionally include push buttons (e.g., 206 in FIG. 2). In some embodiments, the electronic device is a computer system in communication (e.g., via wireless communication over wired communication) with one or more input devices. In some embodiments, the one or more input devices include a touch-sensitive surface (e.g., a trackpad as part of a touch-sensitive display). In some embodiments, the one or more input devices include one or more camera sensors (e.g., one or more optical sensors 164 and / or one or more depth camera sensors 175), such as for tracking a user's gestures (e.g., hand gestures and / or air gestures) as input. In some embodiments, the one or more input devices are integrated with the computer system. In some embodiments, the one or more input devices are separate from the computer system.In some embodiments, an air gesture is a gesture that is detected without the user touching an input element that is part of the device (or independent of an input element that is part of the device) and is based on a detected movement of a part of the user's body that includes as input a movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground, or the distance of the user's hand relative to the ground), a movement of the user's body relative to another part of the user's body (e.g., the movement of the user's hand relative to the user's shoulder, the movement of the user's other hand relative to one of the user's hands, and / or the movement of the user's finger relative to another finger or part of the user's hand), and / or an absolute movement of the user's body part (e.g., a tap gesture that includes a movement of the hand in a predetermined pose by a predetermined amount and / or speed, or a shake gesture that includes a rotation of the user's body part at a predetermined speed or amount). In some embodiments, the one or more input devices are integrated with the computer system. In some embodiments, the one or more input devices are separate from the computer system.
[0054] A quick press of the push button optionally unlocks the touch screen 112 or optionally initiates a process of unlocking the device using gestures on the touch screen, as described in U.S. Patent Application Serial No. 11 / 322,549, filed December 23, 2005, "Unlocking a Device by Performing Gestures on an Unlock Image," U.S. Patent No. 7,657,849, which is incorporated herein by reference in its entirety. A longer press of the push button (e.g., 206) optionally turns power on or off to the device 100. The functionality of one or more of the buttons is optionally customizable by the user. The touch screen 112 is used to implement virtual or soft buttons and one or more soft keyboards.
[0055] Touch-sensitive display 112 provides an input and output interface between the device and a user. Display controller 156 receives and / or transmits electrical signals from touchscreen 112. Touchscreen 112 displays visual output to the user. This visual output optionally includes graphics, text, icons, animation, and any combination thereof (collectively "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.
[0056] Touchscreen 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from a user based on haptic and / or tactile contact. Touchscreen 112 and display controller 156 (along with any associated modules and / or instruction sets in memory 102) detects contacts (and any movement or breaking of contact) on touchscreen 112 and translates the detected contacts into interactions with user interface objects (e.g., one or more soft keys, icons, web pages, or images) displayed on touchscreen 112. In an exemplary embodiment, the point of contact between touchscreen 112 and the user corresponds to the user's finger.
[0057] Touchscreen 112 optionally uses LCD (Liquid Crystal Display), LPD (Light Emitting Polymer Display), or LED (Light Emitting Diode) technology, although other display technologies are used in other embodiments. Touchscreen 112 and display controller 156 optionally detect contact and any movement or interruption thereof using any of a number of now known or later developed touch sensing technologies, including, but not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements that determine one or more points of contact with touchscreen 112. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as that found in the iPhone® and iPod Touch® from Apple Inc. of Cupertino, Calif.
[0058] The touch-sensitive display in some embodiments of touchscreen 112 is optionally similar to a multi-touch-sensing touchpad as described in U.S. Patent Nos. 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman), and / or U.S. Patent Application Publication No. 2002 / 0015024 (A1), each of which is incorporated by reference in its entirety. However, whereas touchscreen 112 displays visual output from device 100, a touch-sensitive touchpad does not provide visual output.
[0059] The touch-sensitive display in some embodiments of the touch screen 112 is described in the following applications: (1) U.S. patent application Ser. No. 11 / 381,313, filed May 2, 2006, entitled "Multipoint Touch Surface Controller," (2) U.S. patent application Ser. No. 10 / 840,862, filed May 6, 2004, entitled "Multipoint Touchscreen," (3) U.S. patent application Ser. No. 10 / 903,964, filed July 30, 2004, entitled "Gestures For Touch Sensitive Input Devices," (4) U.S. patent application Ser. No. 11 / 048,264, filed January 31, 2005, entitled "Gestures For Touch Sensitive Input Devices," and (5) U.S. patent application Ser. No. 11 / 038,590, filed January 18, 2005, entitled "Mode-Based Graphical User Interfaces For Touch Sensitive Input No. 11 / 228,758, filed Sep. 16, 2005, entitled "Virtual Input Device Placement On A Touch Screen User Interface," (7) U.S. patent application Ser. No. 11 / 228,700, filed Sep. 16, 2005, entitled "Operation Of A Computer With A Touch Screen Interface," (8) U.S. patent application Ser. No. 11 / 228,737, filed Sep. 16, 2005, entitled "Activating Virtual Keys Of A Touch-Screen Virtual Keyboard," and (9) U.S. patent application Ser. No. 11 / 367,749, filed Mar. 3, 2006, entitled "Multi-Functional Hand-Held Device," all of which are incorporated herein by reference in their entirety.
[0060] Touchscreen 112 optionally has a video resolution of greater than 100 dpi. In some embodiments, the touchscreen has a video resolution of approximately 160 dpi. A user optionally contacts touchscreen 112 using any suitable object or appendage, such as a stylus, finger, etc. In some embodiments, the user interface is designed to operate primarily using finger-based contacts and gestures, which may not be as precise as stylus-based input due to the larger contact area of a finger on the touchscreen. In some embodiments, the device translates the rough finger input into precise pointer / cursor positions or commands to perform the action desired by the user.
[0061] In some embodiments, in addition to a touchscreen, device 100 optionally includes a touchpad for activating or deactivating certain functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touchscreen, does not display visual output. The touchpad is optionally a touch-sensitive surface separate from touchscreen 112 or an extension of the touch-sensitive surface formed by the touchscreen.
[0062] Device 100 also includes a power system 162 that provides power to the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, power failure detection circuitry, power converters or inverters, power status indicators (e.g., light emitting diodes (LEDs)), and any other components associated with the generation, management, and distribution of power within a portable device.
[0063] Device 100 also optionally includes one or more optical sensors 164. FIG. 1A shows an optical sensor coupled to optical sensor controller 158 in I / O subsystem 106. Optical sensor 164 optionally includes a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. Optical sensor 164 receives light from the environment projected through one or more lenses and converts the light into data representing an image. Optical sensor 164 optionally works in conjunction with imaging module 143 (also called a camera module) to capture still or video images. In some embodiments, the optical sensor is located on the back side of device 100 opposite touchscreen display 112 on the front side of the device, so that the touchscreen display can be used as a viewfinder for still and / or video capture. In some embodiments, the optical sensor is located on the front side of the device such that an image of the user is optionally captured for video conferencing while the user views other video conferencing 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), such that a single optical sensor 164 is used for both video conferencing and still image and / or video capture, along with a touchscreen display.
[0064] Device 100 also optionally includes one or more depth camera sensors 175. FIG. 1A shows a depth camera sensor coupled to depth camera controller 169 in I / O subsystem 106. Depth camera sensor 175 receives data from the environment to create a three-dimensional model of an object (e.g., a face) in a scene from a viewpoint (e.g., the depth camera sensor). In some embodiments, in cooperation with imaging module 143 (also called camera module), depth camera sensor 175 is optionally used to determine a depth map of different parts of an image captured by imaging module 143. In some embodiments, a depth camera sensor is disposed on the front of device 100 to obtain an image of the user with depth information for a video conference and to capture a selfie image with depth map data while the user is viewing other video conference participants on a touch screen display. In some embodiments, depth camera sensor 175 is disposed on the back of the device, or on the back and front of device 100. In some embodiments, the position of the depth camera sensor 175 can be changed by the user (e.g., by rotating the lens and sensor within the device housing) such that the depth camera sensor 175 is used for both video conferencing and still image and / or video capture in conjunction with a touchscreen display.
[0065] Device 100 also optionally includes one or more contact intensity sensors 165. FIG. 1A shows a contact intensity sensor coupled to intensity sensor controller 159 in I / O subsystem 106. Contact intensity sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other intensity sensors (e.g., sensors used to measure the force (or pressure) of a contact on a touch-sensitive surface). 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 intensity sensor is juxtaposed with or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact intensity sensor is located on the back of device 100, opposite touchscreen display 112 located on the front of device 100.
[0066] Device 100 also optionally includes one or more proximity sensors 166. Figure 1A shows proximity sensor 166 coupled to peripherals interface 118. Alternatively, proximity sensor 166 is optionally coupled to an input controller 160 within I / O subsystem 106. The proximity sensor 166 optionally functions as described in U.S. patent application Ser. No. 11 / 241,839, "Proximity Detector In Handheld Device," Ser. No. 11 / 240,788, "Proximity Detector In Handheld Device," Ser. No. 11 / 620,702, "Using Ambient Light Sensor To Augment Proximity Sensor Output," Ser. No. 11 / 586,862, "Automated Response To And Sensing Of User Activity In Portable Devices," and Ser. No. 11 / 638,251, "Methods And Systems For Automatic Configuration Of Peripherals," all of which are incorporated herein by reference in their entireties. In some embodiments, the proximity sensor turns off and disables the touchscreen 112 when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call).
[0067] Device 100 also optionally includes one or more tactile output generators 167. FIG. 1A shows a tactile output generator coupled to haptic feedback controller 161 in I / O subsystem 106. Tactile output generator 167 optionally includes one or more electroacoustic devices, such as speakers or other audio components, and / or electromechanical devices that convert energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other tactile output generating components (e.g., components that convert electrical signals into tactile output on the device). Contact intensity sensor 165 receives tactile feedback generation commands from haptic feedback module 133 and generates a tactile output on device 100 that can be sensed by a user of device 100. In some embodiments, at least one tactile output generator is juxtaposed with or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112) and generates a tactile output, optionally by moving the touch-sensitive surface vertically (e.g., in / out of the surface of device 100) or horizontally (e.g., back and forth in the same plane as the surface of device 100). In some embodiments, the at least one tactile output generator sensor is located on the back of device 100, opposite touchscreen display 112, which is located on the front of device 100.
[0068] Device 100 also optionally includes one or more accelerometers 168. FIG. 1A shows accelerometer 168 coupled to peripherals interface 118. Alternatively, accelerometer 168 is optionally coupled to input controller 160 in I / O subsystem 106. Accelerometer 168 optionally functions as described in U.S. Patent Application Publication No. 20050190059, “Acceleration-based Theft Detection System for Portable Electronic Devices,” and U.S. Patent Application Publication No. 20060017692, “Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer,” both of which are incorporated herein by reference in their entireties. In some embodiments, information is displayed on the touchscreen display in portrait or landscape view based on an analysis of data received from the one or more accelerometers. In addition to accelerometer(s) 168, device 100 optionally includes a magnetometer and a GPS (or GLONASS or other global navigation system) receiver for obtaining information regarding the location and orientation (e.g., vertical or horizontal) of device 100.
[0069] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a touch / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a Global Positioning System (GPS) module (or instruction set) 135, and applications (or instruction sets) 136. Additionally, in some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3) stores device / global internal state 157, as shown in FIGS. 1A and 3. Device / global internal state 157 includes one or more of an active application state indicating which applications, if any, are currently active, a display state indicating which applications, views, or other information are occupying various regions of touchscreen display 112, a sensor state including information obtained from various sensors and input control devices 116 of the device, and location information regarding the location and / or orientation of the device.
[0070] Operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers that control and manage general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitate communication between various hardware and software components.
[0071] The communications module 128 also includes various software components for facilitating communication with other devices via one or more external ports 124 and for processing data received by the RF circuitry 108 and / or the external ports 124. The external ports 124 (e.g., Universal Serial Bus (USB), FIREWIRE, etc.) are adapted to couple to other devices directly or indirectly via a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external ports are multi-pin (e.g., 30-pin) connectors that are the same as or similar to and / or compatible with the 30-pin connector used on iPod® (a trademark of Apple Inc.) devices.
[0072] Contact / motion module 130, optionally in conjunction with display controller 156, detects contact with touch screen 112 and other touch-sensing devices (e.g., a touchpad or physical click wheel). Contact / motion module 130 includes various software components for performing various operations related to detecting contact, such as determining whether contact has occurred (e.g., detecting a finger-down event), determining the strength of the contact (e.g., the force or pressure of the contact, or a surrogate for the force or pressure of the contact), determining whether there is movement of the contact and tracking the movement across the touch-sensitive surface (e.g., detecting one or more finger-dragging events), and determining whether the contact has ceased (e.g., detecting a finger-up event or an interruption of the contact). Contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact, as represented by the set of contact data, optionally includes determining the speed (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact. These actions are, optionally, applied to a single contact (e.g., one finger contact) or multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts). In some embodiments, contact / motion module 130 and display controller 156 detect contacts on a touchpad.
[0073] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an action has been performed by a user (e.g., to determine whether a user has “clicked” on an icon). In some embodiments, at least a subset of the intensity thresholds are determined according to software parameters (e.g., the intensity thresholds are not determined by the activation thresholds of a particular physical actuator, but can be adjusted without modifying the physical hardware of the device 100). For example, the mouse “click” threshold of a trackpad or touchscreen display can be set to any of a wide range of predefined thresholds without modifying the trackpad or touchscreen display hardware. Additionally, in some implementations, a user of the device is provided with a software setting to adjust one or more of the set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by adjusting multiple intensity thresholds at once via a system-level click “intensity” parameter).
[0074] Contact / motion module 130 optionally detects gesture input by a user. Different gestures on a touch-sensitive surface have different contact patterns (e.g., different movements, timing, and / or strength of detected contacts). Thus, gestures are optionally detected by detecting a particular contact pattern. For example, detecting a finger tap gesture includes detecting a finger down event, followed by detecting a finger up (lift off) event at the same position (or substantially the same position) as the finger down 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 one or more finger drag events, followed by detecting a finger up (lift off) event.
[0075] Graphics module 132 includes various known software components that render and display graphics on touchscreen 112 or other display, including components that modify the visual impact (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, characters, web pages, icons (such as user interface objects including soft keys), digital images, video, animations, and the like.
[0076] In some embodiments, graphics module 132 stores data representing the graphics to be used. Each graphic is, optionally, assigned a corresponding code. Graphics module 132 receives one or more codes specifying the graphics to be displayed, including, as appropriate, coordinate data and other graphic property data, from an application or the like, and then generates screen image data for output to display controller 156.
[0077] The tactile feedback module 133 includes various software components for generating instructions used by the tactile output generator(s) 167 to generate tactile outputs at one or more locations on the device 100 in response to a user's interaction with the device 100.
[0078] Text input module 134 is optionally a component of graphics module 132 and provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).
[0079] The GPS module 135 determines the location of the device and provides this information for use within various applications (e.g., to the phone 138 for use in location-based dialing, to the camera 143 as picture / video metadata, and to applications that provide location-based services such as a weather widget, a local yellow pages widget, and a maps / navigation widget).
[0080] Application 136 optionally includes the following modules (or sets of instructions), or a subset or superset thereof: ● a contacts module 137 (sometimes called an address book or contact list); ● Telephone module 138, ● Videoconferencing module 139; ● an email client module 140; ● Instant messaging (IM) module 141, ● Training support module 142, A camera module 143 for still images and / or video; ● Image management module 144, ●Video player module, ●Music player module, ● Browser module 147, ● Calendar module 148, ● A widget module 149, optionally including one or more of a weather widget 149-1, a stock price widget 149-2, a calculator widget 149-3, an alarm clock widget 149-4, a dictionary widget 149-5, and other widgets obtained by the user, as well as user-created widgets 149-6; A widget creator module 150 for creating user-created widgets 149-6; ● Search module 151, A video and music player module 152 that integrates a video player module and a music player module; ● Memo module 153, Map module 154, and / or ●Online video module 155.
[0081] Examples of other applications 136 optionally stored in memory 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 duplication.
[0082] The contacts module 137, along with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, are optionally used to manage an address book or contact list (e.g., stored in the memory 102 or in the application internal state 192 of the contacts module 137 in the memory 370), including adding a name(s) to the address book, deleting a name(s) from the address book, associating a phone number(s), email address(es), address(es), or other information with a name, associating a picture with a name, categorizing and sorting names, providing phone numbers or email addresses to initiate and / or facilitate communication by phone 138, videoconferencing module 139, email 140, or IM 141, etc. used to manage the address book or contact list.
[0083] Telephone module 138, in conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, is optionally used to enter a series of characters corresponding to a telephone number, access one or more telephone numbers in contacts module 137, modify entered telephone numbers, dial individual telephone numbers, place calls, and disconnect and hang up when a call is completed. As previously mentioned, wireless communication optionally uses any of a number of communication standards, protocols, and technologies.
[0084] Video conferencing module 139 includes executable instructions to cooperate with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132, text input module 134, contact module 137, and telephone module 138 to initiate, conduct, and end a video conference between a user and one or more other participants according to the user's commands.
[0085] The email client module 140, in conjunction with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, contains executable instructions for composing, sending, receiving, and managing emails in response to user commands. In conjunction with the image management module 144, the email client module 140 greatly facilitates the creation and sending of emails with still or video images captured by the camera module 143.
[0086] Instant messaging module 141 includes executable instructions in cooperation with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134 for entering a sequence of characters corresponding to an instant message, modifying previously entered characters, sending individual instant messages (e.g., using Short Message Service (SMS) or Multimedia Message Service (MMS) protocols for telephony-based instant messaging, or XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, sent and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments as supported by MMS and / or Enhanced Messaging Service (EMS). As used herein, "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).
[0087] In conjunction with the RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music player module, the training support module 142 includes executable instructions for creating workouts (e.g., having time, distance, and / or calorie burn goals), communicating with training sensors (sports devices), receiving training sensor data, calibrating sensors used to monitor the workouts, selecting and playing music for workouts, and displaying, storing, and transmitting training data.
[0088] Camera module 143, in conjunction with touch screen 112, display controller 156, optical sensor(s) 164, optical sensor controller 158, contact / motion module 130, graphics module 132, and image management module 144, contains executable instructions to capture and store still images or video (including video streams) in memory 102, modify characteristics of the still images or video, or delete still images or video from memory 102.
[0089] Image management module 144, in conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and camera module 143, contains executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slide show or album), and storing still and / or video images.
[0090] Browser module 147, in conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, contains executable instructions for browsing the Internet according to user commands, including retrieving, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0091] The calendar module 148 includes executable instructions to cooperate with the RF circuitry 108, the touch screen 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 to create, display, modify, and store calendars and data associated with the calendars (e.g., calendar items, to-do lists, etc.) according to a user's instructions.
[0092] Widget module 149, in conjunction with RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and browser module 147, optionally provides mini-applications (e.g., weather widget 149-1, stock price widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5) downloaded and used by a user, or mini-applications (e.g., user-created widget 149-6) created by a user. In some embodiments, a widget includes a Hypertext Markup Language (HTML) file, a Cascading Style Sheets (CSS) file, and a JavaScript file. In some embodiments, a widget includes an Extensible Markup Language (XML) file and a JavaScript file (e.g., Yahoo! Widget).
[0093] The widget creator module 150, in conjunction with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, and the browser module 147, is optionally used by a user to create a widget (e.g., turn a user-specified portion of a web page into a widget).
[0094] The search module 151, in cooperation with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, includes executable instructions for searching for text, music, sound, images, video, and / or other files in the memory 102 that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with a user's commands.
[0095] Video and music player module 152 includes executable instructions that cooperate with touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147 to enable a user to download and play pre-recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files, as well as executable instructions for displaying, presenting, or otherwise playing videos (e.g., on touchscreen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (a trademark of Apple Inc.).
[0096] The note module 153 includes executable instructions for cooperating with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134 to create and manage notes, to-do lists, and the like according to user instructions.
[0097] Map module 154, in conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, is used to receive, display, modify, and store maps and data associated with the maps (e.g., driving directions, data regarding businesses and other points of interest at or near a particular location, and other location-based data), optionally in accordance with a user's instructions.
[0098] Online video module 155, in conjunction with touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, email client module 140, and browser module 147, includes instructions that enable a user to access, browse for, receive (e.g., by streaming and / or downloading), and play (e.g., on the touchscreen or on an external display connected via external port 124) particular online videos, send emails with links to particular online videos, and otherwise manage online videos in one or more file formats, such as H.264. In some embodiments, instant messaging module 141 is used to send links to particular online videos, rather than email client module 140. For additional description of online video applications, see U.S. Provisional Patent Application No. 60 / 936,562, entitled "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, entitled "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," filed December 31, 2007, the contents of which are incorporated herein by reference in their entireties.
[0099] The above-identified modules and applications each correspond to a set of executable instructions to perform one or more of the functions previously described and methods described herein (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., sets of instructions) need not be implemented as respective software programs (e.g., computer programs (e.g., including instructions), procedures, or modules), and thus in various embodiments, various subsets of these modules are optionally combined or otherwise reconfigured. For example, a video player module is optionally combined with a music player module into a single module (e.g., video and music player module 152 of FIG. 1A). In some embodiments, memory 102 optionally stores a subset of the above-identified modules and data structures. Additionally, memory 102 optionally stores additional modules and data structures not described above.
[0100] In some embodiments, device 100 is a device in which operation of a predefined set of functions on the device is performed exclusively via a touchscreen and / or touchpad. Using the touchscreen and / or touchpad as the primary input control device for operation of device 100 optionally reduces the number of physical input control devices (push buttons, dials, etc.) on device 100.
[0101] The set of predefined functions performed only through the touchscreen and / or touchpad optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by a user, navigates device 100 to a main menu, a home menu, or a root menu from any user interface displayed on device 100. In such embodiments, a "menu button" is implemented using the touchpad. In some other embodiments, the menu button is a physical push button or other physical input control device rather than a touchpad.
[0102] 1B is a block diagram illustrating example components for event processing, according to some embodiments. In some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3) includes an event sorter 170 (e.g., in operating system 126) and a separate application 136-1 (e.g., any of applications 137-151, 155, 380-390 described above).
[0103] Event sorter 170 receives the event information and determines which application 136-1 to deliver the event information to and application view 191 of application 136-1. Event sorter 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes application internal state 192 that indicates the current application view(s) that are displayed on touch-sensitive display 112 when the application is active or running. In some embodiments, device / global internal state 157 is used by event sorter 170 to determine which application(s) is currently active, and application internal state 192 is used by event sorter 170 to determine which application view 191 the event information is delivered to.
[0104] In some embodiments, application internal state 192 includes additional information such as one or more of resume information to be used when application 136-1 resumes execution, user interface state information indicating or ready to display information being displayed by application 136-1, state cues that allow a user to return to a previous state or view of application 136-1, and redo / undo cues for previous actions taken by the user.
[0105] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about a sub-event (e.g., a user touch as part of a multi-touch gesture on touch-sensitive display 112). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, accelerometer(s) 168, and / or microphone 113 (via audio circuitry 110). Information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.
[0106] In some embodiments, event monitor 171 sends requests to peripherals interface 118 at predetermined intervals. In response, peripherals interface 118 transmits event information. In other embodiments, peripherals interface 118 transmits event information only when there is a significant event (e.g., receipt of an input above a predetermined noise threshold and / or for a predetermined duration).
[0107] In some embodiments, the event sorter 170 also includes a hit view determination module 172 and / or an active event recognizer determination module 173 .
[0108] Hit view determination module 172 provides software procedures that determine where a sub-event occurred within one or more views when touch-sensitive display 112 displays more than one view. A view consists of the controls and other elements that a user can see on the display.
[0109] Another aspect of a user interface associated with an application is the set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views (of a particular application) in which the touch is detected optionally correspond to programmatic levels within the application's programmatic or view hierarchy. For example, the lowest level view in which the touch is detected is optionally referred to as the hit view, and the set of events that are recognized as suitable inputs is optionally determined based at least in part on the hit view of the initial touch that initiates the touch gesture.
[0110] Hit view determination module 172 receives information related to sub-events of a touch-based gesture. When an application has multiple views organized in a hierarchy, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy that should process the sub-events. In most situations, the hit view is the lowest level view in which an initiating sub-event occurs (e.g., the first sub-event in a sequence of sub-events that form an event or potential event). Once a hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source identified as the hit view.
[0111] Active event recognizer determination module 173 determines which view(s) in the view hierarchy should receive a particular set of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive a particular set of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that contain the physical location of the sub-event are actively participating views, and therefore all actively participating views should receive a particular set of sub-events. In other embodiments, even if the touch sub-event is entirely confined to the area associated with one particular view, views higher in the hierarchy still remain actively participating views.
[0112] Event dispatcher module 174 dispatches event information to event recognizers (e.g., event recognizer 180). In embodiments that include active event recognizer determination module 173, event dispatcher module 174 delivers the event information to the event recognizers determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores event information in an event queue, which is picked up by individual event receivers 182.
[0113] In some embodiments, operating system 126 includes event sorter 170. Alternatively, application 136-1 includes event sorter 170. In yet other embodiments, event sorter 170 is a stand-alone module or is part of another module stored in memory 102, such as contact / motion module 130.
[0114] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each including instructions for handling touch events occurring within a separate view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, a separate application view 191 includes multiple event recognizers 180. In other embodiments, one or more of the event recognizers 180 are part of a separate module, such as a user interface kit or a higher-level object from which application 136-1 inherits methods and other properties. In some embodiments, a separate event handler 190 includes one or more of data updater 176, object updater 177, GUI updater 178, and / or event data 179 received from event sorter 170. Event handler 190 optionally utilizes or invokes data updater 176, object updater 177, or GUI updater 178 to update application internal state 192. Alternatively, one or more of the application views 191 include one or more respective event handlers 190. Also, in some embodiments, one or more of the data updater 176, the object updater 177, and the GUI updater 178 are included in individual application views 191.
[0115] A separate event recognizer 180 receives event information (e.g., event data 179) from event sorter 170 and identifies events from the event information. Event recognizer 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event recognizer 180 also includes at least a subset of metadata 183 and event delivery instructions 188 (optionally including sub-event delivery instructions).
[0116] The event receiver 182 receives event information from the event sorter 170. The event information includes information about a sub-event, e.g., a touch or a movement of a touch. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves a movement of a touch, the event information also optionally includes the speed and direction of the sub-event. In some embodiments, the event includes a rotation of the device from one orientation to another (e.g., from portrait to landscape or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device's pose).
[0117] The event comparator 184 compares the event information to predefined event or sub-event definitions and determines the event or sub-event or determines or updates the state of the event or sub-event based on the comparison. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 includes definitions of events (e.g., a predefined set of sub-events), such as event 1 (187-1) and event 2 (187-2). In some embodiments, sub-events within an event (187-1 and / or 187-2) include, for example, touch start, touch end, touch movement, touch cancellation, and multiple touches. In one example, the definition for event 1 (187-1) is a double tap on a displayed object. The double tap includes, for example, a first touch on a displayed object for a given phase (touch start), a first lift off (touch end) for a given phase, a second touch on a displayed object for a given phase (touch start), and a second lift off (touch end) for a given phase. In another example, a definition of event 2 (187-2) is a drag on a displayed object. A drag includes, for example, a touch (or contact) on a displayed object to a predetermined stage, a movement of the touch across the touch-sensitive display 112, and a lift-off of the touch (end of the touch). In some embodiments, the event also includes information regarding one or more associated event handlers 190.
[0118] In some embodiments, event definition 186 includes definitions of the event for individual user interface objects. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with the sub-event. For example, when a touch is detected on touch-sensitive display 112 in an application view in which three user interface objects are displayed on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a separate event handler 190, event comparator 184 uses the results of the hit test to determine which event handler 190 to activate. For example, event comparator 184 selects the event handler associated with the sub-event and object that triggers the hit test.
[0119] In some embodiments, the definition of an individual event 187 also includes a delay action that delays delivery of the event information until it is determined whether a set of sub-events corresponds to the event type of the event recognizer.
[0120] If the individual event recognizer 180 determines that the sequence of sub-events does not match any of the events in the event definition 186, the individual event recognizer 180 enters an event disabled, event failed, or event finished state and thereafter ignores the next sub-event of the touch-based gesture. In this situation, any other event recognizers that remain active for the hit view continue to track and process sub-events of the ongoing touch gesture.
[0121] In some embodiments, individual event recognizers 180 include metadata 183 with configurable properties, flags, and / or lists that indicate to actively participating event recognizers how the event delivery system should perform sub-event delivery. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact with each other or are allowed to interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how sub-events are delivered to various levels in a view or programmatic hierarchy.
[0122] In some embodiments, the individual event recognizer 180 activates an event handler 190 associated with an event when one or more particular sub-events of the event are recognized. In some embodiments, the individual event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is separate from sending (and postponing sending) the sub-events to the individual hit view. In some embodiments, the event recognizer 180 pops a flag associated with the recognized event, and the event handler 190 associated with the flag catches the flag and performs a predefined process.
[0123] In some embodiments, the event delivery instructions 188 include sub-event delivery instructions that deliver event information about a sub-event without activating an event handler. Instead, the sub-event delivery instructions deliver the event information to an event handler associated with a set of sub-events or to an actively participating view. The event handler associated with the set of sub-events or the actively participating view receives the event information and performs a predetermined process.
[0124] In some embodiments, data updater 176 creates and updates data used by application 136-1. For example, data updater 176 updates phone numbers used by contacts module 137 or stores video files used by a video player module. In some embodiments, object updater 177 creates and updates objects used by application 136-1. For example, object updater 177 creates new user interface objects or updates the positions of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on the touch-sensitive display.
[0125] In some embodiments, event handler(s) 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of an individual application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0126] It should be understood that the foregoing description of event processing of a user's touch on a touch-sensitive display also applies to other forms of user input for operating multifunction device 100 using input devices, not all of which are initiated on a touch screen. For example, mouse movements and mouse button presses, contact movements such as tapping, dragging, scrolling on a touchpad, optionally coordinated with single or multiple presses or holds of a keyboard, pen stylus input, device movements, verbal commands, detected eye movements, biometric input, and / or any combination thereof, are optionally utilized as inputs corresponding to sub-events that define the event to be recognized.
[0127] FIG. 2 illustrates portable multifunction device 100 having touch screen 112, according to some embodiments. The touch screen optionally displays one or more graphics in user interface (UI) 200. In this embodiment, as well as other embodiments described below, a user may select one or more of the graphics by performing a gesture on the graphics, for example, using one or more fingers 202 (not drawn to scale) or one or more styluses 203 (not drawn to scale). In some embodiments, selection of one or more graphics is performed when the user breaks contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (left to right, right to left, upwards and / or downwards), and / or rolling (right to left, left to right, upwards and / or downwards) of a finger in contact with device 100. In some implementations or situations, accidental contact with a graphic does not select the graphic, for example, a swipe gesture sweeping over an application icon optionally does not select the corresponding application when the gesture corresponding to selection is a tap.
[0128] Device 100 also optionally includes one or more physical buttons, such as a “home” button or menu button 204. As previously mentioned, menu button 204 is optionally used to navigate to any application 136 within a set of applications executing on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key within a GUI displayed on touch screen 112.
[0129] In some embodiments, device 100 includes touch screen 112, menu button 204, push button 206 for powering the device on / off and locking the device, volume control button(s) 208, subscriber identity module (SIM) card slot 210, headset jack 212, and external port 124 for docking / charging. Push button 206 is optionally used to power the device on / off by pressing and holding the button down for a predefined period of time, to lock the device by pressing and releasing the button before the predefined time has elapsed, and / or to unlock the device or initiate an unlocking process. In an alternative embodiment, device 100 also accepts verbal input via microphone 113 to activate or deactivate some functions. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of a contact on touch screen 112 and / or one or more tactile output generators 167 for generating a tactile output to a user of device 100.
[0130] FIG. 3 is a block diagram of an exemplary multifunction device having 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 device, a navigation device, an educational device (such as a child's learning toy), a gaming system, or a control device (e.g., a home or commercial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses 320 that interconnect these components. Communication bus 320 optionally includes circuitry (sometimes referred to as a chipset) that interconnects and controls communication between system components. Device 300 includes input / output (I / O) interface 330, including display 340, which is typically a touchscreen display. I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 (e.g., similar to tactile output generator(s) 167 described above with reference to FIG. 1A) for generating tactile output on device 300, and sensors 359 (e.g., light, acceleration, proximity, touch sensing, and / or contact intensity sensors similar to contact intensity sensor(s) 165 described above with reference to FIG. 1A). Memory 370 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices, and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 370 optionally includes one or more storage devices located remotely from CPU(s) 310.In some embodiments, memory 370 stores programs, modules, and data structures similar to, or a subset of, programs, modules, and data structures stored in memory 102 of portable multifunction device 100 (FIG. 1A). Additionally, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable multifunction device 100. For example, memory 370 of device 300 optionally stores drawing module 380, presentation module 382, word processing module 384, website creation module 386, disk authoring module 388, and / or spreadsheet module 390, whereas memory 102 of portable multifunction device 100 (FIG. 1A) optionally does not store these modules.
[0131] Each of the above-identified elements of FIG. 3 is optionally stored in one or more of the memory devices mentioned above. Each of the above-identified modules corresponds to an instruction set that performs the functions described above. The above-identified modules or computer programs (e.g., including instruction sets or instructions) need not be implemented as separate software programs (e.g., computer programs (e.g., including instructions)), procedures, or modules, and thus in various embodiments, various subsets of these modules are optionally combined or otherwise reconfigured. In some embodiments, memory 370 optionally stores a subset of the above-identified modules and data structures. Additionally, memory 370 optionally stores additional modules and data structures not described above.
[0132] Attention is now optionally directed to embodiments of user interfaces implemented, for example, on portable multifunction device 100.
[0133] 4A shows an exemplary user interface for a menu of applications on portable multifunction device 100, according to some embodiments. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof: ● signal strength indicator(s) 402 for wireless communication(s), such as cellular and Wi-Fi signals; ●Time 404, ●Bluetooth indicator 405, ● Battery status indicator 406, Tray 408 with icons of frequently used applications, such as: ○ An icon 416 for the phone module 138, labeled “Phone”, optionally including an indicator 414 of the number of missed calls or voicemail messages; ○ An icon 418 of the email client module 140, labeled “Mail”, optionally including an indicator 410 of the number of unread emails; ○ An icon 420 for the Browser module 147, labeled "Browser"; and ○ An icon 422 for the video and music player module 152, also called the iPod (trademark of Apple Inc.) module 152, labeled "iPod"; and ● Icons of other applications, such as: ○ Icon 424 of IM module 141, labeled "Messages"; ○ Icon 426 of the Calendar module 148, labeled "Calendar", ○ Icon 428 of the image management module 144, labeled "Photos"; ○ An icon 430 of the camera module 143, labeled “camera”; ○ Icon 432 of the online video module 155, labeled "Online Video"; Icon 434 of Stock Price Widget 149-2, labeled "Stock Price" ○ Icon 436 of the map module 154, labeled "Map"; ○ Icon 438 of weather widget 149-1, labeled "Weather"; ○ Icon 440 of alarm clock widget 149-4, labeled "Clock"; ○ Icon 442 of Training Support Module 142, labeled "Training Support"; ○ An icon 444 of the Notes module 153, labeled "Notes"; and ○ A settings application or module icon 446 labeled “Settings,” which provides access to settings for the device 100 and its various applications 136 .
[0134] Note that the icon labels shown in FIG. 4A are merely exemplary. For example, icon 422 of video and music player module 152 is labeled "Music" or "Music Player." Other labels are optionally used for the various application icons. In some embodiments, the label for an individual application icon includes the name of the application that corresponds to the individual application icon. In some embodiments, the label of a particular application icon is different from the name of the application that corresponds to that particular application icon.
[0135] 4B shows an example user interface on a device (e.g., device 300 of FIG. 3) that has a touch-sensitive surface 451 (e.g., tablet or touchpad 355 of FIG. 3) that is separate from display 450 (e.g., touchscreen display 112). Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) that detect the intensity of a contact on touch-sensitive surface 451 and / or one or more tactile output generators 357 that generate a tactile output to a user of device 300.
[0136] Although some of the following examples are given with reference to input on touch screen display 112 (wherein the touch-sensitive surface and display are combined), in some embodiments the device detects input on a touch-sensitive surface that is separate from the display, as shown in FIG. 4B. In some embodiments, the touch-sensitive surface (e.g., 451 in FIG. 4B) has 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 contact with touch-sensitive surface 451 (e.g., 460 and 462 in FIG. 4B) at locations that correspond to respective locations on the display (e.g., in FIG. 4B, 460 corresponds to 468 and 462 corresponds to 470). In this manner, user input (e.g., contacts 460 and 462 and their movement) detected by the device on the touch-sensitive surface (e.g., 451 in FIG. 4B) is used by the device to operate a user interface on the display (e.g., 450 in FIG. 4B) of the multifunction device when the touch-sensitive surface is separate from the display. It is to be understood that similar methods are optionally used for the other user interfaces described herein.
[0137] In addition, while the following examples are given primarily with reference to finger input (e.g., finger contact, finger tap gesture, finger swipe gesture), it should be understood that in some embodiments, one or more of the finger inputs are replaced with input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of a contact) followed by movement of a cursor along the path of the swipe (e.g., instead of moving the contact). As another example, a tap gesture is optionally replaced by a mouse click (e.g., instead of detecting a contact and then ceasing to detect the contact) while the cursor is located over the location of the tap gesture. Similarly, it should be understood that when multiple user inputs are detected simultaneously, multiple computer mice are optionally used simultaneously, or mice and finger contacts are optionally used simultaneously.
[0138] FIG. 5A illustrates an exemplary personal electronic device 500. Device 500 includes a body 502. In some embodiments, device 500 can include some or all of the functionality described with respect to devices 100 and 300 (e.g., FIGS. 1A-4B). In some embodiments, device 500 has a touch-sensitive display screen 504, hereafter touch screen 504. Alternatively, or in addition to touch screen 504, device 500 has a display and a touch-sensitive surface. Similar to devices 100 and 300, in some embodiments, touch screen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors that detect the intensity of a contact (e.g., a touch) being applied. The one or more intensity sensors of touch screen 504 (or touch-sensitive surface) can provide output data representative of the intensity of the touch. A user interface of device 500 can respond to touch(s) based on their intensity, meaning that touches of different intensities can invoke different user interface actions on device 500.
[0139] For exemplary techniques for detecting and processing touch intensity, see, for example, related applications International Patent Application No. PCT / US2013 / 040061, filed May 8, 2013, published as WO 2013 / 169849, entitled "Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application," and International Patent Application No. PCT / US2013 / 069483, filed November 11, 2013, published as WO 2014 / 105276, entitled "Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships," each of which is incorporated by reference in its entirety herein.
[0140] In some embodiments, device 500 has one or more input mechanisms 506 and 508. Input mechanisms 506 and 508, if included, can be physical. Examples of physical input mechanisms include push buttons and rotatable mechanisms. In some embodiments, device 500 has one or more attachment mechanisms. Such attachment mechanisms, if included, can allow device 500 to be attached to, for example, hats, eyewear, earrings, necklaces, shirts, jackets, bracelets, watch bands, chains, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow a user to wear device 500.
[0141] FIG. 5B illustrates an exemplary personal electronic device 500. In some embodiments, the device 500 can include some or all of the components described with respect to FIGS. 1A, 1B, and 3. The device 500 has a bus 512 that operably couples an I / O section 514 to one or more computer processors 516 and a memory 518. The I / O section 514 can be connected to a display 504, which can have a touch-sensing component 522 and, optionally, an intensity sensor 524 (e.g., a contact intensity sensor). In addition, the I / O section 514 can be connected to a communication unit 530 that receives application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular, and / or other wireless communication technologies. The device 500 can include input mechanisms 506 and / or 508. The input mechanism 506 is optionally, for example, a rotatable input device or a depressible and rotatable input device. In some embodiments, input mechanism 508 is optionally a button.
[0142] In some embodiments, the input mechanism 508 is optionally a microphone. The personal electronic device 500 optionally includes various sensors, such as a GPS sensor 532, an accelerometer 534, an orientation sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or combinations thereof, all of which may be operatively connected to the I / O section 514.
[0143] The memory 518 of the personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by one or more computer processors 516, may cause the computer processors to perform techniques described below, including, for example, process 700 and process 900 (FIGS. 7 and 9). A computer-readable storage medium may be any medium that can tangibly contain or store computer-executable instructions for use by or in connection with an instruction execution system, apparatus, or device. In some embodiments, the storage medium is a transient computer-readable storage medium. In some embodiments, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media may include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical disks based on CDs, DVDs, or Blu-ray technology, as well as persistent solid-state memory such as flash, solid-state drives, and the like. The personal electronic device 500 is not limited to the components and configuration of FIG. 5B and may include other or additional components in multiple configurations.
[0144] As used herein, the term "affordance" refers to a user-interactive graphical user interface object, optionally displayed on a display screen of device 100, 300, and / or 500 (FIGS. 1A, 3, and 5A-5B). For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) each, optionally, constitute an affordance.
[0145] The term "focus selector" as used herein refers to an input element that indicates the current portion of the user interface with which the user is interacting. In some implementations involving a cursor or other location marker, the cursor acts as the "focus selector," such that when an input (e.g., a press input) is detected on a touch-sensitive surface (e.g., touchpad 355 of FIG. 3 or touch-sensitive surface 451 of FIG. 4B) while the cursor is positioned over a particular user interface element (e.g., a button, window, slider, or other user interface element), the particular user interface element is adjusted according to the detected input. In some implementations involving a touchscreen display (e.g., touch-sensitive display system 112 of FIG. 1A or touchscreen 112 of FIG. 4A) that allows direct interaction with user interface elements on the touchscreen display, a detected contact on the touchscreen acts as the "focus selector," such that when an input (e.g., a press input by contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touchscreen display, the particular user interface element is adjusted according to the detected input. In some implementations, focus is moved from one region of the user interface to another region of the user interface without a corresponding cursor movement or contact movement on the touchscreen display (e.g., by using a tab key or arrow keys to move focus from one button to another), and in these implementations the focus selector moves to follow the movement of focus between various regions of the user interface. Regardless of the specific form that the focus selector takes, the focus selector is generally a user interface element (or contact on a touchscreen display) that is controlled by the user to communicate the user's intended interaction with the user interface (e.g., by indicating to the device which element of the user interface the user intends to interact with).For example, location of a focus selector (e.g., a cursor, touch, or selection box) over an individual button while a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen) indicates that the user intends to activate that individual button (and not other user interface elements shown on the device's display).
[0146] As used herein and in the claims, the term "characteristic intensity" of a contact refers to a characteristic of that contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on a plurality of intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples, i.e., a set of intensity samples collected during a predefined time (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10 seconds) associated with a predefined event (e.g., after detecting a contact, before detecting a lift-off of the contact, before or after detecting the start of movement of the contact, before detecting an end of the contact, before or after detecting an increase in the intensity of the contact, and / or before or after detecting a decrease in the intensity of the contact). The characteristic intensity of a contact is optionally based on one or more of a maximum intensity of the contact, a mean value of the intensity of the contact, an average value of the intensity of the contact, a top 10 percentile value of the intensity of the contact, a half maximum intensity value of the contact, a 90 percent maximum intensity value of the contact, etc. In some embodiments, the duration of the contact is used in determining the characteristic intensity (e.g., when the characteristic intensity is an average of the intensity of the contact over time). In some embodiments, the characteristic intensity is compared to a set of one or more intensity thresholds to determine whether an action is performed by the user. For example, the set of one or more intensity thresholds optionally includes a first intensity threshold and a second intensity threshold. In this example, a contact having a characteristic intensity not exceeding the first threshold results in a first action, a contact having a characteristic intensity above the first intensity threshold but not exceeding the second intensity threshold results in a second action, and a contact having a characteristic intensity above the second threshold results in a third action. In some embodiments, the comparison between the characteristic intensity and the one or more thresholds is not used to determine whether the first action or the second action should be performed, but rather is used to determine whether one or more actions should be performed (e.g., whether to perform an individual action or to forgo performing an individual action).
[0147] Attention is now directed to embodiments of user interfaces (“UI”) and associated processes implemented on an electronic device, such as portable multifunction device 100, device 300, or device 500.
[0148] 6A-6O show example user interfaces for low bandwidth and emergency communications according to some embodiments. The user interfaces in these figures are used to explain processes described below, including the process in FIG.
[0149] FIG. 6A illustrates a computer system 600A (e.g., smartphone 100, 300, or 500) associated with a user named Emily. The computer system 600A includes a display 602A. In FIG. 6A, the computer system 600A displays a user interface 604 of a messaging application. The user interface 604 includes a conversation list 608 of previous messaging conversations 608A-608G and conversation arrangement indicators 606A and 606B. In FIG. 6A, the conversation arrangement indicator 606A is currently selected, as indicated by the bold outline. When the conversation arrangement indicator 606A is selected, the computer system 600A displays a list of conversations and SMS conversations with all contacts, arranged top to bottom in reverse chronological order, with the most recent conversations at the top.
[0150] Computer system 600A displays a status bar 605 at the top of display 602A. Status bar 605 includes a time indication 605A, a cellular status indicator 605B, and a battery indicator 605C. In FIG. 6A, cellular status indicator 605B indicates that a terrestrial wireless network is available to computer system 600A to initiate communication (e.g., a call, a text message, or a live video communication).
[0151] In Figure 6A, computer system 600 detects an input 610A (e.g., a tap) corresponding to a selection of conversation placement indicator 606B. In response to detecting the selection of conversation placement indicator 606B, computer system 600A configures (e.g., reconfigures) a conversation list 608 based in part on the proximity of participants in the conversation and / or whether computer system 600A can communicate with the participants via a network other than a terrestrial cellular network (e.g., a peer-to-peer network), as shown in Figure 6B.
[0152] In FIG. 6B, computer system 600A displays a conversation list 608 divided into two portions: a nearby portion 612A and an out-of-range portion 612B. A conversation arrangement indicator 606B is outlined to indicate that conversation list 608 is arranged based on proximity. When conversation arrangement indicator 606B is selected, nearby portion 612A contains conversations of nearby users arranged in reverse chronological order. In FIG. 6B, a conversation 608B with user "Jane" and a conversation 608C with user "Sue" are displayed in nearby portion 612A, with conversation 608B being displayed at the top because it is newer than conversation 608C. In some embodiments, a conversation is included in nearby portion 612A because a computer system associated with the corresponding user is within a threshold distance of computer system 600A. In some embodiments, a conversation is included in nearby portion 612A because a computer system associated with the corresponding user can communicate with computer system 600A over a network other than a terrestrial cellular network.
[0153] Conversations of participants who are out of range of computer system 600A (e.g., computer systems associated with the corresponding users are beyond the threshold distance of computer system 600A and / or cannot communicate with computer system 600A via networks other than terrestrial cellular networks) are displayed in out-of-range portion 612B. For example, when location indicator 606A is selected, conversation 608A with user "John" is displayed above conversations 608B and 608C as shown in FIG. 6A, and when nearby location indicator 606B is selected, conversation 608A with user "John" is displayed in out-of-range portion 612B below conversations 608B and 608C as shown in FIG. 6B. Conversations 608A and 608D-608G are arranged in reverse chronological order in out-of-range portion 612B.
[0154] In Figure 6B, computer system 600A displays conversations in neighborhood portion 612A with a different appearance than conversations in out-of-range portion 612B. For example, in Figure 6B, conversations 608B and 608C in neighborhood portion 612A are displayed with a first shading, color, and / or effect, as indicated by the diagonal lines. Conversations 608A and 608D-608G in out-of-range portion 612B are displayed with a second shading, color, and / or effect (e.g., grayed out and / or blurred), as indicated by the diagonal hatching in Figure 6B.
[0155] While computer system 600A is displaying user interface 604, the user may select a conversation to view conversation details. In Figure 6B, computer system 600A detects user input 610B (e.g., a tap) corresponding to the selection of conversation 608B with Jane. In response to detecting the selection of conversation 608B, computer system 600A displays message conversation user interface 614A, as shown in Figure 6C.
[0156] In FIG. 6C, message conversation user interface 614A includes message conversation area 614A1, keyboard 614A2, message compose field 614A3, and send option 614A4. Message conversation area 614A1 includes messages between Emily and Jane. Messages sent by Emily (e.g., message 616A) are aligned to the right of message conversation area 614A1. Messages received by Emily (e.g., message 618A) are aligned to the left of message conversation area 614a1. Messages received by Emily are displayed with a different appearance (e.g., color, font, shading, and / or border) than messages sent by Emily, as indicated by the solid horizontal line in message 616A and the dashed horizontal line in message 618A. In some embodiments, keyboard 614a2 and / or send option 614A4 are not initially displayed in message conversation user interface 614A. In some embodiments, computer system 600A initiates display of keyboard 614a2 and / or send option 614A4 in response to detecting an input selecting message compose field 614a3.
[0157] 6D shows a display of a conversation between Emily and Jane on computer system 600B associated with Jane. Computer system 600B displays a message conversation user interface 614B similar to message conversation user interface 614A on Emily's computer system 600A. Message conversation user interface 614B includes a message conversation area 614B1, a keyboard 614B2, a message composition field 614B3, and a send option 614B4. Message conversation area 614B1 includes messages between Emily and Jane. Messages sent by Jane (e.g., message 616B corresponding to message 616A) are aligned to the right of message conversation area 614B1. Messages received by Jane (e.g., message 618B corresponding to message 618A) are aligned to the left of message conversation area 614B1. The message received by Jane is displayed in a different appearance (e.g., color, font, shading, and / or border) than the message sent by Jane, as indicated by the dashed horizontal line in message 616B and the solid horizontal line in message 618B. In some embodiments, keyboard 614B2 and / or send option 614B4 are not initially displayed in message conversation user interface 614B. In some embodiments, computer system 600B begins displaying keyboard 614B2 and / or send option 614B4 in response to detecting an input selecting message compose field 614B3. Message status indicator 619 indicates that message 618B was sent successfully.
[0158] A user can create and send a new message from the message conversation user interface 614A or 614B by selecting a message composition field (e.g., 614A3 or 614B3) and entering content using the keyboard 614A2 or 614B2. In some embodiments, the message composition field 614a4 and / or 614B3 is selected by default when the message conversation user interface 614 is displayed.
[0159] 6C, the terrestrial wireless network is available to computer system 600B to initiate communication (e.g., to send a text message to Emily). Because the terrestrial wireless network is available to computer system 600B to initiate communication, computer system 600B displays signal indicator 605B.
[0160] In FIG. 6D, computer system 600B detects one or more inputs in message conversation user interface 614b to create a message (e.g., an input corresponding to a selection of message creation field 614B3 and a key on keyboard 614b2) and, in response, displays the created (but unsent) message (e.g., "talk soon") in message creation field 614B3. Computer system 600B detects input 610D (e.g., a tap) corresponding to a selection of send option 614B4. In response to detecting input 610D, computer system 600B sends a message having the content in message creation field 614B3 when send option 614B4 is selected. The message is added to the message conversation between Emily and Jane and is shown in FIG. 6E as message received by Emily 620A and in FIG. 6F as message sent by Jane 620B.
[0161] In Figure 6E, because the received message 620A is transmitted over a terrestrial wireless network, computer system 600A displays message 620A with the same appearance as other messages received by Emily (e.g., message 618A). In Figure 6E, there is no terrestrial wireless network available to computer system 600A to initiate communication (e.g., to send a text message to Jane). Because no terrestrial wireless network is available to computer system 600A to initiate communication, computer system 600A displays signal indicator 605D in status bar 605 (e.g., computer system 600A updates or replaces cellular status indicator 605B with no signal indicator 605D).
[0162] In FIG. 6F, because the message 620B sent by Jane was sent over a terrestrial wireless network, computer system 600A displays message 620B with the same appearance as other messages sent by Jane (e.g., message 618B). In FIG. 6F, there is no terrestrial wireless network available to computer system 600B to initiate communication (e.g., to send a text message to Emily). Because there is no terrestrial wireless network available to computer system 600B to initiate communication, computer system 600B displays signal indicator 605D in status bar 605 (e.g., computer system 600B updates or replaces cellular status indicator 605B with no signal indicator 605D) and displays temporary text indicator 621B ("local message") in message composition field 614B3. The temporary text indicator 621B ("local message") indicates that the content entered into message composition field 614B3 will be sent as a local message (e.g., because there is no terrestrial wireless network available to computer system 600B to initiate communication). Temporary text indicator 621B ("local message"), for example, was not displayed in message creation field 614A3 of FIG. 6C because the terrestrial wireless network was available to computer system 600A at that time to initiate communication. Instead, message creation field 614A3 of FIG. 6C includes temporary text indicator 617 ("text message") in message creation field 614B3, which indicates that the terrestrial wireless network was available to computer system 600A to initiate communication. In some embodiments, message creation field 614A3 of FIG. 6C does not include temporary text indicator 617 ("text message") (e.g., message creation field 614A3 of FIG. 6C is blank).
[0163] In FIG. 6E, computer system 600A detects one or more inputs in message conversation user interface 614a to create a message (e.g., an input corresponding to a selection of message creation field 614a3 and a key on keyboard 614a2) and, in response, displays a created (but unsent) message (e.g., "on its way") in message creation field 614a3. Computer system 600a detects input 610E (e.g., a tap) corresponding to a selection of send option 614a4. In response to detecting input 610E, computer system 600a sends a message having the content in message creation field 614a3 when send option 614a4 is selected. This message is added to the message conversation between Emily and Jane, shown in FIG. 6G as message sent by Emily 624A and in FIG. 6H as message received by Jane 624B.
[0164] In FIG. 6G , because message 624A sent by Emily is a local message (e.g., sent via a network other than a terrestrial cellular network and / or sent via a peer-to-peer network or a satellite communications network), computer system 600A displays an indication 622A that message 620B is a local message (e.g., compared to indicator 623 displayed for a message sent via a terrestrial wireless communications network) and displays message 624A with a different appearance (e.g., color, font, shading, and / or border) than message 616A, which was not a local message (e.g., message 616A was sent by Emily via a terrestrial cellular network), and with a different appearance than received message 618A.
[0165] In Figure 6H, computer system 600B displays message 624B having the same appearance as other messages received by Jane (e.g., message 616B). In some embodiments, because the received message 624B is a local message, the computer system displays message 624B with a different appearance (e.g., color, font, shading, and / or border) than message 616B, which was not a local message (e.g., message 616B was received by Jane over a terrestrial cellular network). Computer system 600B displays an indication 622B that message 624B is a local message.
[0166] Referring to FIG. 6I, computer system 600A displays call user interface 626A when computer system 600A is attempting to initiate a call. Call recipient indicator 632 indicates that the recipient of the call is Jane Appleseed. In some embodiments, computer system 600A displays call user interface 626A in response to detecting an input corresponding to a request to initiate a call with Jane (e.g., by entering Jane's number into a keypad and selecting a call button or by selecting Jane from a list of contact users). Call status indicator 634 indicates that the status of the call is "outgoing." In FIG. 6I, the "outgoing" status indicates that computer system 600A is attempting (e.g., first attempting) to initiate a call over a terrestrial wireless network even when signal indicator 605D in status bar 605 indicates that there is no terrestrial wireless network available for computer system 600A to initiate communication.
[0167] Call user interface 626A includes call options 628A-628F, which correspond to mute option 628A, keypad option 628B, speaker option 628C, add call option 628D, video call option 628E, and contacts option 628F, respectively, and end call option 630. Because computer system 600A is attempting to initiate a call, but the call is not connected, add call option 628D and video call option 628E are displayed in a different appearance than call options 628A-628C and 628F (e.g., add call option 628D and video call option 628E are grayed out) to indicate that add call option 628D and video call option 628E are disabled (e.g., cannot be selected). End call option 630 may be selected to cause computing system 600A to stop attempting to initiate the call (e.g., in response to detecting an input (e.g., a tap) selecting end call option 630, computing system 600A stops attempting to initiate the call to Jane) and, optionally, ceases displaying call user interface 626A (e.g., displays a home screen or a previously displayed user interface).
[0168] If the computer system 600A determines that the call is not connected or cannot be connected (e.g., the computer system 600A does not successfully initiate or connect the call after a threshold amount of time, or the signal type and / or signal strength does not meet the connection criteria), the computer system 600A displays a call user interface 626B shown in FIG. 6J including options for alternative communication protocols. In FIG. 6J, the computer system 600A displays a call status indicator 636 (e.g., replaces and / or updates the call status indicator 634 with the call status indicator 636) and displays alternative communication options including a voice message option 640A and a text message option 640B (e.g., replaces the call options 628A-628F with the voice message option 640A and the text message option 640B). The call status indicator 636 indicates that the computer system 600A has a low connection (e.g., a connection that supports only low bandwidth communication). The voice message option 640A and the text message option 640B provide a method of communication that requires less connection (e.g., less bandwidth and / or signal strength) than a call. The call user interface 626B includes an end call option 630 (e.g., the computer system 600A maintains the display of the end call option 630 from the call user interface 626A). In some embodiments, in response to detecting an input (e.g., a tap) in the call user interface 626B that selects the end call option 630, the computer system 600A ceases displaying the call user interface 626B and, if the computer system 600A is still attempting to initiate communication with Jane, stops attempting to initiate communication with Jane.
[0169] While displaying the call user interface 626B, the computer system 600A detects an input 610F (e.g., a tap) corresponding to a selection of the text message option 640B. In response to detecting the input 610F, the computer system 600A displays a new message user interface 642 of a messaging application for sending a new message, as shown in FIG. 6K. In some embodiments, the computer system 600A displays the new message user interface 642 in response to detecting an input 610C (e.g., a tap) on the new message option 614 in the user interface 604 shown in FIG. 6B.
[0170] In Figure 6K, new message user interface 642 includes recipient field 642A, suggested recipient options 642B1-642B6, message conversation area 642C, keyboard 642D, message composition field 642E, and send option 642F. In the embodiment shown in Figure 6K, because computer system 600A was attempting to initiate communication with Jane Appleseed, computer system 600A automatically populates (e.g., pre-populates) recipient field 642A with Jane Appleseed as the recipient.
[0171] Suggested recipients options 642B1-642B6 provide various sets of users that may be selected as recipients of a new message. Option 641B1 corresponds to a set of contactable users determined to be nearby (e.g., within a threshold distance of computer system 600A, but not necessarily in Emily's contact list). Option 641B2 corresponds to a set of known contactable users determined to be nearby (e.g., in Emily's contact list and within a threshold distance of computer system 600A). Option 641B3 corresponds to a set of favorite contactable users determined to be nearby (e.g., they have been designated as favorites by Emily and are within a threshold distance of computer system 600A). Option 641B4 corresponds to a set of recently and / or frequently contactable users (e.g., Emily has been in contact with them recently or frequently). Option 641B5 corresponds to a set of all contactable users determined to be nearby (e.g., within a threshold distance of computer system 600A, regardless of contact status). Option 641B6 corresponds to a set of users designated as a family.
[0172] In FIG. 6K, message composition field 642E is populated with the text "I'm at the central station" (eg, in response to detecting input on each character in keyboard 642D).
[0173] In FIG. 6K, computer system 600A detects input 610H on send option 642F. In response to detecting input 610H, computer system 600A attempts to send a message to Jane Appleseed that includes the content in message composition field 642E when send option 642F was selected. As shown in FIG. 6L, the message is added to the message conversation between Emily and Jane as message 646 in message conversation area 644A of message conversation user interface 644. Computer system 600A displays message status indicator 648 below message 646, which indicates that message 646 is pending (e.g., not sent and / or received) because computer system 600A is searching the network (e.g., to send message 646). Computer system 600A displays send indicator 654 (e.g., between conversation header 644E and message conversation area 644A). The sending indicator 654 indicates the progress of sending the message 646 and / or other messages pending sending (e.g., the percentage of the process of sending one or more messages that has been performed). Because the computer system 600A is attempting to send the message 646 as a local message, the computer system 600A displays the message 646 with a different appearance than the message received by Emily (e.g., message 618A) and / or the message sent over a terrestrial wireless (e.g., cellular or Internet) network (e.g., message 616A in FIG. 6G). The computer system 600A can display (e.g., upon user request) an indication of how many messages are pending and / or a list (e.g., a queue) of pending messages. In FIG. 6L, the computer system 600A detects an input 610I that selects the sending indicator 654. In some embodiments, the input 610I is a tap at least in part on the conversation header 644E and / or a drag that begins at least in part on the conversation header 644E.In response to detecting input 610I, computer system 600A displays a list of pending messages (communications (eg, messages) that have been requested to be sent but have not been sent).
[0174] 6M, message 646 has been sent as a local message (as indicated by the diagonal line in message 646) and message status indicator 648 has been updated accordingly (e.g., to "sent"). In some embodiments, since message 646 is sent as a local message, message status indicator 648 is replaced with indication 622A. In some embodiments, if transmission of message 646 is accomplished over a terrestrial wireless network, computer system 600A displays message 646 with a different appearance (e.g., consistent with the appearance of other messages sent over a terrestrial wireless network, such as message 616A).
[0175] FIG. 6N illustrates computer system 600A displaying a user interface 650 of a messaging application. User interface 650 displays a list of representations 650A-650F of previous conversations arranged based on whether computer system 600A can communicate with the corresponding participants via local messaging. Conversations 650A-650C are displayed at the top of the list and have a first appearance (e.g., color) because they are accessible via local messaging (e.g., a communications network other than a terrestrial wireless network). Conversations 650D-650F are displayed below conversation 650C and have a second appearance (e.g., a different color than conversations 650A-650C) because they are not accessible via local messaging. User interface 650 displays a nearby recipients indicator 652 that indicates the number of potential recipients currently accessible to computer system 600A via local messaging.
[0176] Returning to FIG. 6J, while displaying the call user interface 626B, the computer system detects an input 610G (e.g., a tap) selecting a voice message option 640A (e.g., instead of detecting an input 610F selecting a text message option 640B). In response to detecting the input 610G, the computer system 600A displays a voice message user interface 626C as shown in FIG. 6O. In the voice message user interface 626C, the computer system 600A displays (e.g., maintains the display of) the call status indicator 636 and displays a voice message indicator 660A and a voice record option 660B (e.g., replaces the voice message option 640A and the text message option 640B with the voice message indicator 660A and the voice record option 660B). The voice message indicator 660A displays a representation of the recorded voice message (e.g., a representation of the amplitude of the voice message over time). In some embodiments, the voice message indicator 660A is displayed after a voice message is recorded or is displayed (and, optionally, updated) while a voice message is being recorded. In response to detecting an input (e.g., a tap) selecting the voice record option 660B, the computer system 600A starts or stops recording a voice message (e.g., based on whether a voice message is not being actively recorded or is being actively recorded, respectively). In some embodiments, the computer system 600A starts recording a voice message in response to detecting a selection of the voice message option 640A. In some embodiments, in response to detecting a selection of the voice record option 660B, the computer system 600A attempts to transmit the voice recording represented by the voice message indicator 660A, and optionally adds a representation of the voice message to the message conversation between Emily and Jane.
[0177] Voice message user interface 626C includes end call option 630 (e.g., computer system 600A maintains the display of end call option 630 from call user interface 626A). In some embodiments, in response to detecting an input (e.g., a tap) in call user interface 626B selecting end call option 630, computer system 600A ceases displaying call user interface 626C and, if computer system 600A is still attempting to initiate communication with Jane, stops attempting to initiate communication with Jane.
[0178] 7 is a flow diagram illustrating a method for low bandwidth and emergency communications using a computer system, according to some embodiments. Method 700 is implemented in a computer system (e.g., 100, 300, 500, 600A, 600B, 800A, 800B, smartphone, tablet, and / or smartwatch) in communication with a display generation component (e.g., 602A, 602B, 802A, 802B, display controller, and / or touch-sensitive display system). Some operations of method 700 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0179] As described below, the method 700 provides an intuitive way to conduct low bandwidth and / or emergency communications. The method reduces the cognitive burden on a user to conduct low bandwidth and / or emergency communications, thereby creating a more efficient human-machine interface. For battery-operated computing devices, allowing a user to conduct low bandwidth and / or emergency communications faster and more efficiently conserves power and increases the time between battery charges.
[0180] The computer system displays (702) a user interface (e.g., 604, 614A, 614B, 644, 806B, 812, or 822) (e.g., a user interface of a communication application (e.g., a messaging application)) via a display generation component to initiate (e.g., send and / or receive) communication (e.g., 616A, 616B, 618A, 618B, 620A, 620B, 624A, 624B, 646, 824A, 824B, 828A, and / or 828B). The user interface includes one or more options (e.g., icons, buttons, affordances, interactive graphical elements, keyboards, send options, and / or call options) for sending a text message, initiating a call, and / or initiating a video conference. In some embodiments, the user interface is a user interface of a messaging application that includes a message conversation among two or more participants having one or more messages between the two or more participants within a message area.
[0181] Displaying the user interface may indicate that a terrestrial wireless network (e.g., a cellular network and / or an Internet network (e.g., WI-FI)) is available to the computer system for initiating communications (e.g., the computer system can connect to the terrestrial wireless network and / or the computer system is receiving a signal (e.g., from the terrestrial wireless network) having sufficient strength and / or consistency to initiate (e.g., transmit and / or receive) communications) (e.g., the computer system displaying (704) at least a portion of a user interface (e.g., 605B, 614A3, 614B3, 614A4, 614A4, 642E, 642F, 644C, 644D, 616A, 616B, 618A, 618B, 812C, 812D, 806M, 806N, 822C, and / or 822D) in a first appearance (e.g., displaying one or more elements of the user interface (e.g., a message, a selectable send option, and / or a text input field) in a first color, text, or graphical element) according to a determination by the ), a terrestrial wireless network is not available to the computer system to initiate communications (and, optionally, an alternative communication network that is not a terrestrial wireless network is available to the computer system to initiate communications) (e.g., the computer system is unable to connect to any terrestrial wireless network, the computer system is not receiving a signal (e.g., from a terrestrial wireless network) having sufficient strength and / or consistency to initiate (e.g., transmit and / or receive) communications, and / or the wireless network (e.g. , terrestrial wireless network) or communication via the Internet network is unavailable), displaying (706) a portion of the user interface (e.g., 605D, 614A3, 614B3, 614A4, 614A4, 642E, 642F, 644C, 644D, 620A, 620B, 624A, 624B, 646, 622A, 622B, 648, 812C, 812D, 806M, 806N, 822C, and / or 822D) in a second appearance (e.g., a second color, text,or graphical element), the second appearance differing from the first appearance includes an indication (e.g., text, graphics, and / or color) that communication may be initiated via an alternative communication network other than a terrestrial wireless network (e.g., a peer-to-peer (e.g., ad-hoc) network or a satellite communication network in which devices exchange information directly or indirectly over a communication medium (e.g., wireless, wired) without a central node (e.g., transmitting information to an intermediate device(s) that communicate with the intended recipient);
[0182] In some embodiments, the terrestrial wireless network is determined to be reachable by the presence of a wireless (e.g., cellular) signal. In some embodiments, the user interface includes a send option (e.g., 614A4, 614B4, 642F, 644D, 812D, 806N, and / or 822D) that is green or blue to indicate that communication is initiated over the terrestrial wireless network, and / or uncommunicable text (e.g., 617, “Text Message”) present in a create field (e.g., 642E, 614A3, 614B3, 644C, 812C, 806M, and / or 822C) of the user interface to indicate that communication is transmitted over the terrestrial wireless network, and / or text at the top of the conversation history indicating the message as an instant message. In some embodiments, the computer system displays at least a portion of the user interface having a first appearance in accordance with a determination that one or more particular types of communication networks are available to the computer system for initiating communication (e.g., a determination that a wireless network (e.g., a terrestrial wireless network) and / or an Internet network are available to the computer system for initiating communication).
[0183] In some embodiments, the user interface includes a send option (614A4, 614B4, 642F, 644D, 812D, 806N, and / or 822D) that is orange to indicate that the communication will be initiated over a communications network other than a terrestrial wireless network, and / or uncommunicable text (e.g., “Local Message”, 622A, 622B, and / or B) present in a create field (e.g., 642E, and / or 614A3, 614B3, 644C, 812C, 806M, and / or 822C) of the user interface to indicate that the communication will be transmitted over an alternative communications network, and / or text at the top of the conversation history (e.g., 622A, 622B, and / or 823) indicating the message as a “Local Message”. In some embodiments, the computer system displays a portion of the user interface in a second appearance pursuant to a determination that one or more particular types of communications networks are not available to the computer system for initiating communications (e.g., a determination that there are no terrestrial wireless networks, or that neither a terrestrial cellular network nor an Internet network is available to the computer system for initiating communications).
[0184] Displaying at least a portion of the user interface having a first appearance in accordance with a determination that the terrestrial wireless network is available to the computer system for initiating communication and having a second appearance different from the first appearance in accordance with a determination that the terrestrial wireless network is not available to the computer system for initiating communication provides visual feedback to a user regarding whether the terrestrial wireless network is available to the computer system for initiating communication, which provides improved visual feedback.
[0185] In some embodiments, the alternative communication network other than a terrestrial wireless network includes (e.g., is) a peer-to-peer communication network. In some embodiments, the peer-to-peer communication network allows devices to transmit information to each other locally or to transmit messages peer-to-peer to reach the devices using radio signals for transmission to a recipient. In some embodiments, the alternative communication network includes (e.g., is) a satellite communication network.
[0186] In some embodiments, the first appearance includes (e.g., is one or more messages) one or more messages (e.g., 616A, 616B, 618A, and / or 618B) having a first color (e.g., green or blue) and the second appearance includes (e.g., is one or more messages) one or more messages (e.g., 620A, 620B, 624A, 624B, 646, 824A, and / or 824B) having a second color (e.g., orange or yellow) that is different from the first color (e.g., the first appearance does not include the second color and / or the second appearance does not include the first color).
[0187] In some embodiments, the computer system displays representations of messages sent over the terrestrial wireless network (e.g., in a message conversation displayed within a messaging application) in a different color than representations of messages sent over the alternative communications network. In some embodiments, the computer system displays representations of messages received over the terrestrial wireless network (e.g., in a message conversation displayed within a messaging application) in a different color than representations of messages received over the alternative communications network. In some embodiments, one or more messages having a first color are displayed simultaneously (e.g., simultaneously within the same user interface) with one or more messages having a second color.
[0188] Including one or more messages having a first color in a first appearance and one or more messages having a second, different color in a second appearance gives a user visual feedback as to whether or not the terrestrial wireless network was used to transmit the communication, which provides improved visual feedback.
[0189] In some embodiments, pursuant to a determination that a terrestrial wireless network is not available to the computer system to initiate communication, the computer system displays, in a user interface, a representation of a map (e.g., of the location of the computer system) and / or a satellite view (e.g., 816A, 816B, 826A, and / or 826B). In some embodiments, the representation of the map and / or satellite view is displayed along with (e.g., simultaneously with) a representation of a message prepared to be transmitted or transmitted by the computer system. Displaying a representation of the map and / or satellite view in a user interface pursuant to a determination that a terrestrial wireless network is not available to the computer system to initiate communication provides the user with additional visual information about the computer system without requiring additional user input, which provides improved visual feedback, reduces the number of inputs required to perform an action, and performs an action when a set of conditions is met without requiring further user input.
[0190] In some embodiments, the indication that communication may be initiated over an alternative communications network other than the terrestrial wireless network includes an indication (e.g., 605D or 652) (e.g., text, graphics, and / or color) at a fixed (e.g., constant) location (e.g., 605) within the user interface (e.g., at the top of the user interface, at the top of a message conversation, and / or in an area of the user interface (e.g., a status bar) that includes one or more indications of system status (e.g., signal strength, battery level, and / or connection status). In some embodiments, the computer system replaces (e.g., substitutes) the indication (e.g., in the status bar) of wireless connection status (e.g., 605B) with an indication (e.g., 605D) that communication may be initiated over an alternative communications network other than the terrestrial wireless network (e.g., ceases displaying an indication of wireless connection at the first location and displays an indication that communication may be initiated over an alternative communications network other than the terrestrial wireless network at the first location). Providing an indication that communication can be initiated via an alternative communication network at a fixed location within a user interface for initiating communication provides visual feedback to the user about the communication status of the computer system at a consistent location, which provides improved visual feedback.
[0191] In some embodiments, the user interface (e.g., 604 or 642) may display one or more representations (e.g., one or more selectable graphical user interface elements that, when selected, add the corresponding recipient to a list of recipients that will receive the communication) of proposed recipients for the communication (e.g., 608A-608G, 642A, 642B1-642B6, or 830A-830G) and, pursuant to a determination that a terrestrial wireless network is available to the computer system for initiating the communication, the computer system may display one or more representations (e.g., 6 and, pursuant to a determination that a terrestrial wireless network is not available to the computer system for initiating the communication, the computer system displays one or more representations of proposed recipients for the communication (e.g., 608A-608G or 830A-830G) in a second manner (e.g., a second order and / or a second (e.g., different) set of representations of proposed recipients for the communication) that is different from the first manner (e.g., a second order and / or a second (e.g., different) set of representations of proposed recipients for the communication). Displaying representations of proposed recipients for the communication in different manners based on whether a terrestrial wireless network is available to the computer system for initiating the communication provides the user with more relevant proposed recipients and visual feedback as to which recipients are available based on network availability, which provides improved visual feedback and performs an action when a set of conditions are met without requiring further user input.
[0192] In some embodiments, one or more representations of proposed recipients for the communication (e.g., 608B and 608C, 642B1 of FIG. 6B, or 830A and 830B of FIG. 8K) are based on (e.g., selected by the computer system based on) the proximity of remote computer systems (e.g., devices) associated with the proposed recipients for the communication to the computer system (e.g., representations of recipients associated with remote computer systems within a predefined distance of the computer system). In some embodiments, the computer system displays one or more representations of proposed recipients for the communication in a manner (e.g., a first manner and / or a second manner) based on the proximity of the remote computer systems associated with the proposed recipients to the computer system. In some embodiments, the computer system displays representations of entities (e.g., users, groups of users, businesses, and / or services) associated with remote computer systems within a threshold distance of the computer system at the top of a list of one or more representations of proposed recipients for the communication. In some embodiments, the computer system displays only representations of entities associated with remote computer systems within a threshold distance of the computer system. Basing one or more representations of suggested recipients for communications on the proximity of remote computer systems associated with the proposed recipients for communications to the computer system provides the user with more relevant suggested recipients and visual feedback as to which recipients are closer to the user, which provides improved visual feedback and performs actions when a set of conditions are met without requiring further user input.
[0193] In some embodiments, the one or more representations of a proposed recipient for the communication (e.g., 642B2) are based on the proximity to the computer system of a remote computer system (e.g., a device) associated with the proposed recipient for the communication (e.g., a representation of a recipient associated with a remote computer system that is within a predefined distance of the computer system) and a determination that the proposed recipient is associated (e.g., previously associated) with the computer system (e.g., a contactable user in a list of known contactable users and / or contactable users associated with the computer system (e.g., a contact list of a user account associated with and / or logged into the computer system). In some embodiments, In one embodiment, the computer system displays representations of entities associated with remote computer systems that are associated with the computer system and within a threshold distance of the computer system at the top of a list of one or more representations of proposed recipients for communications. Basing the one or more representations of proposed recipients for communications on the proximity of the remote computer systems associated with the proposed recipients for communications to the computer system and a determination that the proposed recipients are associated with the computer system provides the user with more relevant proposed recipients and visual feedback as to which known contacts are closer to the user, which provides improved visual feedback and performs an action when a set of conditions is met without requiring further user input.
[0194] In some embodiments, the one or more representations of the proposed recipients for the communication (e.g., 642B3) are based on (e.g., selected by the computer system based on) the proximity of a remote computer system (e.g., device) associated with the proposed recipient for the communication to the computer system (e.g., representations of recipients associated with remote computer systems within a predefined distance of the computer system) and a determination that the proposed recipient has been designated (e.g., by a user) as associated (e.g., previously associated) with the computer system (e.g., a favorite contact). In some embodiments, the computer system displays representations of entities associated with remote computer systems designated as favorite contacts and within a threshold distance of the computer system at the top of a list of one or more representations of the proposed recipients for the communication. Basing the one or more representations of the proposed recipients for the communication on the proximity of a remote computer system associated with the proposed recipient for the communication to the computer system and the determination that the proposed recipient has been designated as associated with the computer system provides the user with more relevant proposed recipients and visual feedback as to which designated contacts are closer to the user, which provides improved visual feedback and performs an action when a set of conditions is met without requiring further user input.
[0195] In some embodiments, the one or more representations of a suggested recipient for communication (e.g., 642B4) are based on (e.g., selected by the computer system based on) a determination that the proposed recipient is associated with (e.g., previously associated with) the computer system (e.g., a known contactable user and / or a contactable user in a list of contactable users associated with the computer system (e.g., a contact list of a user associated with and / or logged in to the computer system)) and how recently and / or frequently (e.g., based on a predetermined threshold amount of time, threshold number of times, and / or relative to other contactable users) the proposed recipient has contacted (e.g., contacted or been contacted) a user (e.g., having a user account) associated with the computer system (e.g., by the computer system and / or a user account associated with the computer system). In some embodiments, the computer system displays representations of recently and / or frequently contacted users at the top of the list of one or more representations of suggested recipients for communication. Basing one or more representations of suggested recipients for communications on a determination that the suggested recipient is associated with a computer system and a determination of how recently and / or frequently the suggested recipient has been contacted provides the user with more relevant suggested recipients and visual feedback regarding which contacts have been recently and / or frequently contacted, which provides improved visual feedback and performs an action when a set of conditions is met without requiring further user input.
[0196] In some embodiments, displaying a user interface (e.g., 650) for initiating communication includes displaying an indication (e.g., 652) (e.g., text, graphics, and / or colors) of a number of computer systems (or, optionally, a number of entities) accessible via an alternative communications network other than the terrestrial wireless network in the user interface for initiating communication pursuant to a determination that no terrestrial wireless network is available for the computer system to initiate communication. In some embodiments, displaying an indication of the number of computer systems accessible via the alternative communications network other than the terrestrial wireless network includes replacing (e.g., replacing) an indication of wireless connection status (e.g., in a status bar) with an indication of the number of computer systems accessible via the alternative communications network other than the terrestrial wireless network (e.g., ceasing to display an indication of wireless connection at the first location and displaying an indication of the number of computer systems accessible at the first location via the alternative communications network other than the terrestrial wireless network). In a user interface for initiating communications, displaying an indication of the number of computer systems accessible via alternative communication networks other than the terrestrial wireless network pursuant to a determination that there is no terrestrial wireless network available for the computer system to initiate communications provides visual feedback as to the number of users to which the communication can be sent, which provides improved visual feedback and performs an action when a set of conditions is met without requiring further user input.
[0197] In some embodiments, displaying a user interface for initiating communication (e.g., 604) includes displaying a first set of representations of contactable entities (e.g., 608 of FIG. 6A, or 608A and 608D-608G of FIG. 6B) (e.g., all entities in the user's contact list, regardless of whether the contactable entities can be contacted via an alternative communication network) in a first portion of the user interface for initiating communication (e.g., 604, or 612B of FIG. 6A) (e.g., an area, tab, section, portion of a list, and / or section of a list). and displaying a second set of representations (e.g., 608B and 608C of FIG. 6B ) (e.g., a subset of the plurality of representations of the contactable entities) that can be contacted (e.g., associated with an accessible remote computer system) via the alternative communications network in a second portion (e.g., 612A) (e.g., an area, tab, section, part of a list, and / or section of a list) different from the first portion of the user interface for initiating communication, where the first set of representations of the contactable entities is different from the second set of representations of the contactable entities. In some embodiments, the second portion of the user interface does not include any representations of entities that cannot be contacted via the alternative communications network (e.g., the second portion of the user interface includes only representations of entities that can be contacted via the alternative communications network). Displaying a first set of representations of entities that can be contacted via an alternative communications network in a first portion of a user interface to initiate communication and displaying a second, different set of representations of entities that can be contacted via an alternative communications network in a second, different portion of the user interface to initiate communication provides visual feedback to the user as to which entities can be contacted via the alternative communications network, which provides improved visual feedback.
[0198] In some embodiments, the computer system is in communication with one or more input devices, and the computer system detects one or more inputs (e.g., 610A) (e.g., touch inputs and / or voice command inputs) via the one or more input devices corresponding to a request to display one or more representations of the contactable entities (e.g., a request to search for and display a desired contactable entity, such as selecting a search affordance and / or entering one or more characters into a search field). In response to detecting the one or more inputs corresponding to the request to display one or more representations of the contactable entities, the computer system displays one or more representations of the contactable entities in a user interface (e.g., 604 or 650), and pursuant to a determination that a computer system associated with an individual contactable entity satisfies the proximity condition, the computer system displays the representation of the individual entity in a first manner (e.g., 608B and 608C, or 650A-650C of FIG. 6B) (e.g., bolding, not graying out, or otherwise highlighting (e.g., for representations of entities that do not satisfy the proximity condition)). In accordance with a determination that the computer systems associated with the individual contactable entities do not satisfy the proximity condition, the computer system displays the representations of the individual contactable entities in a second manner (e.g., grayed out or otherwise de-highlighted (e.g., for representations of entities that satisfy the proximity condition)) that is different from the first manner (e.g., 608A and 608D-608G, or 650D-650F of FIG. 6B). In some embodiments, in accordance with a determination that the computer systems associated with the individual contactable entities satisfy the proximity condition, the representations of the individual entities are selectable (e.g., the computer system enables selection of the representations of the individual entities). In accordance with a determination that the computer systems associated with the individual contactable entities do not satisfy the proximity condition, the representations of the individual contactable entities are not selectable (e.g., the computer system disables selection of the representations of the individual contactable entities).Displaying representations of each contactable entity in different manners based on whether the computer system associated with each contactable entity satisfies a proximity condition provides a user with visual feedback regarding the proximity of each contactable entity and performs an action when a set of conditions is met without requiring further user input.
[0199] In some embodiments, the user interface (e.g., 604 or 650) includes one or more representations (e.g., one or more selectable graphical user interface elements that, when selected, add the corresponding recipient to a list of recipients that receive the communication) of potential recipients of the communication (e.g., 608A-608G or 650A-650F), including a first representation of the first potential recipient. In some embodiments, pursuant to a determination that a computer system associated with the first potential recipient is accessible via an alternative communications network, the computer system displays the first representation of the first potential recipient in a first color (e.g., 608B or 650A of FIG. 6B) (e.g., orange or yellow) (and, optionally, without the second color). Pursuant to a determination that a computer system associated with the first potential recipient is not accessible via an alternative communications network, the computer system displays the first representation of the first potential recipient in a second color different from the first color (e.g., 608A or 650D of FIG. 6B) (and, optionally, without the first color). Displaying the first representation of the first potential recipient in a first color or a second, different color based on whether the first potential recipient is accessible via the alternative communications network provides a visual indication to a user of the accessibility of the first potential recipient via the alternative communications network, which provides improved visual feedback and performs an action when a set of conditions is met without requiring further user input.
[0200] In some embodiments, the computer system displays in a user interface (e.g., 604 or 650 of FIG. 6B ) one or more representations (e.g., 608A-608G or 650A-650F) (e.g., a list of representations) of prior conversations (e.g., one or more communications (e.g., messages) between a user associated with the computer system and one or more other entities), where the order (e.g., top to bottom and / or left to right) of the one or more representations of the prior conversations is based on the accessibility of the computer system associated with participants of the prior conversations via an alternative communication network (e.g., 604 or 650 of FIG. 6B ) (e.g., a representation of a conversation that includes entities associated with a computer system that are within a threshold distance of the computer system and / or accessible via an alternative communication network is displayed at the top of the list of prior conversations). In some embodiments, the one or more representations of the previous conversation include a first representation of a first conversation and a second representation of a second conversation, and displaying the one or more representations of the previous conversation includes: displaying the first representation of the first conversation before (e.g., before, above, and / or to the left of) the second representation of the second conversation in accordance with a determination that one or more participants of the first conversation are accessible via the alternative communication network and one or more participants of the second conversation are not accessible via the alternative communication network, and displaying the second representation of the second conversation before (e.g., before, above, and / or to the left of) the first representation of the first conversation in accordance with a determination that one or more participants of the first conversation are not accessible via the alternative communication network and one or more participants of the second conversation are accessible via the alternative communication network. Basing the ordering of the one or more representations of the previous conversation on accessibility of computer systems associated with participants of the previous conversations via the alternative communication network provides a user with a relevant ordering of the previous conversations when initiating communication via the alternative communication network, which provides improved visual feedback.
[0201] In some embodiments, the computer system displays in a user interface (e.g., 604 or 650 of FIG. 6B ) one or more representations (e.g., 608A-608G or 650A-650F) (e.g., a list of representations) of a prior conversation (e.g., one or more communications (e.g., messages) between a user associated with the computer system and one or more other entities) including a first representation (e.g., 608A, 608B, 650A, or 650D) of the first conversation, where displaying the one or more representations of the prior conversation indicates that the computer systems of one or more participants in the first conversation are accessible via the alternative communications network. displaying an indication (e.g., 608B or 650A) (e.g., text, graphics, and / or color) that the computer systems of the one or more participants in the first conversation are accessible via the alternative communications network in accordance with a determination that the computer systems of the one or more participants in the first conversation are not accessible via the alternative communications network, and displaying the first representation of the first conversation without the indication (e.g., 608A or 650D) that the computer systems of the one or more participants in the first conversation are accessible via the alternative communications network in accordance with a determination that the computer systems of the one or more participants in the first conversation are accessible via the alternative communications network. Displaying an indication that the computer systems of the one or more participants in the first conversation are accessible via the alternative communications network in accordance with a determination that the computer systems of the one or more participants in the first conversation are accessible via the alternative communications network provides visual feedback to a user regarding whether the one or more participants in the first conversation are accessible via the alternative communications network, which provides improved visual feedback and performs an action when the set is filled without requiring further user input.
[0202] In some embodiments, the computer system detects one or more inputs (e.g., 610E, 610H, or 810I) corresponding to a request to transmit a communication (e.g., 646). In response to detecting one or more inputs corresponding to a request to transmit a communication, the computer system attempts to transmit the communication (e.g., 646, or the call of FIG. 6I) over a terrestrial wireless network (e.g., FIG. 6L or FIG. 6I) before attempting to transmit the communication over the alternative network, and after attempting to transmit the communication over the terrestrial wireless network, following (e.g., in response to) a determination (or receiving an indication) that attempting to transmit the communication over the terrestrial wireless network failed, the computer system attempts to transmit the communication over the alternative communication network (e.g., FIG. 6N or FIG. 6J). In some embodiments, after attempting to transmit the communication over the terrestrial wireless network, the computer system attempts to transmit the communication over the alternative communication network in response to detecting a selection (e.g., another selection) of a selectable transmit option (e.g., a button, an icon, and / or an affordance). Attempting to transmit the communication over the terrestrial wireless network and then, in response to a determination that the attempt to transmit the communication over the terrestrial wireless network has failed, attempting to transmit the communication over an alternative communications network provides the user with a backup communications option without requiring additional user input in the event that the terrestrial wireless network fails, which reduces the number of inputs required to perform an operation.
[0203] In some embodiments, a determination is made that the terrestrial wireless network is not available to the computer system to initiate communication (e.g., 646) when the computer system is able to receive signals from the terrestrial wireless network but is unable to establish a communication link (e.g., the communication network is not functional and / or is not compatible with the computer system). Making a determination that the terrestrial wireless network is not available to the computer system to initiate communication when the computer system is able to receive signals from the terrestrial wireless network but is unable to establish a communication link provides an indication to the user that communication may be initiated over an alternative communication network under these circumstances, which provides improved visual feedback. In some embodiments, the computer system is automatically (e.g., by default and / or without explicit user input) enabled to initiate (and / or transmit) communication over the alternative communication network. Automatically enabling the computer system to initiate communication over the alternative communication network enables the computer system to automatically initiate communication over the alternative communication network without additional input when the terrestrial wireless network is unavailable to the computer system to initiate communication, which reduces the number of inputs required to perform an operation. In some embodiments, the computer system detects selection of an option (e.g., 640A, 640B, 804D, 806G, or 836A) (e.g., a button, affordance, toggle, switch, and / or user interaction graphical object) for enabling (and, optionally, disabling) communication via the alternative communications network, and in response to detecting selection of the option for enabling communication via the alternative communications network, the computer system enables the computer system to communicate via the alternative communications network.In some embodiments, the option for enabling communication over an alternative communication network is displayed in a control menu, control user interface (e.g., 626B or 804), or widget (e.g., 806B) that includes multiple selectable options for controlling settings of the computer system. Enabling the computer system to communicate over an alternative communication network in response to detecting a selection of the option for enabling communication over an alternative communication network gives the user greater ability to configure the functionality of the computer system and enable modes that allow the computer system to automatically initiate communication over the alternative communication network without additional input when a terrestrial wireless network is not available to the computer system to initiate communication, which reduces the number of inputs required to perform an operation.
[0204] In some embodiments, the computer system detects one or more inputs corresponding to a request to initiate communication via a phone call (e.g., FIG. 6I), and in response to the computer system detecting the one or more inputs corresponding to the request to initiate communication via a phone call, in accordance with a determination that a terrestrial wireless network is available to the computer system to initiate communication, the computer system initiates communication via a phone call, and in accordance with a determination that a terrestrial wireless network is not available to the computer system to initiate communication, the computer system displays a user interface of a messaging application (e.g., 642) for initiating (and / or sending) communication via a message (e.g., a text and / or audio message) (and optionally, without attempting to initiate communication via a phone call). Initiating communication via a phone call or displaying a user interface of a messaging application for initiating communication via a message based on whether a terrestrial wireless network is available to the computer system to initiate communication provides the user with an associated communication protocol without requiring additional input, which reduces the number of inputs required to perform an operation, and performs an operation when a set of conditions is met without requiring further user input.
[0205] In some embodiments, displaying the user interface includes displaying one or more options (e.g., 806J or 806K) for selecting content for the communication according to a determination that no terrestrial wireless network is available to the computer system for initiating a communication. In some embodiments, the computer system displays a predefined set of words and / or images that may be included in the communication (e.g., predefined words, phrases, and / or images that may be selected). In some embodiments, the computer system does not provide (e.g., display) a QWERTY keyboard for generating content for the communication. In some embodiments, the size of the content is constrained or limited (e.g., to a predefined number of characters, images, and / or data sizes (e.g., bytes)). Displaying one or more options for selecting content for the communication according to a determination that no terrestrial wireless network is available to the computer system for initiating a communication enables the computer system to provide a user with preferred content options for communicating over an alternative communication network when a terrestrial wireless network is unavailable, reduces the number of inputs required to configure the communication, which provides improved visual feedback, reduces the number of inputs required to perform an action, and performs an action when a set of conditions is met without requiring further user input.
[0206] In some embodiments, pursuant to a determination that one or more communications (e.g., messages) have been requested to be sent but have not been sent (e.g., pending or queued to be sent), the computer system displays an indication (e.g., 648 and / or 654) (e.g., text, graphics, animation, and / or color) (e.g., in a predefined and / or fixed location of a user interface (e.g., a user interface for initiating a communication) such as a status bar, or in a non-fixed location, such as below or adjacent to a representation of the communication). In some embodiments, the indication indicates the number of communications that have been requested to be sent but have not been sent. Displaying an indication that one or more communications have been requested to be sent but have not been sent pursuant to a determination that one or more communications have been requested to be sent but have not been sent provides a user with visual feedback regarding the status of a previously initiated communication, which provides improved visual feedback.
[0207] In some embodiments, while displaying an indication (e.g., 648) that one or more communications (e.g., 646) have been requested to be sent but have not been sent, the computer system detects an input (e.g., 610I) corresponding to a selection of the indication (e.g., a tap on the indication) that one or more communications have been requested to be sent but have not been sent. In some embodiments, in response to detecting an input (e.g., 610I) corresponding to a selection of an indication that one or more communications have been requested to be sent but have not been sent, the computer system displays a representation of the one or more communications that have been requested to be sent but have not been sent (e.g., a list of pending and / or queued messages (e.g., with individual, separate, and / or different representations for each message)) that is distinct from the indication that one or more communications have been requested to be sent but have not been sent. Displaying a representation of the one or more communications that have been requested to be sent but have not been sent in response to detecting an input corresponding to a selection of an indication that one or more communications have been requested to be sent but have not been sent provides a user with visual feedback regarding the status of a previously initiated communication, which provides improved visual feedback.
[0208] It should be noted that the process details described above with respect to method 700 (e.g., FIG. 7) are also applicable in a similar manner to the methods described below. For example, method 900 optionally includes one or more of the characteristics of the various methods described above with reference to method 700. For example, displaying a portion of a user interface with a different appearance based on whether a terrestrial wireless network is available to the computer system to initiate communication may be applied to method 900. For the sake of brevity, these details will not be repeated below.
[0209] 8A-8S show example user interfaces for low bandwidth and emergency communications according to some embodiments. The user interfaces in these figures are used to illustrate processes described below, including the process of FIG.
[0210] 8A illustrates a computer system 800A (e.g., smartphone 100, 300, or 500) associated with a user named Luke. In FIG. 8A, computer system 800A displays a user interface 804 that displays (e.g., simultaneously displays) an option 804A for powering off computer system 800A, a medical ID option 804B (e.g., for viewing medical information for a user associated with computer system 800A), an emergency SOS call option 804C, an emergency SOS message option 804D, and a cancel option 804E. In some embodiments, computer system 800A displays user interface 804 in response to detecting an input on hardware button 801 (e.g., a press with a duration that meets a duration threshold, or multiple presses within a predetermined time period (e.g., two presses, three presses, or five presses)).
[0211] In response to detecting input 810A (e.g., a drag or swipe gesture) corresponding to selection of Emergency SOS Call option 804C, computer system 800A attempts to initiate a call to a designated emergency services number (e.g., 911, 112, or 999, depending on the country or region). In response to detecting input 810B (e.g., a drag or swipe gesture) corresponding to selection of Emergency SOS Message option 804D, computer system 800A displays an emergency messaging user interface 812, described below with reference to FIG.
[0212] 8B, computer system 800A displays user interface 806 (e.g., a multi-page home screen page including multiple selectable icons for launching and / or opening respective applications). User interface 806 displays a calendar widget 806A and an emergency SOS widget 806B. In some embodiments, the widgets are user-interactive graphical objects that display (and, optionally, update the display of) information obtained from the corresponding application. Emergency SOS widget 806B provides the user with the ability to initiate (or attempt to initiate) and / or send (or attempt to send) an emergency communication. Header 806H ("Send SOS") indicates the current state (e.g., sending state) of Emergency SOS widget 806B and indicates that Emergency SOS widget 806B is currently configured to send an SOS.
[0213] The Emergency SOS widget 806B displays representations 806C1-806C4 of recipients selected to receive emergency communications generated and / or sent using the Emergency SOS widget 806B. In some embodiments, the recipients are automatically selected by the computer system 800A and / or previously selected by a user associated with the computer system 800A (e.g., via an Emergency SOS settings menu). The representations 806C1-806C4 of recipients selected to receive the emergency communication include the recipients' first names and last initials to protect privacy. Avatars may be the representations 806C1-806C4 of recipients selected to receive the emergency communication and may be blurred or displayed with reduced fidelity to protect privacy. The Emergency SOS widget 806B displays a message information indicator 806D indicating the number of recipients selected to receive the emergency communication (e.g., 5, 10, or 18) and a summary of the content to be included in the communication (e.g., the sender's name, location, and phone number). Optional message option 806E may be selected to initiate a process for adding additional content (e.g., customized and / or predefined text and / or graphics) to the emergency communication. In some embodiments, computer system 800A (or widget 806B) limits the amount and / or type of content that may be added using optional message option 806E.
[0214] The computer system 800A detects an input 810C selecting a send option 806G. In response to detecting the input 810C selecting the send option 806G, the computer system 800A initiates a process for sending an emergency communication to a number of recipients (including the recipients represented by representations 806C1-806C4) indicated in the message information indicator 806D along with information summarized in the message information indicator 806D. In some embodiments, in response to detecting a selection of the send option 806G, the computer system 800A displays a confirmation prompt 808 (e.g., a pop-up) for the user to confirm that they wish to send the SOS communication, as shown in FIG. 8C. While displaying the confirmation prompt 808, the computer system 800A dims, blurs, and / or grays out portions of the user interface 806 other than the confirmation option 808. The confirmation prompt 808 includes a confirmation option 808A and a cancel option 808B. In some embodiments, in response to detecting an input corresponding to the selection of the Cancel option 808B, the computer system ceases displaying the confirmation prompt 808 and removes any visual effects added in response to detecting an input 810C selecting the Send option 806G (e.g., the computer system 800A redisplays the user interface 806).
[0215] In Figure 8C, computer system 800A detects input 810D selecting confirmation option 808A. In response to detecting the selection of confirmation option 808A, computer system 800A enters an emergency communication mode and displays messaging user interface 812, shown in Figure 8D, which allows the user to add additional content to the communication.
[0216] 8D, messaging user interface 812 includes a message conversation area 812A, a keyboard 812B, a message creation field 812C, and a send option 812D. Using messaging user interface 812, additional content for a communication has been added to message creation field 812C by selecting message creation field 812C and using keyboard 812B to enter the text "I fell into a deep ravine and can't get out!". In some embodiments, message creation field 812C is selected by default when messaging user interface 812 is displayed. In some embodiments, computer system 800A limits the number of characters and / or type of content that can be added to message creation field 812C and / or the communication.
[0217] In Fig. 8D, the computer system 800A detects an input 810E (e.g., a tap) selecting a send option 812D. In response to detecting the selection of the send option 812D, the computer system 800A transmits (or attempts to transmit) the emergency communication to the number of recipients indicated in the message information indicator 806D along with the information summarized in the message information indicator 806D and the contents of the message composition field 812C of Fig. 8D. In some embodiments, the computer system 800A transmits (or attempts to transmit) the emergency communication to the number of recipients indicated in the message information indicator 806D along with the information summarized in the message information indicator 806D in response to detecting the selection of the confirm option 808A without displaying the messaging user interface 812. After the communication is transmitted in response to detecting the input 810E, the computer system 800A displays a message 814A corresponding to the communication and a location indicator 816A (e.g., a map or satellite view with a pin at the sender's location) within the message conversation area 812A of the messaging user interface 812, as shown in Fig. 8E.
[0218] 8F-8G illustrate a user interface displayed on computer system 800B associated with a recipient of a communication sent by computer system 800A when or after the communication is sent. In FIG. 8F, while computer system 800B is displaying user interface 818 (e.g., a home screen), computer system 800B receives an alert of a message. In response to receiving the alert, computer system 800B displays a notification 820 that includes a communication summary 820A and a location indicator 820B. Communication summary 820A includes an indication of the sender (e.g., Luke), the situation (e.g., an emergency), and the distance of the sender relative to computer system 800B (e.g., 0.5 miles away).
[0219] The user may select notification 820 to view additional details of the emergency communication. In response to detecting input 810F selecting notification 820, computer system 800B displays messaging user interface 822, shown in FIGURE 8G. Messaging user interface 822 displays message 814B (corresponding to message 814A) and location indicator 816B (corresponding to location indicator 816A) within message conversation area 822A, which indicate the contents of the emergency communication.
[0220] Referring to Figure 8H, after sending the emergency communication, the computer system 800A updates the Emergency SOS widget 806B. Figure 8H shows the Emergency SOS widget 806B after the emergency communication has been sent in Figure 8D. The header 806I indicates that an SOS communication has been sent, a safe communication option 806J can be selected to inform the recipient of the emergency communication that the sender is now safe (e.g., in a default communication), and an additional information option 806K can be selected to provide additional information via a customized communication.
[0221] In response to detecting an input 810H (e.g., a tap) selecting the additional information option 806K, the computer system 800A scrolls the user interface 806 (including the emergency SOS widget 806B) upward on the display 802A to display a keyboard 806L, a message creation field 806M, and a send option 806N. Additional information is added to the message creation field 806M by selecting the message creation field 806M and entering the text "No exit found!" using the keyboard 806L. In some embodiments, the computer system 800A selects the message creation field 806M by default in response to detecting a selection of the additional information option 806K. In some embodiments, the computer system 800A limits the number of characters and / or type of content that can be added to the message creation field 806M.
[0222] In response to detecting an input 810I (e.g., a tap) selecting send option 806N, computer system 800A sends the contents in message composition field 806M to emergency services and any selected emergency recipients (e.g., emergency contacts). After the additional information is sent, a message 824A and a location indicator 826A (e.g., an updated location indicator) are added to the message conversation area 812A in messaging user interface 812. Message 824A includes the additional information from message composition field 806M, and location indicator 826A provides an updated location of computer system 800A (e.g., the location of computer system 800A at the time the additional information was sent).
[0223] Referring to FIG. 8K, computer system 800B displays a messaging application user interface 828 after the additional information has been sent. User interface 828 displays a list 830 of previous conversations 830A-830G. Similar to user interface 604 of FIG. 6B, conversations 830A-830G are separated into two portions of user interface 828, a nearby portion 832A and an out-of-range portion 832B, based on the proximity of computer systems associated with the conversation participants. Conversation 830A corresponds to an emergency SOS conversation initiated by computer system 800A. In response to detecting an input 810K (e.g., a tap) selecting conversation 830A, computer system 800B displays (e.g., redisplays) messaging user interface 822, as shown in FIG. 8M. In Figure 8M, messaging user interface 822 has been updated (e.g., as compared to Figure 8G) to include message 824B (corresponding to message 824A) and location indicator 826B (corresponding to location indicator 826A). Figure 8L shows the corresponding messaging user interface 812 displayed by computer system 800A (unmodified from Figure 8J).
[0224] The messaging user interface 822 provides for responding to the recipient associated with computer system 800B with an emergency system conversation. In FIG. 8M, a message ("on my way") is created in message creation field 822C using keyboard 822B (or, optionally, voice input) and sent by computer system 800B in response to detecting input 810L selecting send option 822D, and added to the emergency system message conversation. FIG. 8N shows messaging user interface 812 displayed by computer system 800A updated to include message 828A received by Luke, and FIG. 8O shows messaging user interface 822 displayed by computer system 800B updated to include a corresponding message 828B sent by a user (e.g., John) associated with computer system 800B.
[0225] 8O and 8P illustrate the functionality of location indicator 826B. In FIG. 8O, computer system 800B detects input 810M (e.g., a tap) that selects location indicator 826B. In response to detecting the selection of location indicator 826B, computer system 800B minimizes keyboard 822B and displays map 830 (and / or a satellite view) having location marker 830A and location marker 830B. Location marker 830A represents the location of computer system 800A associated (at that time) with message 814A. Location marker 830B represents the location of computer system 800A associated (at that time) with message 824A. The location markers can be selected to view the message corresponding to the marker. For example, in response to detecting an input 810N (e.g., a tap or tap-and-hold) on location marker 830B in Figure 8P, computer system 800B displays message 824C that includes the content and time of the message (e.g., message 824A and / or message 824B) that corresponds to location marker 830B. Location indicators 816A, 816B, and 826A have similar functionality.
[0226] Returning to Figure 8H, the emergency SOS widget 806B displays a safe communication option 806J. In some embodiments, the computer system 800A detects an input 810B (e.g., a tap) that selects the safe communication option 806J (e.g., instead of or in addition to detecting an input 810H that selects the more information option 806K). In response to detecting a selection of the safe communication option 806J, the computer system 800A transmits data indicating that Luke is safe, as indicated by a safe indication 832 ("Lucas reported safe") displayed in the emergency system message conversation in the user interface 822 of Figure 8Q.
[0227] FIG. 8R illustrates a technique for displaying a representation of an emergency message (or emergency message conversation) in a list of content items, such as a news feed or a list of items selected as contextually relevant to a user. Computer system 800B displays a user interface 834 having tabs 834C1-834C5. Tab 834C1 labeled "For You" is selected and includes a list 834A of content items 834A1-834A4 that have been selected (e.g., based on the user's preferences and / or previous activity) from different types of content items as relevant to a user associated with computer system 800B. The types of content items shown (e.g., displayed simultaneously) in list 834 of FIG. 8R include, for example, emergency communications (e.g., 834A1), advertisements (e.g., 834A2), maintenance or repair notices (e.g., 834A3), and news articles (e.g., 834A4 about a missing dog). View indicators 834B1-834B4 indicate the number of users or the number of times an item has been viewed.
[0228] FIG. 8S illustrates computer system 800A in a low power state displaying user interface 836 (e.g., a low power user interface). User interface 836 includes indicator 652 indicating that nearby users are available for communication over a network other than a terrestrial wireless communication network. User interface 836 displays a single emergency SOS option 836A, as opposed to simultaneously displaying an emergency SOS call option (e.g., emergency SOS call option 804C) and an emergency SOS message option (e.g., emergency SOS message option 804D) (e.g., as in user interface 804 illustrated in FIG. 8A). In some embodiments, in response to detecting an input 810N (e.g., a tap, drag, or swipe) that selects emergency SOS option 836A, computer system 800A attempts to initiate a call to a designated emergency service (as described in response to selection of emergency SOS call option 804C) or alternatively initiates an emergency communication mode (as described in response to selection of emergency SOS message option 804D) based on communication network status. For example, if a terrestrial wireless communications network is available, computer system 800A may attempt to initiate a call to a designated emergency service in response to detecting selection of Emergency SOS option 836A, and if a terrestrial wireless communications network is not available, computer system 800A may initiate an emergency communications mode (e.g., display user interface 812 shown in FIG. 8D) in response to detecting selection of Emergency SOS option 836A.
[0229] 9 is a flow diagram illustrating a method for low bandwidth and / or emergency communications using a computer system, according to some embodiments. Method 900 is implemented in a computer system (e.g., 100, 300, 500, 600A, 600B, 800A, 800B, smartphone, tablet, and / or smartwatch) in communication with a display generating component and one or more input devices (e.g., a touch-sensitive surface, a touch screen, a button, and / or a microphone). Some operations of method 900 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0230] As described below, method 900 provides an intuitive way to provide low bandwidth and / or emergency communications. The method reduces the cognitive burden on a user to perform low bandwidth and / or emergency communications, thereby creating a more efficient human-machine interface. For battery-operated computing devices, allowing a user to perform low bandwidth and / or emergency communications faster and more efficiently conserves power and increases the time between battery charges.
[0231] While the computer system is in the emergency communications mode (e.g., FIG. 8D ) (e.g., a set of communications networks (e.g., a particular set and / or one or more particular types) are not available to initiate communications (e.g., the computer system is unable to connect to any of the set of communications networks), and / or the computer system is not receiving a signal (e.g., from any of the set of communications networks) having sufficient strength and / or consistency to initiate (e.g., transmit and / or receive) communications, and / or the computer system is unable to connect to an alternative communications network (e.g., a peer-to-peer (e.g., ad-hoc) network). ), the devices directly or indirectly exchange information over a communication medium without a central node (e.g., sending information to an intermediate device or devices that are in communication with an intended recipient), and the computer system, via a display generation component, provides selectable communication transmission options (e.g., 806G, 808A, 812D, 806J, 806N, or 822D) (e.g., affordances, buttons, graphical elements, graphical objects, and / or icons) for transmitting a communication (e.g., 814A, 814B, 816A, 816B, 824A, 824B, 826A, 826B, 828A, 828B, or 832) (e.g., an emergency communication).The displaying of communication transmission options occurs in response to determining that one or more recipients are reachable (e.g., the computer system can connect to), and includes (e.g., simultaneously including) a first user interface (e.g., an emergency communication interface (e.g., a widget) for communicating an emergency communication) specific to an emergency communication mode (e.g., the first user interface is not displayed prior to the emergency communication mode), to one or more recipients that are automatically selected (e.g., selected without further user input and / or by the computer system (e.g., the computer system and / or a remote computer system) based on the proximity of a remote computer system (e.g., device) associated with the one or more recipients (e.g., 806C1-806C4) to the computer system (e.g., one or more external devices), without providing (e.g., displaying) information identifying the one or more recipients (e.g., without identifying any of the one or more recipients) (902).
[0232] In some embodiments, the selectable communication send option is a “send” affordance. In some embodiments, the communication includes (e.g., includes only) the user's name (first and / or last name), the user's location, the user's phone number, and / or a customized message (e.g., a customized text message with a limited number of characters and / or type of content (e.g., no emojis and / or less than a predetermined number of characters)). In some embodiments, the external device must be within a predefined distance of the computer system. In some embodiments, the first user interface includes (e.g., concurrently with the communication send option) an indication corresponding to one or more recipients (e.g., limited information regarding the one or more recipients that does not identify the recipients). In some embodiments, the indication of the one or more recipients includes the location(s) of the one or more recipients, the number of recipients, and / or the phone number(s) of the one or more recipients. In some embodiments, displaying the first user interface includes displaying content (e.g., a summary of the content) that is within the communication.
[0233] While the computer system is in the emergency communications mode, the computer system receives (904) one or more inputs (e.g., 810C, 810D, 810E, 810G, 810I, or 810L) via one or more input devices including a selection of a communications transmission option (e.g., a single-tap gesture, a double-tap gesture, and / or a non-tap gesture (e.g., a swipe gesture and / or a press and hold gesture)).
[0234] In response to receiving one or more inputs while the computer system is in the emergency communications mode, the computer system transmits (906) a communication (e.g., 814A, 814B, 816A, 816B, 824A, 824B, 826A, 826B, 828A, 828B, or 832) to one or more recipients. In some embodiments, via an alternative communications network (e.g., a peer-to-peer (e.g., ad-hoc) network in which devices exchange information directly or indirectly over a communications medium without a central node (e.g., transmitting information to an intermediate device(s) in communication with the intended recipient). Automatically selecting one or more recipients of a communication based on the proximity to the computer system of a remote computer system associated with the one or more recipients without providing information identifying the one or more recipients reduces the need for additional inputs to select a recipient and provides the ability to maintain the anonymity of the recipients, which provides improved visual feedback and reduces the number of inputs required to perform an action.
[0235] In some embodiments, while the computer system is not in the emergency communications mode, a first user interface specific to the emergency communications mode (e.g., 812, 806B, or 822) including a communication send option (e.g., 806G, 808A, 812D, 806J, 806N, or 822D) is not displayed (e.g., not available on the computer system or not available in a separate system user interface, such as a messaging user interface, or a control user interface, or a computer system power off user interface including an option to power off the computer system). Not displaying a first user interface specific to the emergency communications mode, including a communication send option, while the computer system is not in the emergency communications mode allows a user to access the first user interface in the emergency communications mode while eliminating the possibility of accidentally accessing the first user interface when not in the emergency communications mode, which provides additional control options without cluttering the user interface.
[0236] In some embodiments, the computer system displays selectable emergency communication options (e.g., 804C or 836A) (e.g., icons, buttons, affordances, and / or user interaction user interface objects), and while displaying the selectable emergency communication options, the computer system receives an input (e.g., 810A or 810N) via one or more input devices selecting the emergency communication option, and in response to receiving the input selecting the emergency communication option, in accordance with a determination that a terrestrial wireless network (e.g., a cellular network and / or an Internet network (e.g., WI-FI)) is available to the computer system for initiating communications, the computer system initiates a communication (e.g., a call) over the terrestrial wireless network to a designated recipient (e.g., an emergency service such as "911," "211," or "999," depending on the country or region) (in some embodiments, the computer system initiates a communication over the terrestrial wireless network to a designated recipient without entering or activating an emergency communication mode), and pursuant to a determination that the terrestrial wireless network is not available to the computer system for initiating a communication, the computer system enters (e.g., activates and / or initiates) an emergency communication mode (e.g., 812, 806B, or 822) (and, optionally, displays a first user interface specific to the emergency communication mode). Initiating a communication over the terrestrial wireless network to a designated recipient or entering into an emergency communication mode pursuant to whether the terrestrial wireless network is available to the computer system for initiating a communication provides the user with a contextually relevant response to selection of an emergency communication option, which provides improved visual feedback and performs an action when a set of conditions are met without requiring further user input.
[0237] In some embodiments, the computer system simultaneously displays a selectable emergency communication option (e.g., 804C) (e.g., an icon, a button, an affordance, a slider, and / or a user-interaction user interface object) and a selectable emergency mode option (e.g., 804D) (e.g., an icon, a button, an affordance, a slider, and / or a user-interaction user interface object) (e.g., FIG. 8A ), and the computer system receives an input (e.g., 810A or 810B) via one or more input devices corresponding to a selection of the emergency communication option or the emergency mode option, and in response to receiving the input corresponding to a selection of the emergency communication option or the emergency mode option, the input selects the emergency communication option. In accordance with a determination that the input corresponds to a selection of an emergency mode option (e.g., 810A), the computer system attempts to initiate a communication (e.g., a call) to the designated recipient (e.g., an emergency service such as "911") over the terrestrial wireless network (in some embodiments, the computer system initiates a communication to the designated recipient over the terrestrial wireless network without entering or activating an emergency communications mode), and in accordance with a determination that the input corresponds to a selection of an emergency mode option (e.g., 810B), the computer system enters (e.g., activates and / or initiates) an emergency communications mode (e.g., 812, 806B, or 822) (and, optionally, displays a first user interface specific to the emergency communications mode). Simultaneously displaying an option for initiating a communication over the terrestrial wireless network and an option for entering the emergency communications mode provides a user interface for efficiently selecting between techniques for transmitting an emergency communication without having to navigate multiple user interfaces and / or menus, which reduces the number of inputs required to perform an operation.
[0238] In some embodiments, while the computer system is in the low power mode (e.g., FIG. 8S), the computer system displays a selectable emergency mode option (e.g., 836A) (e.g., an icon, a button, an affordance, a slider, and / or a user-interaction user interface object), the computer system receives an input (e.g., 810N) via one or more input devices corresponding to a selection of the emergency mode option, and in response to receiving the input corresponding to a selection of the emergency mode option, the computer system enters (e.g., activates and / or initiates) an emergency communications mode (e.g., 812, 806B, or 822) (and, optionally, displays a first user interface specific to the emergency communications mode, and / or exits (e.g., ceases to operate the computer system in the low power mode) from the low power mode). Entering the emergency communications mode in response to receiving an input corresponding to a selection of the emergency mode option while in the low power mode provides a user with a quick and efficient technique for entering the emergency communications mode from the low power mode without navigating additional user interfaces, which reduces the number of inputs required to perform the operation.
[0239] In some embodiments, the one or more recipients (e.g., 806C1-806C4) are selected based on contact information included in a user account associated with the computer system (e.g., name (first and / or last), phone number(s), email address(es), username, physical address, image (e.g., profile picture, avatar, or emoji)). In some embodiments, the one or more recipients do not include any recipients for whom a user account associated with the computer system does not include contact information (e.g., the one or more recipients include only recipients for whom a user account associated with the computer system includes contact information). In some embodiments, the one or more recipients are selected in part pursuant to a determination that a user account associated with the computer system includes contact information for one or more recipients (e.g., each of the one or more recipients). Selecting one or more recipients based on contact information included in a user account associated with the computer system provides a user with quick access to relevant recipients in emergency situations without having to navigate contact menus or applications, which reduces the number of inputs required to perform an action.
[0240] In some embodiments, one or more of the recipients (e.g., 806C1-806C4) include a first recipient, and a user account associated with the computer system does not include contact information for the first recipient (e.g., the first recipient is not included in a list of contactable entities associated with the user account associated with the computer system). Including a recipient not associated with a user account for the computer system provides the user with potentially previously unknown recipients in close proximity to the user that may be able to assist in emergency situations, it reduces the need to select additional recipients (e.g., from a list of contactable users), and it reduces the number of entries required to perform an operation.
[0241] In some embodiments, in accordance with a determination that the communication is associated with a first type of communication (e.g., a first type of emergency such as a private emergency), one or more recipients (e.g., 806C1-806C4) are selected to consist of a first set of recipients, and in accordance with a determination that the communication is associated with a second type of communication different from the first type of communication (e.g., a second type of emergency different from the first type of emergency such as a public emergency (e.g., a flood, hurricane, earthquake, or other natural disaster)), one or more recipients are selected to consist of a second set of recipients, the second set of recipients including more recipients than the first set of recipients. Selecting different sets of recipients having different numbers of recipients based on the type of communication allows the computer system to select the sets of recipients (and the sizes of the sets) as appropriate for a particular context without the user having to select the recipients, which reduces the number of inputs required to perform an operation.
[0242] In some embodiments, the computer system displays a selectable confirmation option (e.g., 808A) prior to sending the communication to one or more recipients (e.g., 806C1-806C4) in response to receiving one or more inputs (e.g., 810C and 810D), where the one or more inputs include a selection of the selectable confirmation option (e.g., 810D), and where sending the communication to the one or more recipients is performed in response to receiving the selection of the confirmation option. Displaying the selectable confirmation option prior to sending the communication in response to receiving the one or more inputs provides visual feedback to the user that confirmation is required to send the communication, which provides improved visual feedback.
[0243] In some embodiments, the first user interface (e.g., 806B) specific to the emergency communication mode includes an indication (e.g., 806D) (e.g., text and / or graphics) of the number of recipients among the one or more recipients. In some embodiments, the computer system displays the indication of the number of recipients among the one or more recipients concurrently with the communication send option. Including the indication of the number of recipients in the first user interface provides the user with visual feedback of the number of recipients to which the communication is to be sent, which provides improved visual feedback.
[0244] In some embodiments, after sending the communication to one or more recipients (e.g., in response to receiving one or more inputs), the computer system displays the content of the communication in a message (e.g., 814A, 814B, 816A, 816B, 824A, 824B, 826A, 826B, 828A, 828B, or 832) (e.g., a text message or an instant message) of a message conversation (e.g., a message conversation with an emergency service and / or a message conversation displayed in a messaging application). Displaying the content of the communication in a message of a message conversation after sending the communication to one or more recipients provides visual feedback to the user that the message has been sent and indicates that additional messages may be sent and / or received, which provides improved visual feedback.
[0245] In some embodiments, transmitting the communication to the one or more recipients includes transmitting the communication to the one or more recipients via a communications network other than a terrestrial wireless network (and, optionally, other than a terrestrial Internet network and / or a terrestrial cellular network) (e.g., a peer-to-peer network and / or a satellite communications network). In some embodiments, the communications network other than a terrestrial wireless network is a peer-to-peer network (e.g., the computer system transmits the communication via a peer-to-peer network). In some embodiments, the communications network other than a terrestrial wireless network is a satellite communications network.
[0246] In some embodiments, after sending the communication to one or more recipients, the computer system displays selectable safety communication options (e.g., 806J), the computer system detects an input (e.g., 810G) selecting the safety communication option, and in response to detecting the input selecting the safety communication option, the computer system transmits a safety communication (e.g., 832) to one or more recipients indicating (e.g., via text, graphics, color, and / or animation) that a user associated with the computer system is safe. In some embodiments, the safety communication is sent (e.g., propagated) over a communication network other than a terrestrial wireless network. In some embodiments, the safety communication is transmitted over a messaging application (e.g., a text messaging application and / or an instant messaging application) or other application that provides location information of the computer system. In response to detecting a selection of the displayed safety communication option, transmitting a safety communication to one or more recipients indicating that a user associated with the computer system is safe provides the user with a visual indication that a safety communication can be transmitted and an efficient technique for transmitting a safety communication without additional input, which provides improved visual feedback and reduces the number of inputs required to perform an action.
[0247] In some embodiments, after sending the communication to one or more recipients, the computer system displays a second user interface (e.g., 834) (e.g., a user interface not specific to the emergency communication mode, a news tab, and / or a user interface including multiple representations of a news article) that simultaneously includes a representation of the communication (e.g., 834A1) and a representation of a news article (e.g., a news article). In some embodiments, the representation of the communication includes at least a portion of the content included in the communication. In some embodiments, the computer system detects an input that selects the representation of the communication, and in response to detecting the input that selects the representation, the computer system displays the content of the communication. Displaying the representation of the communication in the second user interface simultaneously with the news article provides visual feedback to the user that the communication has been sent or received, and displaying the representation of the communication along with other content of interest to the user provides improved visual feedback.
[0248] In some embodiments, the computer system detects selection of an option (e.g., 640A, 640B, 804D, 806G, or 836A) (e.g., a button, affordance, toggle, switch, and / or user interaction graphical object) for enabling (and, optionally, disabling) communication over an alternative communication network other than the terrestrial wireless network (and, optionally, other than the Internet network), and in response to detecting selection of an option (e.g., 610F, 610G, 810C, or 810N) for allowing communication over the alternative communication network, the computer system enables the computer system to communicate over the alternative communication network. In some embodiments, the option for allowing communication over the alternative communication network is displayed in a control menu, control user interface, or widget that includes a plurality of selectable options for controlling settings of the computer system. Enabling the computer system to communicate via an alternative communications network in response to detecting a selection of an option to enable communication via an alternative communications network gives the user greater ability to configure the functionality of the computer system and enable modes that allow the computer system to automatically initiate communication via an alternative communications network without additional input when a terrestrial wireless network is not available to the computer system to initiate communication, which reduces the number of inputs required to perform an operation.
[0249] In some embodiments, the first user interface specific to the emergency communications mode is an application widget (e.g., 806B) (e.g., corresponding to an emergency communications application). In some embodiments, the application widget is displayed in a fixed and / or permanent position on the display or user interface (e.g., a home screen or displayed user interface (e.g., user interface 400) that includes user interface elements corresponding to respective applications such that, when a user interface element is activated, the computer system displays the respective application corresponding to the activated user interface element) as opposed to, for example, an application window that can be moved and / or repositioned on the display or user interface during standard operation (e.g., when not in a reconfiguration mode).
[0250] In some embodiments, while the computer system is in an emergency communications mode (e.g., 806B) (e.g., while displaying a first user interface specific to the emergency communications mode) (and, optionally, before sending the communication to one or more recipients), the computer system displays (e.g., in the first user interface) information of a first recipient of the one or more recipients (e.g., 806C1-806C4 or 806D), including: in accordance with a determination that a user account associated with the computer system includes contact information for the first recipient, the computer system displays a first set of information for the first recipient; and in accordance with a determination that the user account associated with the computer system does not include contact information for the first recipient, the computer system displays a second set of information for the first recipient that differs from the first set of information, where the first set of information includes more information than the second set of information (e.g., the computer system displays limited (e.g., less) information regarding nearby users who are not contacts of the user associated with the computer system). Displaying different sets of information containing different amounts of information based on whether the recipient's contact information is included in a user account associated with the computer system provides visual feedback to the user as to whether the recipient is someone the user may know, which provides improved visual feedback.
[0251] In some embodiments, the second set of information (e.g., 806C1-806C4) includes a first name (e.g., the complete first name) associated with the first recipient, but does not include a complete last name associated with the first recipient (e.g., the computer system displays the complete first name and last initial of the first recipient). Displaying the recipient's full name based on the recipient's contact information included in a user account associated with the computer system provides visual feedback to the user that the recipient is someone the user may know, which provides improved visual feedback. In some embodiments, the first set of information (e.g., 806C1-806C4) includes a first image (e.g., a photo or avatar) associated with the first recipient, and the second set of information includes a second avatar image associated with the first recipient that has a lower fidelity than the first image (e.g., the second image is a lower fidelity (e.g., blurred) version of the first image). Displaying a higher fidelity avatar of the recipient based on the recipient's contact information contained in a user account associated with the computer system provides visual feedback to the user that the recipient is someone the user may know, which provides improved visual feedback.
[0252] In some embodiments, a communication to one or more recipients includes information describing the location of a computer system (e.g., 816A, 816B, 826A, and / or 826B) (e.g., the location of the computer system at the time of sending the communication). Including the location of the computer system in the communication provides additional information to the user about the computer system without requiring additional user input, which provides improved visual feedback and reduces the number of inputs required to perform an action.
[0253] In some embodiments, the computer system displays a map (e.g., 830) including a first indication (e.g., 830A) (e.g., a pin or dot) at the location of the computer system and a second indication (e.g., 830B) at the location of the computer system associated with a second (e.g., earlier or later) communication (e.g., an earlier communication, a later communication, and / or a second emergency communication) from the computer system (e.g., to one or more recipients). Displaying the map including the first indication at the location of the computer system and the second indication at the location of the computer system associated with the second communication from the computer system provides visual information to the user regarding the location of the computer system over time without requiring additional user input, which provides improved visual feedback and reduces the number of inputs required to perform an operation.
[0254] It should be noted that the process details described above with respect to method 900 (e.g., FIG. 9) are also applicable in a similar manner to the methods described above. For example, method 700 optionally includes one or more of the features of the various methods described above with reference to method 900. For example, selecting recipients based on proximity may be applied to method 700. For the sake of brevity, these details will not be repeated below.
[0255] The above has been described with reference to specific embodiments for purposes of illustration. However, the above exemplary discussion is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments have been chosen and described in order to best explain the principles of the technology and their practical applications. In order to enable others skilled in the art to best utilize the technology and various embodiments with various modifications as appropriate for the particular applications intended.
[0256] Although the present disclosure and examples have been fully described with reference to the accompanying drawings, it should be noted that various changes and modifications will become apparent to those skilled in the art, and such changes and modifications are to be understood as being included within the scope of the present disclosure and examples, as defined by the claims.
[0257] As explained above, one aspect of the present technology is the collection and use of data available from various sources to improve low bandwidth and / or emergency communications. The present disclosure contemplates that in some cases, this collected data may include personal information data that uniquely identifies a particular person or that can be used to contact or locate a particular person. Such personal information data may include demographic data, location-based data, phone numbers, email addresses, social network IDs, home addresses, data or records regarding the user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), birth date, or any other identifying or personal information.
[0258] This disclosure recognizes that the use of such personal information data in the present technology may be for the benefit of the user. For example, the personal information data may be used to send and / or receive emergency messages. Thus, the use of such personal information data allows the user to send and / or receive emergency messages. Additionally, other uses of personal information data that benefit the user are also contemplated by this disclosure. For example, health and fitness data may be used to provide insight into the overall wellness of the user, or may be used as proactive feedback to individuals using the technology in pursuit of wellness goals.
[0259] This disclosure contemplates that entities involved in the collection, analysis, disclosure, transmission, storage, or other use of such personal information data will adhere to robust privacy policies and / or privacy practices. Specifically, such entities should implement and consistently use privacy policies and practices that are generally recognized as meeting or exceeding industry or government requirements for keeping personal information data confidential and secure. Such policies should be easily accessible by users and should be updated as data collection and / or use changes. Personal information from users should be collected for the entity's lawful and legitimate uses and should not be shared or sold except for those lawful uses. Furthermore, such collection / sharing should be carried out after informing and obtaining consent from the user. Moreover, such entities should consider taking all necessary measures to protect and secure access to such personal information data and ensure that others who have access to the personal information data adhere to their privacy policies and procedures. Furthermore, such entities may subject themselves to third-party assessments to attest to their adherence to widely accepted privacy policies and practices. Moreover, policies and practices should be adapted to the specific types of personal information data being collected and / or accessed, and should conform to applicable laws and standards, including jurisdiction-specific considerations. For example, in the United States, collection of or access to certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA). Meanwhile, health data in other countries may be subject to other regulations and policies and should be addressed accordingly. Therefore, different privacy practices should be maintained with respect to different types of personal data in each country.
[0260] Notwithstanding the foregoing, the present disclosure also contemplates embodiments in which a user selectively blocks use of or access to personal information data. That is, the present disclosure contemplates that hardware and / or software elements may be provided to prevent or block access to such personal information data. For example, in the case of emergency communications, the present technology may be configured to allow a user to select to "opt-in" or "opt-out" of participating in the collection of personal information data during registration for the service or at any time thereafter. In another example, a user may choose not to be selected to receive emergency messages. In addition to providing "opt-in" and "opt-out" options, the present disclosure contemplates providing notice regarding access or use of personal information. For example, a user may be notified upon download of an app that will access the user's personal information data, and then again immediately before the personal information data is accessed by the app.
[0261] Moreover, it is the intent of this disclosure that personal information data should be managed and processed in a manner that minimizes the risk of unintended or unauthorized access or use. Risk can be minimized by limiting the collection of data and deleting it when it is no longer needed. In addition, where applicable in certain health-related applications, anonymization of data can be used to protect user privacy. De-identification can be facilitated by removing certain identifiers (e.g., date of birth, etc.) where appropriate, controlling the amount or specificity of data stored (e.g., collecting location data at a city level rather than an address level), controlling how data is stored (e.g., aggregating data across users), and / or other methods.
[0262] Thus, while this disclosure broadly encompasses the use of personal information data to implement one or more of the various disclosed embodiments, this disclosure also contemplates that the various embodiments may be implemented without requiring access to such personal information data, i.e., the various embodiments of the technology are not rendered inoperable by the absence of all or a portion of such personal information data, such as low bandwidth and / or emergency communications based on non-personal information data or a minimal amount of personal information, such as content requested by a device associated with a user, other non-personal information available for emergency communication modes, or publicly available information.
Claims
1. 1. A method comprising: A computer system in communication with a display generation component, comprising: a user interface for initiating communication via the display generation component, the user interface comprising: displaying at least a portion of the user interface in a first appearance in response to a determination that a terrestrial wireless network is available to the computer system of the first user for initiating the communication with a second user different from the first user; 11. The method of claim 10, further comprising: displaying a user interface including, in accordance with a determination that a terrestrial wireless network is not available to the computer system of the first user for initiating the communication with the second user, the second user being different from the first user, displaying the portion of the user interface in a second appearance, the second appearance differing from the first appearance and including an indication that the communication with the second user, the second user being different from the first user, may be initiated via an alternative communications network other than the terrestrial wireless network.
2. The method of claim 1 , wherein the alternative communication network other than the terrestrial wireless network comprises a peer-to-peer communication network.
3. The method of claim 1 , wherein the first appearance includes one or more messages having a first color and the second appearance includes one or more messages having a second color different from the first color.
4. displaying, in the user interface, a representation of a map and / or a satellite view in accordance with the determination that a terrestrial wireless network is not available to the computer system for initiating the communication; The method of claim 1 further comprising:
5. The method of claim 1 , wherein the indication that the communication may be initiated over an alternative communication network other than the terrestrial wireless network includes an indication in the user interface at a fixed location for initiating the communication.
6. The user interface includes one or more representations of proposed recipients for the communication, and the method further comprises: displaying the one or more representations of proposed recipients for the communication in a first manner in accordance with a determination that a terrestrial wireless network is available to the computer system for initiating the communication; 10. The method of claim 1, further comprising: displaying the one or more representations of proposed recipients for the communication in a second manner different from the first manner in accordance with a determination that a terrestrial wireless network is not available to the computer system for initiating the communication.
7. The method of claim 6 , wherein the one or more representations of suggested recipients for the communication are based on a proximity to the computer system of remote computer systems associated with the suggested recipients for the communication.
8. 7. The method of claim 6, wherein the representation of one or more proposed recipients for the communication is based on a proximity to the computer system of a remote computer system associated with the proposed recipient for the communication and a determination that the proposed recipient is associated with the computer system.
9. 7. The method of claim 6, wherein the representation of one or more proposed recipients for the communication is based on a proximity to the computer system of a remote computer system associated with the proposed recipient for the communication and a determination that the proposed recipient is designated in association with the computer system.
10. 7. The method of claim 6, wherein the one or more representations of suggested recipients for the communication are based on a determination that the suggested recipient is associated with the computer system and a determination of how recently and / or frequently the suggested recipient has been in contact with the first user associated with the computer system.
11. Displaying the user interface for initiating the communication includes:
2. The method of claim 1, further comprising: displaying, in the user interface for initiating the communication, an indication of a number of computer systems that are accessible via the alternative communication network other than the terrestrial wireless network in accordance with a determination that a terrestrial wireless network is not available to the computer system for initiating the communication.
12. Displaying the user interface for initiating the communication includes: displaying a first set of representations of contactable entities in a first portion of the user interface for initiating the communication; 12. The method of claim 11, comprising: displaying a second set of representations of contactable entities that may be contacted via the alternative communication network in a second portion of the user interface for initiating the communication that is different from the first portion, the first set of representations of contactable entities being different from the second set of representations of contactable entities.
13. The computer system is in communication with one or more input devices, and the method comprises: detecting, via the one or more input devices, one or more inputs corresponding to a request to display one or more representations of contactable entities; displaying, in the user interface, one or more representations of the contactable entities in response to detecting the one or more inputs corresponding to a request to display one or more representations of the contactable entities; displaying a representation of an individual contactable entity in a first manner in accordance with a determination that a computer system associated with the individual contactable entity satisfies a proximity condition; 2. The method of claim 1, further comprising: displaying the representation of the individual contactable entity in a second manner different from the first manner in accordance with a determination that a computer system associated with the individual contactable entity does not satisfy the proximity condition.
14. The user interface includes one or more representations of potential recipients for the communication, including a first representation of a first potential recipient, and the method includes: displaying the first representation of the first potential recipient in a first color in accordance with a determination that a computer system associated with the first potential recipient is accessible via the alternative communications network; 2. The method of claim 1, further comprising: displaying the first representation of the first potential recipient in a second color, different from the first color, in accordance with a determination that a computer system associated with the first potential recipient is not accessible via the alternative communications network.
15. displaying, in the user interface, one or more representations of a prior conversation, an ordering of the one or more representations of the prior conversation based on accessibility of computer systems associated with participants of the prior conversation via the alternative communication network; The method of claim 1 further comprising:
16. displaying, in the user interface, one or more representations of a prior conversation, including a first representation of a first conversation and a second representation of a second conversation, wherein displaying the one or more representations of the prior conversation includes: displaying an indication that computer systems of one or more participants in the first conversation are accessible via the alternative communications network in accordance with determining that computer systems of one or more participants in the first conversation are accessible via the alternative communications network; displaying the first representation of the first conversation without the indication that computer systems of one or more participants in the first conversation are accessible via the alternative communications network in accordance with a determination that computer systems of one or more participants in the first conversation are not accessible via the alternative communications network; The method of claim 1 further comprising:
17. detecting one or more inputs corresponding to a request to transmit the communication; in response to detecting one or more inputs corresponding to a request to transmit the communication, attempting to transmit the communication over a terrestrial wireless network before attempting to transmit the communication over the alternative communication network; after attempting to transmit the communication over a terrestrial wireless network, attempting to transmit the communication over the alternate communications network in accordance with a determination that the attempt to transmit the communication over the terrestrial wireless network was unsuccessful; and The method of claim 1 further comprising:
18. 2. The method of claim 1, wherein the determination that a terrestrial wireless network is not available to the computer system for initiating the communication is made if the computer system is able to receive signals from a terrestrial wireless network but is unable to establish a communication link.
19. The method of claim 1 , wherein the computer system is automatically enabled to initiate the communication over the alternative communication network.
20. detecting a selection of an option to enable communication over the alternative communication network; in response to detecting a selection of an option to enable communication over the alternative communication network, enabling the computer system to communicate over the alternative communication network; The method of claim 1 further comprising:
21. detecting one or more inputs corresponding to a request to initiate said communication by telephone call; in response to detecting the one or more inputs corresponding to a request to initiate communication by a telephone call; initiating said communication over a telephone call in response to a determination that a terrestrial wireless network is available to said computer system for initiating said communication; displaying a user interface of a messaging application for initiating the communication via a message in accordance with a determination that a terrestrial wireless network is not available to the computer system for initiating the communication; The method of claim 1 further comprising:
22. Displaying the user interface includes: The method of claim 1 , further comprising displaying one or more options for selecting content for the communication in accordance with a determination that a terrestrial wireless network is not available to the computer system for initiating the communication.
23. displaying an indication that one or more communications have been requested to be transmitted but have not been transmitted in accordance with a determination that one or more communications have been requested to be transmitted but have not been transmitted; The method of claim 1 further comprising:
24. detecting, while displaying the indication that one or more communications have been requested to be transmitted but have not been transmitted, an input corresponding to a selection of the indication that one or more communications have been requested to be transmitted but have not been transmitted; in response to detecting an input corresponding to a selection of the indication that one or more communications have been requested to be sent but have not been sent, displaying a representation of the one or more communications that have been requested to be sent but have not been sent that is distinct from the indication that one or more communications have been requested to be sent but have not been sent; 24. The method of claim 23, further comprising:
25. A computer program causing a computer to carry out the method according to any one of claims 1 to 24.
26. 1. A computer system comprising: A memory storing the computer program according to claim 25; one or more processors capable of executing the computer programs stored in the memory; Equipped with The computer system is configured to communicate with a display generation component.
27. A computer system configured in communication with a display generation component, comprising: A computer system comprising means for carrying out the method according to any one of claims 1 to 24.
Citation Information
Patent Citations
Mobile communication terminal, map information providing server, and map display system
JP2013140164A
Communication apparatus, control method, and program
JP2021040276A
Communication apparatus, mobile communication terminal, communication system, and display method in communication apparatus
US20110228721A1
Techniques for communication using audio stickers
US20160277903A1
Instant Messaging for Mobile Device with offline and online mode
US20200304444A1