User interface for managing communications
By determining whether to initiate a non-terrestrial communication network connection based on preset standards in the computer system, the problem of complex and inefficient communication management interfaces in existing technologies is solved, achieving more efficient communication management and extended battery life.
Patent Information
- Application Number
- CN202510622132.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-02-05
- Filing Date
- 2025-05-13
- Publication Date
- 2025-11-14
AI Technical Summary
Existing technologies for managing communications use complex and inefficient user interfaces, resulting in wasted user time and device energy, especially in battery-powered devices.
A method and interface are provided to reduce redundant input by deciding whether to initiate a connection to a non-terrestrial communication network or prompt the user to connect when a computer system receives a communication request to an external device, based on preset standards, and prompting the user to confirm the communication in a specific mode of the receiving device.
It improves the efficiency of communication management and user satisfaction, reduces the cognitive burden on users, saves device power, and extends battery life.
Smart Images

Figure CN120956828A_ABST
Abstract
Description
[0001] This application is a divisional application of Chinese patent application No. 202510611381.5, filed on May 13, 2025, entitled "User Interface for Managing Communications".
[0002] Cross-references to related applications
[0003] This application claims priority to U.S. Provisional Patent Application No. 63 / 657,053, filed June 6, 2024, entitled “USER INTERFACES FOR MANAGING COMMUNICATIONS,” and U.S. Provisional Patent Application No. 63 / 646,783, filed May 13, 2024, entitled “USER INTERFACES FOR MANAGING COMMUNICATIONS,” the entire contents of each of which are hereby incorporated by reference. Technical Field
[0004] This disclosure relates generally to computer user interfaces, and more specifically to techniques for managing communications. Background Technology
[0005] Electronic computer systems provide means for communication, such as via text messaging and email. Summary of the Invention
[0006] However, some technologies used to manage communications with electronic devices are often cumbersome and inefficient. For example, some existing technologies use complex and time-consuming user interfaces that may involve multiple keystrokes or button presses. These technologies require more time than necessary, resulting in wasted user time and device power. This latter consideration is particularly important in battery-powered devices.
[0007] Therefore, the present invention provides electronic devices with faster and more efficient methods and interfaces for managing communications. Such methods and interfaces optionally complement or replace other methods for managing communications. These methods and interfaces reduce the cognitive burden on users and result in more efficient human-machine interfaces. For battery-powered computing devices, such methods and interfaces save power and increase the time interval between battery charging.
[0008] According to some implementations, a method is described. The method includes: at a computer system: when the computer system is operating in a first operating mode, receiving a request to communicate with an external device, wherein the computer system is configured to perform communication via a non-terrestrial communication network when operating in the first operating mode; and in response to receiving the request to communicate with the external device, wherein the external device is associated with a non-emergency number: initiating a process for communicating with the external device via the non-terrestrial communication network based on determining that a set of criteria is met; and prompting the user of the computer system to connect to the non-terrestrial communication network without initiating a process for communicating with the external device via the non-terrestrial communication network based on determining that the set of criteria is not met.
[0009] 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. The one or more programs include instructions for: receiving a request to communicate with an external device when the computer system is operating in a first operating mode, wherein the computer system is configured to perform communication via a non-terrestrial communication network when operating in the first operating mode; and in response to receiving the request to communicate with the external device, wherein the external device is associated with a non-emergency number: initiating a process for communicating with the external device via the non-terrestrial communication network based on determining that a set of criteria is met; and prompting the user of the computer system to connect to the non-terrestrial communication network without initiating a process for communicating with the external device via the non-terrestrial communication network based on determining that a set of criteria is not met.
[0010] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system. The one or more programs include instructions for: receiving a request to communicate with an external device when the computer system is operating in a first operating mode, wherein the computer system is configured to perform communication via a non-terrestrial communication network when operating in the first operating mode; and in response to receiving the request to communicate with the external device, wherein the external device is associated with a non-emergency number: initiating a process for communicating with the external device via the non-terrestrial communication network based on determining that a set of criteria is met; and prompting the user of the computer system to connect to the non-terrestrial communication network without initiating a process for communicating with the external device via the non-terrestrial communication network based on determining that a set of criteria is not met.
[0011] According to some embodiments, a computer system is described. The computer system includes one or more processors and a memory storing one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for: receiving a request to communicate with an external device when the computer system is operating in a first operating mode, wherein the computer system is configured to perform communication via a non-terrestrial communication network when operating in the first operating mode; and in response to receiving the request to communicate with the external device, wherein the external device is associated with a non-emergency number: initiating a process for communicating with the external device via the non-terrestrial communication network based on determining that a set of criteria is met; and prompting the user of the computer system to connect to the non-terrestrial communication network without initiating a process for communicating with the external device via the non-terrestrial communication network based on determining that a set of criteria is not met.
[0012] According to some embodiments, a computer system is described. The computer system includes: components for: receiving a request to communicate with an external device when the computer system is operating in a first operating mode, wherein the computer system is configured to perform communication via a non-terrestrial communication network when operating in the first operating mode; and components for: in response to receiving the request to communicate with the external device, wherein the external device is associated with a non-emergency number: initiating a process for communicating with the external device via the non-terrestrial communication network based on determining that a set of criteria is met; and prompting the user of the computer system to connect to the non-terrestrial communication network without initiating a process for communicating with the external device via the non-terrestrial communication network based on determining that a set of criteria is not met.
[0013] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system. The one or more programs include instructions for: receiving a request to communicate with an external device when the computer system is operating in a first operating mode, wherein the computer system is configured to perform communication via a non-terrestrial communication network when operating in the first operating mode; and in response to receiving the request to communicate with the external device, wherein the external device is associated with a non-emergency number: initiating a process for communicating with the external device via the non-terrestrial communication network based on determining that a set of criteria is met; and prompting the user of the computer system to connect to the non-terrestrial communication network without initiating a process for communicating with the external device via the non-terrestrial communication network based on determining that a set of criteria is not met.
[0014] According to some embodiments, a method is described. The method includes: at a computer system communicating with a display generation component and one or more input devices: when the computer system operates in a first operating mode, wherein the computer system is configured to communicate with an external device via a terrestrial communication network when operating in the first operating mode; displaying via the display generation component, based on determining that a set of communication criteria are met: a first optional user interface element, which, when selected via user input, causes the computer system to activate a second operating mode different from the first operating mode, wherein the computer system is configured to communicate with the external device via a non-terrestrial communication network when operating in the second operating mode; and a second optional user interface element, which, when selected via user input, causes the computer system to remain operating in the first operating mode; detecting a first user input via one or more input devices; and in response to detecting the first user input: based on determining that the first user input corresponds to the first optional user interface element: changing the operation of the computer system from the first operating mode to the second operating mode; and prompting a user of the computer system to position the computer system in a predetermined orientation; and based on determining that the first user input corresponds to the second optional user interface element, maintaining the computer system in the first operating mode.
[0015] According to some embodiments, a non-transitory computer-readable storage medium is described. This non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with display generation components and one or more input devices. The one or more programs include instructions for: when the computer system operates in a first operating mode, wherein the computer system is configured to communicate with external devices via a terrestrial communication network when operating in the first operating mode; displaying via a display generation component, based on determining that a set of communication criteria are met: a first optional user interface element, which, when selected via user input, causes the computer system to activate a second operating mode different from the first operating mode, wherein the computer system is configured to communicate with external devices via a non-terrestrial communication network when operating in the second operating mode; and a second optional user interface element, which, when selected via user input, causes the computer system to remain operating in the first operating mode; detecting first user input via one or more input devices; and in response to detecting the first user input: based on determining that the first user input corresponds to the first optional user interface element: changing the operation of the computer system from the first operating mode to the second operating mode; and prompting the user of the computer system to position the computer system in a predetermined orientation; and based on determining that the first user input corresponds to the second optional user interface element, maintaining the computer system in the first operating mode.
[0016] According to some embodiments, a transient computer-readable storage medium is described. This transient 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 display generation components and one or more input devices. The one or more programs include instructions for: when the computer system operates in a first operating mode, wherein the computer system is configured to communicate with external devices via a terrestrial communication network when operating in the first operating mode; displaying via a display generation component, based on determining that a set of communication criteria are met: a first optional user interface element, which, when selected via user input, causes the computer system to activate a second operating mode different from the first operating mode, wherein the computer system is configured to communicate with external devices via a non-terrestrial communication network when operating in the second operating mode; and a second optional user interface element, which, when selected via user input, causes the computer system to remain operating in the first operating mode; detecting first user input via one or more input devices; and in response to detecting the first user input: based on determining that the first user input corresponds to the first optional user interface element: changing the operation of the computer system from the first operating mode to the second operating mode; and prompting the user of the computer system to position the computer system in a predetermined orientation; and based on determining that the first user input corresponds to the second optional user interface element, maintaining the computer system in the first operating mode.
[0017] According to some embodiments, a computer system configured to communicate with a display generation component and one or more input devices is described. The computer system includes one or more processors and a memory storing one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for: when the computer system operates in a first operating mode, wherein the computer system is configured to communicate with external devices via a terrestrial communication network when operating in the first operating mode; displaying via a display generation component, based on determining that a set of communication criteria are met: a first optional user interface element, which, when selected via user input, causes the computer system to activate a second operating mode different from the first operating mode, wherein the computer system is configured to communicate with external devices via a non-terrestrial communication network when operating in the second operating mode; and a second optional user interface element, which, when selected via user input, causes the computer system to remain operating in the first operating mode; detecting first user input via one or more input devices; and in response to detecting the first user input: based on determining that the first user input corresponds to the first optional user interface element: changing the operation of the computer system from the first operating mode to the second operating mode; and prompting the user of the computer system to position the computer system in a predetermined orientation; and based on determining that the first user input corresponds to the second optional user interface element, maintaining the computer system in the first operating mode.
[0018] According to some implementation schemes, a computer system configured to communicate with a display generation component and one or more input devices is described. The computer system includes: components for: when the computer system operates in a first operating mode, wherein the computer system is configured to communicate with external devices via a terrestrial communication network when operating in the first operating mode; displaying via a display generation component: a first optional user interface element that, when selected via user input, causes the computer system to activate a second operating mode different from the first operating mode, wherein the computer system is configured to communicate with external devices via a non-terrestrial communication network when operating in the second operating mode; and a second optional user interface element that, when selected via user input, keeps the computer system operating in the first operating mode; components for: detecting first user input via one or more input devices; and components for: in response to detecting the first user input; changing the operation of the computer system from the first operating mode to the second operating mode based on determining that the first user input corresponds to the first optional user interface element; prompting the user of the computer system to position the computer system in a predetermined orientation; and maintaining the computer system operating in the first operating mode based on determining that the first user input corresponds to the second optional user interface element.
[0019] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with display generation components and one or more input devices. The one or more programs include instructions for: when the computer system operates in a first operating mode, wherein the computer system is configured to communicate with external devices via a terrestrial communication network when operating in the first operating mode; displaying via a display generation component, based on determining that a set of communication criteria are met: a first optional user interface element, which, when selected via user input, causes the computer system to activate a second operating mode different from the first operating mode, wherein the computer system is configured to communicate with external devices via a non-terrestrial communication network when operating in the second operating mode; and a second optional user interface element, which, when selected via user input, causes the computer system to remain operating in the first operating mode; detecting first user input via the one or more input devices; and in response to detecting the first user input: based on determining that the first user input corresponds to the first optional user interface element: changing the operation of the computer system from the first operating mode to the second operating mode; and prompting the user of the computer system to position the computer system in a predetermined orientation; and based on determining that the first user input corresponds to the second optional user interface element, maintaining the computer system in the first operating mode.
[0020] According to some implementations, a method is described. The method includes: at a computer system: in response to a request to transmit communication to an external device: based on determining that the external device is operating in a first operating mode, prompting a user of the computer system to provide input for acknowledging the transmission of communication to the external device via a first communication protocol; and based on determining that the external device is not operating in the first operating mode: abandoning prompting the user to provide user input for acknowledging the transmission of communication to the external device via the first communication protocol; and transmitting communication to the external device via a second communication protocol different from the first communication protocol.
[0021] According to some embodiments, a non-transitory computer-readable storage medium is described. This non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system. The one or more programs include instructions for: at the computer system: in response to a request to transmit communication to an external device: based on determining that the external device is operating in a first operating mode, prompting a user of the computer system to provide input to confirm the transmission of communication to the external device via a first communication protocol; and based on determining that the external device is not operating in the first operating mode: abandoning prompting the user to provide user input to confirm the transmission of communication to the external device via the first communication protocol; and transmitting communication to the external device via a second communication protocol different from the first communication protocol.
[0022] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system. The one or more programs include instructions for: at the computer system: in response to a request to transmit communication to an external device: based on determining that the external device is operating in a first operating mode, prompting a user of the computer system to provide input to confirm the transmission of communication to the external device via a first communication protocol; and based on determining that the external device is not operating in the first operating mode: abandoning prompting the user to provide user input to confirm the transmission of communication to the external device via the first communication protocol; and transmitting communication to the external device via a second communication protocol different from the first communication protocol.
[0023] According to some embodiments, a computer system is described. The computer system includes one or more processors and a memory storing one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for: at the computer system: in response to a request to transmit communication to an external device: based on determining that the external device is operating in a first operating mode, prompting a user of the computer system to provide input to confirm the transmission of communication to the external device via a first communication protocol; and based on determining that the external device is not operating in the first operating mode: abandoning prompting the user to provide user input to confirm the transmission of communication to the external device via the first communication protocol; and transmitting communication to the external device via a second communication protocol different from the first communication protocol.
[0024] According to some embodiments, a computer system is described. The computer system includes components for: at the computer system: in response to a request to transmit communication to an external device: based on determining that the external device is operating in a first operating mode, prompting the user of the computer system to provide input to confirm the transmission of communication to the external device via a first communication protocol; and based on determining that the external device is not operating in the first operating mode: abandoning the prompting of the user to provide user input to confirm the transmission of communication to the external device via the first communication protocol; and transmitting communication to the external device via a second communication protocol different from the first communication protocol.
[0025] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system. The one or more programs include instructions for: at the computer system: in response to a request to transmit communication to an external device: based on determining that the external device is operating in a first operating mode, prompting a user of the computer system to provide input to confirm the transmission of communication to the external device via a first communication protocol; and based on determining that the external device is not operating in the first operating mode: abandoning prompting the user to provide user input to confirm the transmission of communication to the external device via the first communication protocol; and transmitting communication to the external device via a second communication protocol different from the first communication protocol.
[0026] Executable instructions for performing these functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0027] Therefore, faster and more efficient methods and interfaces are provided for managing communications, thereby improving the efficiency, effectiveness, and user satisfaction of such devices. These methods and interfaces can complement or replace other methods used for managing communications. Attached Figure Description
[0028] To better understand the various embodiments described, reference should be made to the following detailed description in conjunction with the accompanying drawings, wherein similar reference numerals indicate corresponding parts in all the drawings.
[0029] Figure 1A This is a block diagram illustrating a portable multi-functional device with a touch-sensitive display according to some implementation schemes.
[0030] Figure 1B This is a block diagram illustrating exemplary components for event handling according to some implementation schemes.
[0031] Figure 2 Examples of portable multi-functional devices with touchscreens according to some implementation schemes are shown.
[0032] Figure 3A This is a block diagram of an exemplary multifunctional device having a display and a touch-sensitive surface according to some implementation schemes.
[0033] Figures 3B to 3G This example demonstrates how to perform an operation using an Application Programming Interface (API).
[0034] Figure 4A An exemplary user interface for a menu applied to a portable multi-functional device, according to some implementation schemes, is illustrated.
[0035] Figure 4B An exemplary user interface for a multifunctional device having a touch-sensitive surface separate from the display is illustrated according to some embodiments.
[0036] Figure 5A Examples of personal electronic devices according to some implementation schemes are shown.
[0037] Figure 5B This is a block diagram illustrating a personal electronic device according to some implementation schemes.
[0038] Figures 6A to 6AP An exemplary user interface for managing communications is illustrated according to some implementation schemes.
[0039] Figure 7 This is a flowchart illustrating a method for initiating communication via a non-terrestrial network according to some implementation schemes.
[0040] Figure 8 This is a flowchart illustrating a method for switching between operating modes according to some implementation schemes.
[0041] Figure 9 This is a flowchart illustrating a method for initiating communication according to some implementation schemes. Detailed Implementation
[0042] The following description illustrates exemplary methods, parameters, etc. However, it should be understood that this description is not intended to limit the scope of this disclosure, but is provided as a description of exemplary embodiments.
[0043] There is a need for electronic devices that provide efficient methods and interfaces for managing communications. For example, there is a need for electronic devices that initiate communication when connected to a non-terrestrial communication network and / or prompt the user to connect to a non-terrestrial communication network when not connected. There is also a need for electronic devices that prompt the user to switch between operating modes when a terrestrial communication network is unavailable. Furthermore, there is a need for electronic devices that prompt the user to confirm the transmission of communication when the receiving device is operating in a specific mode. Such technologies can reduce the cognitive burden on users communicating via computer systems, thereby improving productivity. In addition, such technologies can reduce processor power and battery power that would otherwise be wasted on redundant user input.
[0044] under Figures 1A to 1B , Figure 2 , Figures 3A to 3G , Figures 4A to 4B and Figures 5A to 5B A description of an exemplary device for performing management event notifications is provided. Figures 6A to 6AP An exemplary user interface for managing communications is shown. Figure 7 This is a flowchart illustrating a method for initiating communication via a non-terrestrial network according to some implementation schemes. Figure 8 This is a flowchart illustrating a method for switching between operating modes according to some implementation schemes. Figure 9 This is a flowchart illustrating a method for initiating communication according to some implementation schemes. Figure 6A Figure 6AP The user interface in the document is used to illustrate the processes described below, including Figures 7 to 9 The process in.
[0045] The processes described below enhance device operability and make the user-device interface more efficient through various technologies (e.g., by helping users provide appropriate input and reducing user errors when operating / interacting with the device), including providing improved visual feedback to users, reducing the amount of input required to perform operations, providing additional control options without cluttering the user interface with additional displayed controls, performing operations when a set of conditions are met without requiring further user input, and / or additional technologies. These technologies also reduce power consumption and extend device battery life by enabling users to use the device faster and more efficiently. Reducing the amount of input required to perform operations and providing clear feedback to users allows them to use the device more quickly and efficiently, which is especially important when terrestrial communication networks are unavailable for several reasons. Using the device effectively conserves battery life, which is important when terrestrial communication networks are unavailable because some communication features use satellite communication, which may consume a lot of energy (e.g., more energy than cellular communication), and also because opportunities to recharge the device may be limited (e.g., because the user is in a remote location where power is unavailable).
[0046] Furthermore, in methods described herein where one or more steps depend on the satisfaction of one or more conditions, it should be understood that the method may be repeated in multiple repetitions such that, during the repetitions, all conditions determining the steps in the method are satisfied in different repetitions of the method. For example, if the method requires performing a first step (if the condition is satisfied) and a second step (if the condition is not satisfied), those skilled in the art will know that the stated steps are repeated until both the conditions are satisfied and not satisfied (in no particular order). Thus, a method described as having one or more steps depending on the satisfaction of one or more conditions can be rewritten as a method that repeats until each of the conditions described in the method has been satisfied. However, this does not require the system or computer-readable medium to declare that the system or computer-readable medium contains instructions for performing discretionary operations based on the satisfaction of the corresponding one or more conditions, and thus to determine whether possible conditions have been satisfied without explicitly repeating the steps of the method until all conditions determining the steps in the method have been satisfied. Those skilled in the art will also understand that, similar to methods having discretionary steps, a system or computer-readable storage medium may repeat the steps of the method multiple times as needed to ensure that all discretionary steps have been performed.
[0047] Although the following description uses the terms "first," "second," etc., to describe various elements, these elements should not be limited by the terms. In some embodiments, these terms are used to distinguish one element from another. For example, a first touch may be referred to as a second touch, and similarly, a second touch may be referred to as a first touch, without departing from the scope of the various described embodiments. In some embodiments, a first touch and a second touch are two separate references to the same touch. In some embodiments, both a first touch and a second touch are touches, but they are not the same touch.
[0048] The terminology used in the description of the various described embodiments herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description of the various described embodiments and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and / or” as used herein refers to and covers any and all possible combinations of one or more of the associated listed items. It will also be understood that the terms “comprising” and / or “including” as used in this specification specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0049] Depending on the context, the term "if" may optionally be interpreted as meaning "when," "in response to," or "in response to detection." Similarly, depending on the context, the phrases "if it is determined..." or "if [the stated condition or event] is detected" may optionally be interpreted as meaning "in response to determining..." or "in response to detecting [the stated condition or event]."
[0050] Implementations of electronic devices, user interfaces for such devices, and associated processes for using such devices are described. In some implementations, the device is a portable communication device, such as a mobile phone, that also includes other functions such as PDA and / or music player functionality. Exemplary implementations of portable multi-functional devices include, but are not limited to, those from Apple Inc. (Cupertino, California). Devices, iPod Equipment and Device. Optionally, other portable electronic devices may be used, such as laptop or tablet computers with touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads). It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer with touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads). In some embodiments, the electronic device is a computer system that communicates (e.g., via wireless or wired communication) with a display generating component (e.g., a display device such as a head-mounted display (HMD), monitor, projector, touchscreen display; or other devices or components that present visual content to a user, such as visual content generated on or in or from the display generating component and visible elsewhere). The display generating component is configured to provide visual output, such as a display via a CRT monitor, a display via an LED monitor, or a display via image projection. In some embodiments, the display generating component is integrated with the computer system. In some embodiments, the display generating component is separate from the computer system. As used herein, “display” content includes content (e.g., video data rendered or decoded by display controller 156) that is visually generated by sending data (e.g., image data or video data) to an integrated or external display generating component via a wired or wireless connection.
[0051] In the following discussion, an electronic device including a display and a touch-sensitive surface is described. However, it should be understood that the electronic device may optionally include one or more other physical user interface devices, such as a physical keyboard, mouse, and / or joystick.
[0052] The device typically supports a variety of applications, such as one or more of the following: drawing applications, presentation applications, word processing applications, website creation applications, disk editing applications, spreadsheet applications, game applications, telephone applications, video conferencing applications, email applications, instant messaging applications, fitness 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.
[0053] Various applications running on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and the corresponding information displayed on the device are optionally adjusted and / or varied for different applications, and / or adjusted and / or varied within the respective applications. In this way, the device's common physical architecture (such as the touch-sensitive surface) optionally utilizes a user interface that is intuitive and clear to the user to support various applications.
[0054] Now let’s turn our attention to implementation schemes for portable devices with touch-sensitive displays. Figure 1A This is a block diagram illustrating a portable multi-functional device 100 with a touch-sensitive display system 112 according to some embodiments. The touch-sensitive display system 112 is sometimes referred to for convenience as a “touchscreen” or “touchscreen display,” and is sometimes simply called a “touchscreen display.” Device 100 includes a memory 102 (which optionally includes one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral interface 118, RF circuitry 108, audio circuitry 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input control devices 116, and an external port 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact strength sensors 165 for detecting the intensity of contact on device 100 (e.g., a touch-sensitive surface, such as the touch-sensitive display system 112 of device 100). Device 100 optionally includes one or more haptic output generators 167 for generating haptic output on device 100 (e.g., generating haptic output on a touch-sensitive surface such as the touch-sensitive display system 112 of device 100 or the touchpad 355 of device 300). These components optionally communicate via one or more communication buses or signal lines 103.
[0055] As used in this specification and claims, the term "intensity" of contact on a tactile surface refers to the force or pressure (force per unit area) of a contact (e.g., finger contact) on a tactile surface, or to a substitute (alternative) for the force or pressure of a contact on a tactile surface. The intensity of contact has a range of values that includes at least four different values and more typically hundreds of different values (e.g., at least 256). The intensity of contact is optionally determined (or measured) using various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the tactile surface are optionally used to measure the force at different points on the tactile surface. In some embodiments, force measurements from multiple force sensors are combined (e.g., weighted average) to determine the estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the tactile surface. Alternatively, the size and / or variation of the contact area detected on the touch-sensitive surface, the capacitance and / or variation of the touch-sensitive surface adjacent to the contact, and / or the resistance and / or variation of the touch-sensitive surface adjacent to the contact are optionally used as substitutes for the force or pressure of the contact on the touch-sensitive surface. In some embodiments, the substitute measurement of the contact force or pressure is used directly to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the substitute measurement). In some embodiments, the substitute measurement of the contact force or pressure is converted into an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of the contact as an attribute of user input allows the user to access additional device functions that would otherwise be inaccessible to the user on a smaller device with limited physical space, which is used (e.g., on a touch-sensitive display) to display an indication and / or receive user input (e.g., via a touch-sensitive display, a touch-sensitive surface, or physical / mechanical controls such as knobs or buttons).
[0056] As used in this specification and claims, the term "haptic output" refers to a physical displacement of the device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., the housing), or a displacement of a component relative to the center of mass of the device, which is detected by the user using the user's tactile sense. For example, when the device or a component of the device comes into contact with a touch-sensitive surface (e.g., a finger, palm, or other part of the user's hand), the haptic output generated by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in the physical characteristics of the device or a component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or touchpad) may optionally be interpreted by the user as a "press-click" or "release-click" on a physically actuated button. In some cases, the user will feel a tactile sensation, such as a "press-click" or "release-click," even when a physically actuated button associated with a touch-sensitive surface that has been physically pressed (e.g., displaced) by the user's movement does not move. As another example, even when the smoothness of the tactile surface remains unchanged, the movement of the tactile surface can optionally be interpreted or perceived by the user as the “roughness” of the tactile surface. While such interpretations of touch by users will be limited by the individualized sensory perceptions of the user, many sensory perceptions of touch are common to most users. Therefore, when a tactile output is described as corresponding to a specific sensory perception of the user (e.g., “release click,” “press click,” “roughness”), unless otherwise stated, the generated tactile output corresponds to a physical displacement of the device or its components that will generate the sensory perception described by a typical (or average) user.
[0057] It should be understood that device 100 is merely an example of a portable multifunctional device, and device 100 may optionally have more or fewer components than those shown, may optionally combine two or more components, or may optionally have different configurations or arrangements of these components. Figure 1A The various components shown are implemented in hardware, software, or a combination of both, including one or more signal processing and / or application-specific integrated circuits.
[0058] Memory 102 optionally includes high-speed random access memory, and also optionally includes non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Memory controller 122 optionally controls access to memory 102 by other components of device 100.
[0059] Peripheral interface 118 can be used to couple the device's input and output peripherals to CPU 120 and memory 102. The one or more processors 120 run or execute various software programs (such as computer programs (e.g., including instructions)) and / or instruction sets stored in memory 102 to perform various functions of device 100 and process data. In some embodiments, peripheral interface 118, CPU 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0060] RF (Radio Frequency) circuit 108 receives and transmits RF signals, also known as electromagnetic signals. RF circuit 108 converts electrical signals into electromagnetic signals and vice versa, and communicates with communication networks and other communication devices via these electromagnetic signals. RF circuit 108 optionally includes well-known circuitry for performing these functions, including but not limited to antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, codec chipsets, Subscriber Identity Module (SIM) cards, memory, etc. RF circuit 108 optionally communicates wirelessly with networks and other devices, such as the Internet (also known as the World Wide Web (WWW)), intranets, and / or wireless networks (such as cellular telephone networks, wireless local area networks (LANs), and / or metropolitan area networks (MANs)). RF circuit 108 optionally includes well-known circuitry for detecting near-field communication (NFC) fields, such as via short-range communication radio components. Wireless communication may optionally employ any of a variety of communication standards, protocols, and technologies, including but not limited to Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High-Speed Downlink Packet Access (HSDPA), High-Speed Uplink Packet Access (HSUPA), Evolution, Pure Data (EV-DO), HSPA, HSPA+, Dual-Unit HSPA (DC-HSPDA), Long Term Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), and Wi-Fi (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE...). 802.11n and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, email protocols (e.g., Internet Messaging Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence with Extended Utility (SIMPLE), Instant Messaging and Presence Service (IMPS)) and / or Short Message Service (SMS), or any other suitable communication protocol that has not been developed as of the date of this document submission.
[0061] Audio circuitry 110, speaker 111, and microphone 113 provide an audio interface between the user and device 100. Audio circuitry 110 receives audio data from peripheral interface 118, converts the audio data into electrical signals, and sends the electrical signals to speaker 111. Speaker 111 converts the electrical signals into sound waves that are audible to humans. Audio circuitry 110 also receives electrical signals converted from sound waves by microphone 113. Audio circuitry 110 converts the electrical signals into audio data and sends the audio data to peripheral interface 118 for processing. Audio data is optionally retrieved by peripheral interface 118 from and / or sent to memory 102 and / or RF circuitry 108. In some embodiments, audio circuitry 110 also includes a headset jack (e.g., ...). Figure 2 (212 in the text). The headset jack provides an interface between the audio circuitry 110 and a removable audio input / output peripheral device, such as an output-only headphone or a headset with both output (e.g., a single-ear or dual-ear headphone) and input (e.g., a microphone).
[0062] I / O subsystem 106 couples input / output peripherals on device 100, such as touchscreen 112 and other input control devices 116, to peripheral interface 118. I / O subsystem 106 optionally includes display controller 156, optical sensor controller 158, depth camera controller 169, intensity sensor controller 159, haptic feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive electrical signals from / transmit electrical signals to the other input control device 116. The other input control device 116 optionally includes physical buttons (e.g., push-buttons, rocker buttons, etc.), dials, slide switches, joysticks, click dials, etc. In some embodiments, input controller 160 is optionally coupled to (or not coupled to) any of the following: keyboard, infrared port, USB port, and pointing device such as mouse. One or more buttons (e.g., ... Figure 2 Optionally, 208) includes an increase / decrease button for volume control of speaker 111 and / or microphone 113. The one or more buttons optionally include a push-button (e.g., Figure 2(Ref. 206 in the original text). In some embodiments, the electronic device is a computer system that communicates with one or more input devices (e.g., via wireless communication or via wired communication). In some embodiments, the one or more input devices include a touch-sensitive surface (e.g., a touchpad, as part of a touch-sensitive display). In some embodiments, the one or more input devices include one or more camera sensors (e.g., one or more optical sensors 164 and / or one or more depth camera sensors 175), such as for tracking user gestures (e.g., hand gestures and / or air gestures) as input. In some embodiments, the one or more input devices are integrated with the computer system. In some embodiments, the one or more input devices are separate from the computer system. In some implementations, air gestures are gestures detected without the user touching an input element that is part of the device (or independently of an input element that is part of the device) and based on the detected movement of a part of the user's body through the air (including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of the user's fingers relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (e.g., a tapping gesture that includes the hand moving a predetermined amount and / or speed in a predetermined pose, or a shaking gesture that includes a predetermined speed or amount of rotation of a part of the user's body)).
[0063] A quick press of the push button optionally disengages the touchscreen 112 from its lock or optionally initiates a process of unlocking the device using gestures on the touchscreen, as described in U.S. Patent Application 11 / 322,549 (i.e., U.S. Patent No. 7,657,849), filed December 23, 2005, entitled "Unlocking a Device by Performing Gestures on an Unlock Image," the entire contents of which are incorporated herein by reference. A long press of the push button (e.g., 206) optionally powers the device 100 on or off. The function of one or more buttons is optionally user-customizable. The touchscreen 112 is used to implement virtual buttons or soft buttons and one or more soft keyboards.
[0064] The touch-sensitive display 112 provides input and output interfaces between the device and the user. The display controller 156 receives electrical signals from and / or transmits electrical signals to the touchscreen 112. The touchscreen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively, "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.
[0065] Touchscreen 112 has a touch-sensitive surface, sensor, or sensor array that accepts input from a user based on tactile and / or haptic contact. Touchscreen 112 and display controller 156 (along with any associated modules and / or instruction set in memory 102) detect contact on touchscreen 112 (and any movement or interruption of that contact) and translate the detected contact into interaction with user interface objects (e.g., one or more soft keys, icons, web pages, or images) displayed on touchscreen 112. In an exemplary embodiment, the contact point between touchscreen 112 and the user corresponds to the user's finger.
[0066] Touchscreen 112 optionally employs LCD (Liquid Crystal Display) technology, LPD (Light Emitting Polymer Display) technology, or LED (Light Emitting Diode) technology, but other display technologies are used in other embodiments. Touchscreen 112 and display controller 156 optionally employ any of a variety of touch sensing technologies now known or to be developed hereafter, along with other proximity sensor arrays or other elements for determining one or more points of contact with touchscreen 112, to detect contact and any movement or interruption thereof. These various touch sensing technologies include, but are not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as that from Apple Inc. (Cupertino, California). and iPod The technology used.
[0067] In some embodiments of the touchscreen 112, the touch-sensitive display optionally resembles a multi-touch touchpad described in the following U.S. patents: 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman et al.) and / or U.S. Patent Publication 2002 / 0015024A1, each of which is incorporated herein by reference in its entirety. However, the touchscreen 112 displays visual output from the device 100, while the touch-sensitive touchpad does not provide visual output.
[0068] The touch-sensitive display in some embodiments of the touchscreen 112 is described in the following applications: (1) U.S. Patent Application No. 11 / 381,313, filed May 2, 2006, “Multipoint Touch Surface Controller”; (2) U.S. Patent Application No. 10 / 840,862, filed May 6, 2004, “Multipoint Touchscreen”; (3) U.S. Patent Application No. 10 / 903,964, filed July 30, 2004, “Gestures For Touch Sensitive Input Devices”; (4) U.S. Patent Application No. 11 / 048,264, filed January 31, 2005, “Gestures For Touch Sensitive Input Devices”; and (5) U.S. Patent Application No. 11 / 038,590, filed January 18, 2005, “Mode-Based Graphical User Interfaces For Touch Sensitive Input”. (6) U.S. Patent Application No. 11 / 228,758, filed September 16, 2005, “Virtual Input Device Placement On A Touch Screen User Interface”; (7) U.S. Patent Application No. 11 / 228,700, filed September 16, 2005, “Operation Of A Computer With A Touch Screen Interface”; (8) U.S. Patent Application No. 11 / 228,737, filed September 16, 2005, “Activating Virtual Keys Of A Touch-Screen Virtual Keyboard”; and (9) U.S. Patent Application No. 11 / 367,749, filed March 3, 2006, “Multi-Functional Hand-Held Device”. The entire contents of all these applications are incorporated herein by reference.
[0069] Touchscreen 112 optionally has a video resolution exceeding 100 dpi. In some embodiments, the touchscreen has a video resolution of approximately 160 dpi. Users optionally use any suitable object or accessory such as a stylus, finger, etc., to interact with touchscreen 112. In some embodiments, the user interface is designed to operate primarily through finger-based touch and gestures, which may be less precise than stylus-based input due to the larger contact area of a finger on the touchscreen. In some embodiments, the device translates coarse finger-based input into precise pointer / cursor positioning or commands to perform the user-desired actions.
[0070] In some embodiments, in addition to the touchscreen, device 100 optionally includes a touchpad for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touchscreen, does not display visual output. Optionally, the touchpad is a touch-sensitive surface separate from the touchscreen 112, or an extension of the touch-sensitive surface formed by the touchscreen.
[0071] The device 100 also includes a power system 162 for supplying power to various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, a power fault detection circuit, a power converter or inverter, a power status indicator (e.g., light-emitting diodes (LEDs)), and any other components associated with the generation, management, and distribution of power in the portable device.
[0072] Device 100 optionally also includes a secure element 163 for securely storing information. In some embodiments, secure element 163 is a hardware component (e.g., a secure microcontroller chip) configured to securely store data or algorithms. In some embodiments, secure element 163 provides (e.g., publishes) security information (e.g., payment information (e.g., account number and / or transaction-specific dynamic security code), identification information (e.g., credentials for nationally approved digital identifiers), and / or authentication information (e.g., data generated using a cryptographic engine and / or by performing asymmetric cryptographic operations)). In some embodiments, secure element 163 provides (or publishes) security information in response to device 100 receiving authorization, such authorization being user authentication (e.g., fingerprint authentication; password authentication; detection of a double press of a hardware button when device 100 is in an unlocked state, and optionally when device 100 has remained on the user's wrist since being unlocked by providing authentication credentials to device 100), wherein the continued presence of device 100 on the user's wrist is determined by periodically checking the contact between the device and the user's skin. For example, device 100 detects a fingerprint at its fingerprint sensor (e.g., a fingerprint sensor integrated into a button). Device 100 determines whether the detected fingerprint matches a registered fingerprint. If the fingerprint matches a registered fingerprint, security element 163 provides (e.g., publishes) security information. If the fingerprint does not match a registered fingerprint, security element 163 abandons providing (e.g., publishing) security information.
[0073] The device 100 may optionally also include one or more optical sensors 164. Figure 1A An optical sensor 164 is shown coupled to an optical sensor controller 158 in the I / O subsystem 106. The optical sensor 164 optionally includes a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The optical sensor 164 receives light projected through one or more lenses from the environment and converts the light into data representing an image. In conjunction with an imaging module 143 (also called a camera module), the optical sensor 164 optionally captures still images or video. In some embodiments, the optical sensor is located on the rear of the device 100, facing away from a touchscreen display 112 on the front of the device, allowing the touchscreen display to be used as a viewfinder for still image and / or video image acquisition. In some embodiments, the optical sensor is located on the front of the device, allowing images of the user to be optionally acquired for video conferencing while the user views other video conferencing participants on the touchscreen display. In some embodiments, the positioning of the optical sensor 164 can be changed by the user (e.g., by rotating the lenses and sensors within the device housing), allowing a single optical sensor 164 to be used in conjunction with the touchscreen display for both video conferencing and still image and / or video image acquisition.
[0074] The device 100 optionally also includes one or more depth camera sensors 175. Figure 1A A depth camera sensor 175 is shown coupled to a depth camera controller 169 in I / O subsystem 106. The depth camera sensor 175 receives data from the environment to create a 3D model of an object (e.g., a face) within the scene from a viewpoint (e.g., the depth camera sensor). In some embodiments, in conjunction with an imaging module 143 (also referred to as a camera module), the depth camera sensor 175 is optionally used to determine depth maps of different portions of an image captured by the imaging module 143. In some embodiments, the depth camera sensor is located at the front of device 100, such that user images with depth information are optionally acquired for video conferencing while a user views other video conferencing participants on a touchscreen display, and selfies with depth map data are captured. In some embodiments, the depth camera sensor 175 is located at the rear of the device, or at both the rear and front of device 100. In some embodiments, the positioning of the depth camera sensor 175 can be changed by the user (e.g., by rotating a lens and sensor within the device housing), such that the depth camera sensor 175 is used in conjunction with a touchscreen display for both video conferencing and still image and / or video image acquisition.
[0075] The device 100 may optionally also include one or more contact strength sensors 165. Figure 1A A contact strength sensor is shown coupled to a strength sensor controller 159 in I / O subsystem 106. The contact strength sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electro-force sensors, piezoelectric sensors, optical force sensors, capacitive touch-sensitive surfaces, or other strength sensors (e.g., sensors for measuring the force (or pressure) of contact on a touch-sensitive surface). The contact strength sensor 165 receives contact strength information (e.g., pressure information or a substitute for pressure information) from the environment. In some embodiments, at least one contact strength sensor is arranged juxtaposed with or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact strength sensor is located on the rear of device 100, opposite to the touchscreen display 112 located on the front of device 100.
[0076] The device 100 optionally also includes one or more proximity sensors 166. Figure 1AA proximity sensor 166 coupled to a peripheral device interface 118 is shown. Alternatively, the proximity sensor 166 may optionally be coupled to an input controller 160 in an I / O subsystem 106. The proximity sensor 166 may optionally be configured as described in the following U.S. patent applications: 11 / 241,839, entitled "Proximity Detector In Handheld Device"; 11 / 240,788, entitled "Proximity Detector In Handheld Device"; 11 / 620,702, entitled "Using Ambient Light Sensor To Augment Proximity Sensor Output"; 11 / 586,862, entitled "Automated Response To And Sensing Of User Activity In Portable Devices"; and 11 / 638,251, entitled "Methods And Systems For Automatic Configuration Of Peripherals", the entire contents of which are incorporated herein by reference. In some implementations, the proximity sensor is turned off and the touchscreen 112 is disabled when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call).
[0077] The device 100 may optionally also include one or more tactile output generators 167. Figure 1A A haptic output generator coupled to a haptic feedback controller 161 in I / O subsystem 106 is shown. The haptic output generator 167 optionally includes one or more electroacoustic devices such as speakers or other audio components; and / or electromechanical devices for converting energy into linear motion such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other haptic output generating components (e.g., components for converting electrical signals into haptic outputs on the device). A contact intensity sensor 165 receives haptic feedback generation instructions from a haptic feedback module 133 and generates a haptic output on device 100 that can be felt by a user of device 100. In some embodiments, at least one haptic output generator is juxtaposed or adjacent to a haptic surface (e.g., haptic display system 112) and optionally generates the haptic output by moving the haptic surface vertically (e.g., in / outward from the surface of device 100) or laterally (e.g., backward and forward in the same plane as the surface of device 100). In some embodiments, at least one haptic output generator sensor is located on the rear of the device 100, opposite to the touch screen display 112 located on the front of the device 100.
[0078] The device 100 may optionally also include one or more accelerometers 168. Figure 1A An accelerometer 168 is shown coupled to a peripheral device interface 118. Alternatively, the accelerometer 168 may be coupled to an input controller 160 in an I / O subsystem 106. The accelerometer 168 may optionally be configured as described in the following U.S. Patent Publications: 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices" and 20060017692, entitled "Methods And Apparatuses For Operating A Portable DeviceBased On An Accelerometer," both of which are incorporated herein by reference in their entirety. In some embodiments, information is displayed on a touchscreen display in portrait or landscape view based on analysis of data received from one or more accelerometers. Device 100 may optionally include, in addition to the accelerometer 168, a magnetometer and a GPS (or GLONASS or other global navigation system) receiver for acquiring information about the location and orientation (e.g., portrait or landscape) of device 100.
[0079] In some embodiments, the software components stored in memory 102 include an operating system 126, a biometric module 109, a communication module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a Global Positioning System (GPS) module (or instruction set) 135, an authentication module 105, and an application (or instruction set) 136. Furthermore, in some embodiments, memory 102 ( Figure 1A ) or 370 ( Figure 3A Storage device / global internal state 157, such as Figure 1A and Figure 3A As shown in the figure. Device / global internal state 157 includes one or more of the following: active application state, which indicates which applications (if any) are currently active; display state, indicating what applications, views or other information occupy various areas of the touch screen display 112; sensor state, including information obtained from various sensors and input control devices 116 of the device; and position information relating to the device's position and / or orientation.
[0080] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or embedded operating systems such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
[0081] The communication module 128 facilitates communication with other devices via one or more external ports 124 and includes various software components for processing data received by the RF circuitry 108 and / or the external ports 124. The external ports 124 (e.g., Universal Serial Bus (USB), FireWire, etc.) are adapted to be directly coupled to other devices or indirectly coupled via a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external port is connected to… (Trademark of Apple Inc.) The same or similar and / or compatible multi-pin (e.g., 30-pin) connectors used in Apple Inc. devices.
[0082] The biometric module 109 optionally stores information about one or more registered biometric features (e.g., fingerprint features, facial recognition features, eye and / or iris features) for verifying whether received biometric information matches the registered biometric features. In some embodiments, the stored information about one or more registered biometric features includes data that enables comparison between the stored information and the received biometric information, but does not include sufficient information to reproduce the registered biometric features. In some embodiments, the biometric module 109 stores information about registered biometric features in association with a user account of device 100. In some embodiments, the biometric module 109 compares the received biometric information with the registered biometric features to determine whether the received biometric information matches the registered biometric features.
[0083] The contact / motion module 130 optionally detects contact with the touchscreen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., touchpads or physical click-based rotary dials). The contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether a contact has occurred (e.g., detecting a finger press event), determining the contact intensity (e.g., the force or pressure of the contact, or an alternative to force or pressure), determining whether there is movement of the contact and tracking movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger lift event or contact disengagement). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point optionally includes determining the rate (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point, the movement of which is represented by a series of contact data. These operations are optionally applied to single-point contact (e.g., single-finger contact) or multi-point simultaneous contact (e.g., "multi-touch" / multiple-finger contact). In some implementations, the contact / motion module 130 and the display controller 156 detect contact on the touchpad.
[0084] In some implementations, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an operation has been performed by the user (e.g., determining whether the user has “clicked” an icon). In some implementations, at least a subset of the intensity thresholds is determined based on software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a specific physical actuator and can be adjusted without changing the physical hardware of device 100). For example, the mouse “click” threshold of a touchpad or touchscreen can be set to any of a wide range of predefined thresholds without changing the touchpad or touchscreen display hardware. Additionally, in some specific implementations, the user of the device is provided with software settings for adjusting one or more intensity thresholds in a set (e.g., by adjusting the individual intensity thresholds and / or by adjusting multiple intensity thresholds at once using system-level clicks on the “intensity” parameter).
[0085] The touch / motion module 130 optionally detects gesture input performed by the user. Different gestures on a touch-sensitive surface have different contact patterns (e.g., different movements, timings, and / or intensities of the detected contact). Therefore, gestures are optionally detected by detecting specific contact patterns. For example, detecting a finger tap gesture includes detecting a finger press event, and then detecting a finger lift-off (lift-away) event at the same (or substantially the same) location as the finger press event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on a touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and subsequently detecting a finger lift-off (lift-away) event.
[0086] The graphics module 132 includes various known software components for rendering and displaying graphics on the touchscreen 112 or other displays, including components for altering the visual impact of the displayed graphics (e.g., brightness, transparency, saturation, contrast, or other visual properties). As used herein, the term "graphics" includes any object that can be displayed to a user, including but not limited to text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc.
[0087] In some implementations, the graphics module 132 stores data representing the graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes specifying the graphics to be displayed from applications, etc., along with coordinate data and other graphic attribute data if necessary, and then generates screen image data for output to the display controller 156.
[0088] The haptic feedback module 133 includes various software components for generating instructions which are used by the haptic output generator 167 to generate haptic output at one or more locations on the device 100 in response to user interaction with the device 100.
[0089] Optionally, the text input module 134, a component of the graphics module 132, provides a soft keyboard for entering text in various applications (e.g., the contact module 137, the email client module 140, the IM module 141, the browser module 147, and any other application that requires text input).
[0090] GPS module 135 determines the location of the device and provides that information for use in various applications (e.g., to telephone module 138 for use in location-based dialing; to camera module 143 as image / video metadata; and to applications that provide location-based services, such as weather widgets, local yellow pages widgets, and map / navigation widgets).
[0091] Authentication module 105 determines whether a requested operation (e.g., requested by an application in application 136) is authorized to be performed. In some embodiments, authentication module 105 receives an operation to be performed that optionally requires authentication. Authentication module 105 determines whether the operation is authorized to be performed based on a range of factors, including the locked state of device 100, the location of device 100, whether a security delay has occurred, whether the received biometric information matches a registered biometric feature, and / or other factors. Once authentication module 105 determines that the operation is authorized to be performed, authentication module 105 triggers the execution of the operation.
[0092] Application 136 optionally includes the following modules (or instruction sets) or subsets or supersets thereof:
[0093] Contacts module 137 (sometimes called address book or contact list);
[0094] Telephone module 138;
[0095] Video conferencing module 139;
[0096] Email client module 140;
[0097] Instant Messaging (IM) module 141;
[0098] Fitness support module 142;
[0099] Camera module 143 for still images and / or video images;
[0100] Image management module 144;
[0101] Video player module;
[0102] Music player module;
[0103] Browser module 147;
[0104] Calendar module 148;
[0105] Widget module 149 may optionally include one or more of the following: weather widget 149-1, stock market widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5 and other widgets acquired by the user, as well as user-created widgets 149-6.
[0106] Module 150 is used to create user-created widgets 149-6;
[0107] Search module 151;
[0108] Video and music player module 152, which combines a video player module and a music player module;
[0109] Notepad module 153;
[0110] Map module 154; and / or
[0111] Online video module 155.
[0112] Examples of other applications 136 that may be optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, rendering applications, Java-enabled applications, encryption, digital rights management, speech recognition, and speech duplication.
[0113] In conjunction with the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, the contact module 137 is optionally used to manage an address book or contact list (e.g., in the application internal state 192 of the contact module 137 stored in memory 102 or memory 370), including: adding one or more names to the address book; deleting names from the address book; associating phone numbers, email addresses, physical addresses, or other information with names; associating images with names; categorizing and classifying names; providing phone numbers or email addresses to initiate and / or facilitate communications via the telephone module 138, video conferencing module 139, email client module 140, or IM module 141; and so on.
[0114] Combining RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, telephone module 138 is optionally used to input character sequences corresponding to telephone numbers, access one or more telephone numbers in contact module 137, modify input telephone numbers, dial corresponding telephone numbers, initiate conversations, and disconnect or hang up when a conversation is completed. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.
[0115] Combining RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touchscreen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132, text input module 134, contact module 137, and telephone module 138, video conferencing module 139 includes executable instructions to initiate, conduct, and terminate video conferences between the user and one or more other participants based on user instructions.
[0116] Incorporating RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, email client module 140 includes executable instructions for creating, sending, receiving, and managing emails in response to user commands. Combined with image management module 144, email client module 140 makes it very easy to create and send emails containing still images or video images captured by camera module 143.
[0117] In conjunction with RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, instant messaging module 141 includes executable instructions for: entering a character sequence corresponding to an instant message, modifying previously entered characters, sending a corresponding instant message (e.g., using Short Message Service (SMS) or Multimedia Messaging Service (MMS) protocols for telephone-based instant messaging or using XMPP, SIMPLE, or IMPS for internet-based instant messaging), receiving an instant message, and viewing received instant messages. In some embodiments, the sent and / or received instant messages optionally include graphics, photographs, audio files, video files, and / or other attachments supported by MMS and / or Enhanced Messaging Services (EMS). As used herein, "instant message" means both telephone-based messages (e.g., messages delivered using SMS or MMS) and internet-based messages (e.g., messages delivered using XMPP, SIMPLE, or IMPS).
[0118] Incorporating RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music player module, fitness support module 142 includes executable instructions for creating fitness activities (e.g., with time, distance, and / or calorie burning goals); communicating with fitness sensors (executive devices); receiving fitness sensor data; calibrating sensors used to monitor fitness; selecting and playing music for fitness activities; and displaying, storing, and transmitting fitness data.
[0119] In conjunction with the touchscreen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132, and image management module 144, camera module 143 includes executable instructions for: capturing still images or videos (including video streams) and storing them in memory 102, modifying the characteristics of still images or videos, or deleting still images or videos from memory 102.
[0120] Incorporating the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and camera module 143, the image management module 144 includes executable instructions for arranging, modifying (e.g., editing) or otherwise manipulating, marking, deleting, presenting (e.g., in a digital slideshow or album), and storing still images and / or video images.
[0121] Combining RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, browser module 147 includes executable instructions for browsing the Internet according to user instructions, including searching, linking to, receiving, and displaying web pages or portions thereof, as well as links to attachments and other files on web pages.
[0122] Combining RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, email client module 140, and browser module 147, calendar module 148 includes executable instructions to create, display, modify, and store calendars and associated data (e.g., calendar entries, to-dos, etc.) according to user instructions.
[0123] In conjunction with RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and browser module 147, widget module 149 is optionally a micro-application downloaded and used by a user (e.g., weather widget 149-1, stock market widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5) or a user-created micro-application (e.g., user-created widget 149-6). In some embodiments, the widget includes HTML (Hypertext Markup Language) files, CSS (Cascading Style Sheets) files, and JavaScript files. In some embodiments, the widget includes XML (Extensible Markup Language) files and JavaScript files (e.g., Yahoo! widgets).
[0124] In conjunction with RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and browser module 147, widget creator module 150 can optionally be used by the user to create widgets (e.g., to convert user-specified portions of a webpage into widgets).
[0125] In conjunction with the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, the search module 151 includes executable instructions for searching the memory 102 for text, music, sound, images, videos, and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) according to user instructions.
[0126] Incorporating touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, video and music player module 152 includes executable instructions allowing users to download and play back recorded music and other sound files stored in one or more file formats such as MP3 or AAC files, as well as executable instructions for displaying, presenting, or otherwise playing back video (e.g., on touchscreen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player such as an iPod (a trademark of Apple Inc.).
[0127] Combining the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, the notepad module 153 includes executable instructions for creating and managing notes, to-do items, etc., according to user instructions.
[0128] Combining RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, map module 154 is optionally used to receive, display, modify, and store maps and map-related data (e.g., driving directions, data related to shops and other points of interest at or near a specific location, and other location-based data) according to user instructions.
[0129] Incorporating touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, email client module 140, and browser module 147, the online video module 155 includes instructions for: allowing users to access, browse, receive (e.g., via streaming and / or downloading), play back (e.g., on the touchscreen or on an external display connected via external port 124), send emails with links to specific online videos, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, an instant messaging module 141 is used instead of the email client module 140 to send links to specific online videos. Additional descriptions of the online video application can be found in U.S. Provisional Patent Application No. 60 / 936,562, filed June 20, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” and U.S. Patent Application No. 11 / 968,067, filed December 31, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” the contents of which are incorporated herein by reference in their entirety.
[0130] Each of the modules and applications described above corresponds to an executable set of instructions for performing one or more functions described above and the methods described in this patent application (e.g., computer-implemented methods and other information processing methods described herein). These modules (e.g., instruction sets) need not be implemented as separate software programs (such as computer programs (e.g., including instructions)), processes, or modules; therefore, various subsets of these modules may optionally be combined or otherwise rearranged in various embodiments. For example, a video player module may optionally be combined with a music player module into a single module (e.g., Figure 1A (e.g., video and music player module 152). In some embodiments, memory 102 optionally stores subgroups of the aforementioned modules and data structures. Additionally, memory 102 optionally stores other modules and data structures not described above.
[0131] In some implementations, device 100 is a device on which the operation of a predefined set of functions is solely performed via a touchscreen and / or touchpad. By using a touchscreen and / or touchpad as the primary input control device for operating device 100, the number of physical input control devices (e.g., push-buttons, dials, etc.) on device 100 is optionally reduced.
[0132] A predefined set of functions, uniquely performed via a touchscreen and / or touchpad, optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by a user, navigates device 100 from any user interface displayed on device 100 to the main menu, main desktop menu, or root menu. 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.
[0133] Figure 1B This is a block diagram illustrating exemplary components for event handling according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or memory 370 ( Figure 3A This includes an event classifier 170 (e.g., in operating system 126) and a corresponding application 136-1 (e.g., any one of the aforementioned applications 137 to 151, 155, 380 to 390).
[0134] Event classifier 170 receives event information and determines the application 136-1 and application view 191 of application 136-1 to which the event information should be delivered. Event classifier 170 includes event monitor 171 and event dispatcher module 174. In some embodiments, application 136-1 includes application internal state 192, which indicates one or more current application views displayed on touch-sensitive display 112 when the application is active or running. In some embodiments, device / global internal state 157 is used by event classifier 170 to determine which application(s) is currently active, and application internal state 192 is used by event classifier 170 to determine the application view 191 to which the event information should be delivered.
[0135] In some implementations, the application internal state 192 includes additional information such as one or more of the following: recovery information to be used when the application 136-1 resumes execution, user interface state information indicating that information is being displayed or ready to be displayed by the application 136-1, a state queue for enabling the user to return to the previous state or view of the application 136-1, and a repeat / undo queue for the user's previous actions.
[0136] Event monitor 171 receives event information from peripheral interface 118. The event information includes information about sub-events (e.g., user touches on touch-sensitive display 112 as part of a multi-touch gesture). Peripheral interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, one or more accelerometers 168, and / or microphone 113 (via audio circuitry 110). The information received by peripheral interface 118 from I / O subsystem 106 includes information from touch-sensitive display 112 or touch-sensitive surfaces.
[0137] In some implementations, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 sends event information. In other implementations, peripheral device interface 118 sends event information only when a significant event occurs (e.g., receiving input above a predetermined noise threshold and / or receiving input for a predetermined duration).
[0138] In some implementations, the event classifier 170 also includes a hit view determination module 172 and / or an activity event recognizer determination module 173.
[0139] When the touch-sensitive display 112 displays more than one view, the hit view determination module 172 provides a software process for determining where a sub-event has occurred within one or more views. A view consists of controls and other elements that the user can see on the display.
[0140] Another aspect of the user interface associated with an application is a set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application view (of the corresponding application) in which a touch is detected optionally corresponds to a procedural level within the application's procedural or view hierarchy. For example, the lowest-level view in which a touch is detected is optionally referred to as the hit view, and the set of events identified as correct input is optionally determined at least in part based on the hit view of the initial touch that initiates a touch-based gesture.
[0141] The hit view determination module 172 receives information related to sub-events of touch-based gestures. When an application has multiple views organized in a hierarchical structure, the hit view determination module 172 identifies the hit view as the lowest-level view in the hierarchical structure from which the sub-events should be processed. In most cases, the hit view is the lowest-level view in which the initiating sub-event (e.g., the first sub-event in a sequence of sub-events forming an event or potential event) occurs. Once the hit view is identified by the hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source to which it was identified as the hit view.
[0142] The activity event recognizer determination module 173 determines which views(s) within the view hierarchy should receive a specific sub-event sequence. In some embodiments, the activity event recognizer determination module 173 determines that only the hit view should receive the specific sub-event sequence. In other embodiments, the activity event recognizer determination module 173 determines that all views including the physical location of the sub-event are actively participating views, and therefore determines that all actively participating views should receive the specific sub-event sequence. In other embodiments, even if the touch sub-event is entirely confined to the area associated with a particular view, the higher-level views in the hierarchy will still remain actively participating views.
[0143] Event assigner module 174 assigns event information to event identifiers (e.g., event identifier 180). In embodiments that include active event identifier determination module 173, event assigner module 174 delivers event information to the event identifier determined by active event identifier determination module 173. In some embodiments, event assigner module 174 stores event information in an event queue, which is retrieved by the corresponding event receiver 182.
[0144] In some embodiments, operating system 126 includes event classifier 170. Alternatively, application 136-1 includes event classifier 170. In yet another embodiment, event classifier 170 is a standalone module or part of another module (such as contact / motion module 130) stored in memory 102.
[0145] In some implementations, application 136-1 includes a plurality of event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events occurring within a corresponding view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, a corresponding application view 191 includes a plurality of event recognizers 180. In other implementations, one or more of the event recognizers 180 are part of a separate module, such as a user interface toolkit or a higher-level object from which application 136-1 inherits methods and other properties. In some implementations, a corresponding event handler 190 includes one or more of the following: a data updater 176, an object updater 177, a GUI updater 178, and / or event data 179 received from an event classifier 170. Event handlers 190 optionally utilize or invoke the data updater 176, the object updater 177, or the GUI updater 178 to update the application's internal state 192. Alternatively, one or more application views in application view 191 include one or more corresponding event handlers 190. Additionally, in some embodiments, one or more of data updater 176, object updater 177, and GUI updater 178 are included in the corresponding application view 191.
[0146] The corresponding event identifier 180 receives event information (e.g., event data 179) from the event classifier 170 and identifies the event based on the event information. The event identifier 180 includes an event receiver 182 and an event comparator 184. In some embodiments, the event identifier 180 also includes at least one subset of metadata 183 and event delivery instructions 188 (which optionally include sub-event delivery instructions).
[0147] Event receiver 182 receives event information from event classifier 170. The event information includes information about sub-events, such as touch or touch movement. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves touch movement, the event information optionally also includes the speed and direction of the sub-event. In some embodiments, the event includes the device rotating from one orientation to another (e.g., from a longitudinal orientation to a lateral orientation, or vice versa), and the event information includes corresponding information about the device's current orientation (also referred to as device orientation).
[0148] Event comparator 184 compares event information with predefined event or sub-event definitions and determines the event or sub-event based on the comparison, or determines or updates the state of the event or sub-event. In some embodiments, event comparator 184 includes event definition 186. Event definition 186 contains definitions of events (e.g., predefined sequences of sub-events), such as event 1 (187-1), event 2 (187-2), and others. In some embodiments, sub-events in events (e.g., 187-1 and / or 187-2) include, for example, touch start, touch end, touch move, touch cancel, and multi-touch. In one example, event 1 (187-1) is defined as a double-click on a displayed object. For example, a double-click includes a first touch (touch start) of a predetermined duration on the displayed object, a first lift-off of a predetermined duration (touch end), a second touch (touch start) of a predetermined duration on the displayed object, and a second lift-off of a predetermined duration (touch end). In another example, event 2 (187-2) is defined as a drag on a displayed object. For example, dragging includes a touch (or contact) on the displayed object for a predetermined duration, movement of the touch on the touch-sensitive display 112, and lifting off the touch (end of touch). In some embodiments, the event also includes information for one or more associated event handlers 190.
[0149] In some implementations, event definition 186 includes definitions of events for corresponding user interface objects. In some implementations, event comparator 184 performs a hit test to determine which user interface object is associated with the sub-event. For example, in an application view displaying three user interface objects on touch-sensitive display 112, when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a corresponding event handler 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects the event handler associated with the sub-event and the object that triggered the hit test.
[0150] In some implementations, the definition of the corresponding event (187) also includes a delay action that delays the delivery of event information until it has been determined whether the sub-event sequence actually corresponds to or does not correspond to the event type of the event recognizer.
[0151] When the corresponding event recognizer 180 determines that the sub-event sequence does not match any event in event definition 186, the corresponding event recognizer 180 enters an event impossible, event failed, or event ended state, after which subsequent sub-events based on touch gestures are ignored. In this case, other event recognizers (if any) that remain active in the hit view continue to track and process the ongoing sub-events based on touch gestures.
[0152] In some embodiments, the corresponding event recognizer 180 includes metadata 183 having configurable attributes, flags, and / or lists instructing how the event delivery system should deliver sub-events to actively participating event recognizers. In some embodiments, the metadata 183 includes configurable attributes, flags, and / or lists instructing how or how event recognizers can interact with each other. In some embodiments, the metadata 183 includes configurable attributes, flags, and / or lists instructing whether sub-events are delivered to different levels in a view or programmatic hierarchy.
[0153] In some implementations, when one or more specific sub-events of an event are identified, the corresponding event recognizer 180 activates the event handler 190 associated with the event. In some implementations, the corresponding event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is different from sending (and delaying) the sub-events to the corresponding hit view. In some implementations, the event recognizer 180 throws a flag associated with the identified event, and the event handler 190 associated with the flag acquires the flag and performs a predefined process.
[0154] In some implementations, event delivery instruction 188 includes a sub-event delivery instruction that delivers event information about a sub-event without activating an event handler. Instead, the sub-event delivery instruction delivers the event information to an event handler associated with the sub-event sequence or to an actively participating view. The event handler associated with the sub-event sequence or the actively participating view receives the event information and performs a predetermined procedure.
[0155] In some implementations, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates phone numbers used in contact module 137 or stores video files used in video player module. In some implementations, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates new user interface objects or updates the positioning of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and transmits the display information to graphics module 132 for display on touch-sensitive display.
[0156] In some implementations, event handler 190 includes, or has access to, a data updater 176, an object updater 177, and a GUI updater 178. In some implementations, data updater 176, object updater 177, and GUI updater 178 are included in a single module of the corresponding application 136-1 or application view 191. In other implementations, they are included in two or more software modules.
[0157] It should be understood that the above discussion regarding event handling for user touch on a touch-sensitive display also applies to other forms of user input used to operate the multifunction device 100 using an input device, and not all user input is initiated on the touchscreen. For example, mouse movement and mouse button presses optionally in conjunction with single or multiple keyboard presses or holds; touch movements on the touchpad, such as taps, drags, scrolls, etc.; stylus input; device movement; verbal commands; detected eye movements; biometric input; and / or any combination thereof may optionally be used as input corresponding to sub-events that define the event to be identified.
[0158] Figure 2A portable multifunction device 100 with a touchscreen 112 is illustrated according to some embodiments. The touchscreen optionally displays one or more graphics within a user interface (UI) 200. In this embodiment and other embodiments described below, a user can select one or more graphics by gesturing over the graphics, for example, using one or more fingers 202 (not drawn to scale in the figure) or one or more styluses 203 (not drawn to scale in the figure). In some embodiments, selection of one or more graphics occurs when the user breaks contact with one or more graphics. In some embodiments, gestures optionally include one or more taps, one or more swipes (from left to right, from right to left, up and / or down), and / or scrolling (from right to left, from left to right, up and / or down) of a finger already in contact with the device 100. In some specific embodiments or in some cases, unintentional contact with a graphic does not select the graphic. For example, a swipe gesture over an application icon optionally does not select the corresponding application when the gesture corresponding to selection is a tap.
[0159] Device 100 optionally also includes one or more physical buttons, such as a "main desktop" or menu button 204. As previously described, menu button 204 is optionally used to navigate to any application 136 of a set of applications optionally executed on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on touchscreen 112.
[0160] In some embodiments, device 100 includes a touchscreen 112, a menu button 204, a push-button 206 for powering on / off and locking the device, one or more volume control buttons 208, a SIM card slot 210, a headset jack 212, and a docking / charging external port 124. The push-button 206 is optionally used to power on / off the device by pressing the button and holding it in the pressed state for a predefined time interval; to lock the device by pressing the button and releasing it before the predefined time interval has elapsed; and / or to unlock the device or initiate an unlocking process. In another embodiment, device 100 also accepts voice input via microphone 113 for activating or deactivating certain functions. Device 100 also optionally includes one or more contact strength sensors 165 for detecting the intensity of contact on the touchscreen 112, and / or one or more haptic output generators 167 for generating haptic outputs for a user of device 100.
[0161] Figure 3AThis is a block diagram of an exemplary multi-functional device with a display and a touch-sensitive surface according to some embodiments. Device 300 need not be portable. In some embodiments, device 300 is a laptop computer, desktop computer, tablet computer, multimedia player device, navigation device, educational device (such as a children's learning toy), gaming system, or control device (e.g., a home controller or industrial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses 320 for interconnecting these components. The communication bus 320 optionally includes circuitry (sometimes referred to as a chipset) that interconnects system components and controls communication between system components. Device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touchscreen display. The I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, and a haptic output generator 357 for generating haptic output on device 300 (e.g., similar to the reference above). Figure 1A The described tactile output generator 167) and sensor 359 (e.g., optical sensor, accelerometer, proximity sensor, touch sensor and / or contact intensity sensor (similar to the one described above)) Figure 1A The described contact strength sensor 165). Memory 370 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices; and optionally includes non-volatile memory, such as one or more disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 370 optionally includes one or more storage devices located remotely from CPU 310. In some embodiments, memory 370 stores information related to portable multifunction device 100. Figure 1A The memory 370 stores programs, modules, and data structures similar to those in the memory 102 of the portable multifunction device 100, or subsets thereof. Additionally, the memory 370 optionally stores additional programs, modules, and data structures not present in the memory 102 of the portable multifunction device 100. For example, the memory 370 of the device 300 optionally stores a drawing module 380, a rendering module 382, a word processing module 384, a website creation module 386, a disk editing module 388, and / or a spreadsheet module 390, while the portable multifunction device 100 (… Figure 1A The memory 102 may optionally not store these modules.
[0162] Figure 3AEach of the elements described above is optionally stored in one or more memory devices of the previously mentioned memory devices. Each module described above corresponds to a set of instructions for performing the functions described above. The modules or computer programs described above (e.g., instruction sets or including instructions) need not be implemented as separate software programs (such as computer programs (e.g., including instructions)), processes, or modules, and therefore various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores a subgroup of the modules and data structures described above. In addition, memory 370 optionally stores additional modules and data structures not described above.
[0163] Specific embodiments within the scope of this disclosure may be implemented, in whole or in part, using a tangible computer-readable storage medium (or a plurality of tangible computer-readable storage media of one or more types) that encodes one or more computer-readable instructions. It should be understood that computer-readable instructions may be organized in any format, including applications, widgets, processes, software, and / or components.
[0164] Specific embodiments within the scope of this disclosure include computer-readable storage media encoding instructions organized as an application (e.g., application 3160) that, when executed by one or more processing units, control the execution of an electronic device (e.g., device 3150). Figure 3B Methods Figure 3C The methods and / or one or more other processes and / or methods described herein.
[0165] It should be recognized that the application of 3160 ( Figure 3D The application 3160 (as shown in the diagram) can be any suitable type of application, including one or more of the following: browser applications, applications used as execution environments for plugins, widgets, or other applications, fitness applications, health applications, digital payment applications, media applications, social networking applications, messaging applications, and / or map applications. In some embodiments, application 3160 is an application pre-installed on device 3150 at the time of purchase (e.g., a first-party application). In some embodiments, application 3160 is an application provided to device 3150 via operating system update files (e.g., a first-party or second-party application). In some embodiments, application 3160 is an application provided via an app store. In some embodiments, the app store can be an app store pre-installed on device 3150 at the time of purchase (e.g., a first-party app store). In some embodiments, the app store is a third-party app store (e.g., an app store provided by another app store, downloaded via a network, and / or read from a storage device).
[0166] refer to Figure 3B and Figure 3FApplication 3160 obtains information (e.g., 3010). In some embodiments, at 3010, information is obtained from at least one hardware component of device 3150. In some embodiments, at 3010, information is obtained from at least one software module of device 3150. In some embodiments, at 3010, information is obtained from at least one hardware component external to device 3150 (e.g., peripheral devices, accessory devices, and / or servers). In some embodiments, the information obtained at 3010 includes location information, time information, notification information, user information, environmental information, electronic device status information, weather information, media information, historical information, event information, hardware information, and / or motion information. In some embodiments, in response to obtaining information at 3010 and / or thereafter, application 3160 provides the information to the system (e.g., 3020).
[0167] In some implementations, the system (e.g., Figure 3E The 3110 shown is the operating system hosted on the device 3150. In some implementations, the system (e.g., Figure 3E 3110 shown in the figure is an external device (e.g., a server, peripheral device, accessory and / or personal computing device) that includes an operating system.
[0168] refer to Figure 3C and Figure 3G Application 3160 obtains information (e.g., 3030). In some embodiments, the information obtained at 3030 includes location information, time information, notification information, user information, environmental information, electronic device status information, weather information, media information, historical information, event information, hardware information, and / or motion information. In response to obtaining information at 3030 and / or subsequently thereafter, application 3160 performs an operation using the information (e.g., 3040). In some embodiments, the operations performed at 3040 include: providing notifications based on the information, sending messages based on the information, displaying information, controlling the user interface of a fitness application based on the information, controlling the user interface of a health application based on the information, controlling focus modes based on the information, setting reminders based on the information, adding calendar entries based on the information, and / or calling the API of system 3110 based on the information.
[0169] In some implementations, execution is performed in response to a trigger. Figure 3B Methods and / or Figure 3C The method involves one or more steps. In some implementations, triggering includes event detection, notifications received from system 3110, user input, and / or responses to calls to APIs provided by system 3110.
[0170] In some implementations, when the instructions of application 3160 are executed, control device 3150 executes them by calling an application programming interface (API) (e.g., API 3190) provided by system 3110. Figure 3B Methods and / or Figure 3C The method. In some implementations, application 3160 executes without calling API 3190. Figure 3B Methods and / or Figure 3C At least a part of the method.
[0171] In some implementation schemes, Figure 3B Methods and / or Figure 3C One or more steps of the method involve calling the API (e.g., API 3190) using one or more parameters defined by the API. In some implementations, one or more parameters include constants, keys, data structures, objects, object classes, variables, data types, pointers, arrays, lists, or pointers to functions or methods and / or references to data or other items to be passed via the API in another way.
[0172] refer to Figure 3D Example 3150 is shown. In some embodiments, device 3150 is a personal computing device, smartphone, smartwatch, fitness tracker, head-mounted display (HMD) device, media device, public utility, speaker, television, and / or tablet computer. Figure 3D As illustrated, device 3150 includes application 3160 and operating system (e.g., Figure 3E System 3110 is shown in the diagram. Application 3160 includes application implementation module 3170 and API call module 3180. System 3110 includes API 3190 and implementation module 3100. It should be understood that device 3150, application 3160 and / or system 3110 may include... Figure 3D and Figure 3E The examples illustrate more, fewer, and / or different components.
[0173] In some implementations, application implementation module 3170 includes a set of one or more instructions corresponding to one or more operations performed by application 3160. For example, when application 3160 is a messaging application, application implementation module 3170 may include operations for receiving and sending messages. In some implementations, application implementation module 3170 communicates with API calling module 3180 via API 3190 (in... Figure 3E (As shown in the figure) communicates with system 3110.
[0174] In some implementations, API 3190 is a software module (e.g., a set of computer-readable instructions) that provides an interface that allows different modules (e.g., API calling module 3180) to access and / or use one or more functions, methods, procedures, data structures, classes, and / or other services provided by implementation module 3100 of system 3110. For example, API calling module 3180 can access features of implementation module 3100 through one or more API calls or references (e.g., embodied by function or method calls) exposed by API 3190 (e.g., software and / or hardware modules that can receive, respond to, and / or transmit API calls), and can pass data and / or control information via API calls or references using one or more parameters. In some implementations, API 3190 allows application 3160 to use services provided by a software development kit (SDK) library. In some implementations, application 3160 combines calls to functions or methods provided by the SDK library and API 3190, or uses data types or objects defined in the SDK library and provided by API 3190. In some implementations, API calling module 3180 makes API calls via API 3190 to access and use features of implementation module 3100 specified by API 3190. In such implementations, implementation module 3100 may return a value to API calling module 3180 via API 3190 in response to an API call. This value may report to application 3160 the capabilities or status of hardware components of device 3150, including those related to aspects such as input capabilities and status, output capabilities and status, processing capabilities, power status, storage capabilities and status, and / or communication capabilities. In some implementations, API 3190 is implemented in part by firmware, microcode, or other low-level logic executed in part on hardware components.
[0175] In some implementations, API 3190 allows the developer of API calling module 3180 (which may be a third-party developer) to utilize features provided by implementation module 3100. In such implementations, one or more API calling modules (e.g., including API calling module 3180) may exist that communicate with implementation module 3100. In some implementations, API 3190 allows multiple API calling modules written in different programming languages to communicate with implementation module 3100 (e.g., API 3190 may include features for translating calls and returns between implementation module 3100 and API calling module 3180), and API 3190 is implemented in a specific programming language. In some implementations, API calling module 3180 calls APIs from different providers, such as one set of APIs from an OS provider, another set of APIs from a plugin provider, and / or another set of APIs from another provider (e.g., a software library provider) or the creator of another set of APIs.
[0176] Examples of API 3190 may include one or more of the following: pairing API (e.g., for establishing a secure connection, such as with an accessory), device detection API (e.g., for locating nearby devices, such as media devices and / or smartphones), payment API, UIKit API (e.g., for generating user interfaces), location detection API, locator API, map API, health sensor API, sensor API, messaging API, push notification API, streaming API, collaboration API, video conferencing API, app store API, advertising service API, web browser API (e.g., WebKit API), transportation API, networking API, WiFi API, Bluetooth API, NFC API, UWB API, fitness API, smart home API, contact transfer API, photo API, camera API, and / or image processing API. In some implementations, a sensor API is an API for accessing data associated with sensors of device 3150. For example, a sensor API may provide access to raw sensor data. Alternatively, a sensor API may provide data derived (and / or generated) from raw sensor data. In some implementations, sensor data includes temperature data, image data, video data, audio data, heart rate data, IMU (Inertial Measurement Unit) data, LiDAR data, location data, GPS data, and / or camera data. In some implementations, the sensors include one or more of an accelerometer, temperature sensor, infrared sensor, optical sensor, heart rate sensor, barometer, gyroscope, proximity sensor, and / or biometric sensor.
[0177] In some embodiments, implementation module 3100 is a system (e.g., an operating system and / or server system) software module (e.g., a set of computer-readable instructions) configured to perform operations in response to receiving an API call via API 3190. In some embodiments, implementation module 3100 is configured to provide an API response (via API 3190) as a result of processing the API call. For example, implementation module 3100 and API call module 3180 can each be any of an operating system, library, device driver, API, application, or other module. It should be understood that implementation module 3100 and API call module 3180 can be the same or different types of modules. In some embodiments, implementation module 3100 is at least partially embodied in firmware, microcode, or hardware logic.
[0178] In some implementations, implementation module 3100 returns a value via API 3190 in response to an API call from API calling module 3180. Although API 3190 defines the syntax and results of the API call (e.g., how to reference the API call and what the API call can do), API 3190 may not reveal how implementation module 3100 performs the function specified by the API call. Various API calls are transmitted via one or more application programming interfaces between API calling module 3180 and implementation module 3100. Transmitting API calls may include issuing, initiating, referencing, calling, receiving, returning, and / or responding to function calls or messages. In other words, transmission may describe the actions of API calling module 3180 or implementation module 3100. In some implementations, function calls or other references to API 3190 transmit and / or receive one or more parameters via parameter lists or other structures.
[0179] In some implementations, implementation module 3100 provides more than one API, each API providing a different view or aspect of the functionality implemented by implementation module 3100. For example, one API of implementation module 3100 may provide a first set of functions and may be exposed to third-party developers, while another API of implementation module 3100 may be hidden (e.g., not exposed) and provide a subset of the first set of functions, and also provide another set of functions, such as test or debug functions not in the first set of functions. In some implementations, implementation module 3100 calls one or more other components via lower-level APIs, thus acting as both an API calling module and an implementation module. It should be recognized that implementation module 3100 may include additional functions, methods, classes, data structures, and / or other features not specified through API 3190 and not available to API calling module 3180. It should also be recognized that API calling module 3180 may be on the same system as implementation module 3100, or may be remotely located and accessed via a network using API 3190. In some implementations, implementation module 3100, API 3190, and / or API calling module 3180 are stored in a machine-readable medium, which includes any means for storing information in a machine-readable (e.g., computer or other data processing system) form. For example, a machine-readable medium may include a magnetic disk, optical disk, random access memory, read-only memory, and / or flash memory devices.
[0180] An Application Programming Interface (API) is an interface between a first software process and a second software process, specifying the format for communication between the two processes. Limited APIs (e.g., private or partner APIs) are APIs accessible to a limited set of software processes (e.g., only software processes within the operating system or only software processes authorized to access the limited API). Public APIs are accessible to a broader set of software processes. Some APIs enable a software process to communicate or set the state of one or more input devices (e.g., one or more touch sensors, proximity sensors, vision sensors, motion / or orientation sensors, pressure sensors, intensity sensors, sound sensors, wireless proximity sensors, biometric sensors, buttons, switches, rotatable elements, and / or external controllers). Some APIs enable a software process to communicate and / or set the state of one or more output generation components (e.g., one or more audio output generation components, one or more display generation components, and / or one or more haptic output generation components). Some APIs enable specific capabilities (e.g., scrolling, handwriting, text input, image editing, and / or image creation) to be accessed, executed, and / or used by a software process (e.g., generating output for use by the software process based on input from the software process). Some APIs enable content from software processes to be inserted into templates and displayed in user interfaces with layouts and / or behaviors specified by the templates.
[0181] Many software platforms include a set of frameworks that provide core objects and behaviors that software developers need to build software applications that can be used on the platform. Software developers use these objects to display content on a screen, interact with that content, and manage interactions with the software platform. The basic behavior of a software application depends on this framework, and this framework provides software developers with numerous ways to customize the application's behavior to match the specific needs of the application. Many of these core objects and behaviors are accessed via APIs. APIs typically specify the format for communication between software processes, including specifying and grouping available variables, functions, and protocols. API calls (sometimes called API requests) are typically passed from a sending software process to a receiving software process as a way to achieve one or more of the following: the sending software process requests information from the receiving software process (e.g., for the sending software process to take an action); the sending software process provides information to the receiving software process (e.g., for the receiving software process to take an action); the sending software process requests an action from the receiving software process; or the sending software process provides information to the receiving software process about the action taken by the sending software process. In some cases, interaction with a device (e.g., using a user interface) will involve transmitting and / or receiving one or more API calls (e.g., multiple API calls) between multiple different software processes (e.g., different parts of an operating system, applications and operating systems, or different applications) via one or more APIs (e.g., via multiple different APIs). For example, when input is detected, direct sensor data is frequently processed into one or more input events, which are provided (e.g., via an API) to a receiving software process, which makes some determinations based on the input events and then (e.g., via an API) transmits information to the software process to perform an operation (e.g., change the device state and / or the user interface) based on the determinations. While the determinations and the operations performed in response can be made by the same software process, alternatively, the determinations can be made in a first software process and relayed (e.g., via an API) to a second software process different from the first software process, allowing the operation to be performed by the second software process. Alternatively, the second software process can relay instructions (e.g., via an API) to a third software process different from the first and / or second software processes to perform the operation. It should be understood that some or all user interactions with a computer system may involve one or more API calls within the steps of interacting with the computer system (e.g., between different software components of the computer system or between software components of the computer system and software components of one or more remote computer systems).It should be understood that some or all user interactions with a computer system may involve one or more API calls between steps of interaction with the computer system (e.g., between different software components of the computer system or between software components of the computer system and software components of one or more remote computer systems).
[0182] In some implementations, the application can be any suitable type of application, including one or more of the following: browser applications, applications used as execution environments for plugins, widgets or other applications, fitness applications, health applications, digital payment applications, media applications, social networking applications, messaging applications and / or map applications.
[0183] In some embodiments, the application is an application pre-installed on the first computer system at the time of purchase (e.g., a first-party application). In some embodiments, the application is an application provided to the first computer system via operating system update files (e.g., a first-party application). In some embodiments, the application is an application provided via an app store. In some embodiments, the app store is pre-installed on the first computer system at the time of purchase (e.g., a first-party app store) and allows the download of one or more applications. In some embodiments, the app store is a third-party app store (e.g., an app store provided by another device, downloaded via a network, and / or read from a storage device). In some embodiments, the application is a third-party application (e.g., an application provided by an app store, downloaded via a network, and / or read from a storage device). In some embodiments, the application controls the first computer system to execute methods 700, 800, and / or 900 by calling an application programming interface (API) provided by a system process using one or more parameters. Figure 7 , Figure 8 and / or Figure 9 ).
[0184] In some implementations, exemplary APIs provided by system processes include one or more of the following: pairing API (e.g., for establishing a secure connection, such as with an accessory), device detection API (e.g., for locating nearby devices, such as media devices and / or smartphones), payment API, UIKit API (e.g., for generating user interfaces), location detection API, locator API, map API, health sensor API, sensor API, messaging API, push notification API, streaming API, collaboration API, video conferencing API, app store API, advertising service API, web browser API (e.g., WebKit API), transportation API, networking API, WiFi API, Bluetooth API, NFC API, UWB API, fitness API, smart home API, contact transfer API, photo API, camera API, and / or image processing API.
[0185] In some embodiments, at least one API is a software module (e.g., a set of computer-readable instructions) that provides an interface allowing different modules (e.g., API calling module 3180) to access and use one or more functions, methods, procedures, data structures, classes, and / or other services provided by an implementation module of a system process. The API may define one or more parameters passed between the API calling module and the implementation module. In some embodiments, API 3190 defines a first API call that can be provided by API calling module 3180. An implementation module is a system software module (e.g., a set of computer-readable instructions) configured to perform operations in response to receiving an API call via the API. In some embodiments, the implementation module is configured to provide an API response (via the API) as a result of processing the API call. In some embodiments, the implementation module is included in a device (e.g., 3150) running an application. In some embodiments, the implementation module is included in an electronic device separate from the device running the application.
[0186] Now let’s turn our attention to the implementation of the user interface, which is optionally implemented on, for example, a portable multifunction device 100.
[0187] Figure 4A An exemplary user interface for an application menu on a portable multifunction device 100 according to some embodiments is illustrated. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes elements or a subset or superset thereof:
[0188] Signal strength indicator 402 for wireless communications such as cellular signals and Wi-Fi signals;
[0189] Time 404;
[0190] Bluetooth indicator 405;
[0191] Battery status indicator 406;
[0192] Tray icon 408 with icons for frequently used applications, such as:
[0193] ○ The telephone module 138 has an icon 416 labeled "telephone", which optionally includes an indicator 414 indicating the number of missed calls or voicemail messages;
[0194] ○ An icon 418 labeled "Mail" in the email client module 140, which optionally includes an indicator 410 for the number of unread emails;
[0195] ○ The icon 420 labeled "Browser" in browser module 147; and
[0196] ○ The icon 422 labeled "iPod" for the video and music player module 152 (also known as the iPod (a trademark of Apple Inc.) module 152); and
[0197] Icons of other applications, such as:
[0198] ○The icon 424 of the IM module 141 marked as "Message";
[0199] ○The calendar module 148 has an icon 426 labeled "Calendar";
[0200] ○ The icon 428 of the image management module 144 is labeled "Photo".
[0201] ○ The icon 430 of camera module 143, which is labeled "camera";
[0202] ○ The icon 432 of the online video module 155, which is labeled "Online Video";
[0203] ○ The icon 434 labeled "Stock Market" in the Stock Market widget 149-2;
[0204] ○The icon 436 of the map module 154 that is labeled "map";
[0205] ○The weather widget 149-1 has icon 438 labeled "weather";
[0206] ○ The alarm clock widget 149-4 has an icon 440 labeled "clock";
[0207] ○ The icon 442 of the fitness support module 142 is labeled "fitness support";
[0208] ○ The icon 444 labeled "Notepad" in Notepad module 153; and
[0209] ○ Set an icon 446 labeled "Settings" for an application or module, which provides access to settings for device 100 and its various applications 136.
[0210] It should be pointed out that, Figure 4A The illustrated icon labels are merely exemplary. For example, icon 422 of video and music player module 152 is labeled "Music" or "Music Player". Other labels may be optionally used for various application icons. In some embodiments, the label of a particular application icon includes the name of the application corresponding to that particular application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to that particular application icon.
[0211] Figure 4B An example is illustrated having a touch-sensitive surface 451 (e.g., separate from the display 450 (e.g., touchscreen display 112)). Figure 3A Devices such as tablets or touchpads (e.g., 355) Figure 3A An exemplary user interface on the device 300. The device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of the sensors 359) for detecting the intensity of contact on the tactile surface 451 and / or one or more tactile output generators 357 for generating tactile outputs for the user of the device 300.
[0212] While some examples of inputs on a touchscreen display 112 (which combines a touch-sensitive surface and a display) are given below, in some implementations, the device detects inputs on a touch-sensitive surface separate from the display, such as... Figure 4B As shown in the diagram. In some embodiments, the touch-sensitive surface (e.g., Figure 4B 451) has a spindle (e.g., on the display (e.g., 450)). Figure 4B The spindle corresponding to 453 in the middle (e.g., Figure 4B (452 in the example). According to these embodiments, the device detects the position corresponding to the corresponding position on the display (e.g., in the example). Figure 4B In the middle, 460 corresponds to 468 and 462 corresponds to 470) is in contact with the touch-sensitive surface 451 (e.g., Figure 4B (460 and 462 in the text). Thus, when the touch-sensitive surface (e.g., ...) Figure 4B 451) and the display of a multi-functional device (e.g., Figure 4BWhen 450 is separated from the touch-sensitive surface, user input detected by the device on that touch-sensitive surface (e.g., touches 460 and 462 and their movement) is used by the device to manipulate the user interface on the display. It should be understood that similar methods may be optionally used for other user interfaces described herein.
[0213] Additionally, while the examples below are given primarily with reference to finger input (e.g., finger touch, single-finger tap gesture, finger swipe gesture), it should be understood that in some implementations, one or more of these finger inputs are replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of a touch), followed by movement of the cursor along the path of the swipe (e.g., instead of movement of the touch). As another example, a tap gesture is optionally replaced by a mouse click when the cursor is over the location of the tap gesture (e.g., instead of detection of touch, followed by cessation of touch detection). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are optionally used simultaneously, or mouse and finger touch are optionally used simultaneously.
[0214] Figure 5A An exemplary personal electronic device 500 is illustrated. Device 500 includes a body 502. In some embodiments, device 500 may include components relative to devices 100 and 300 (e.g., Figures 1A to 4B The device 500 may include some or all of the features described herein. In some embodiments, the device 500 has a touch-sensitive display 504, referred to below as a touchscreen 504. Alternatively, or in addition to the touchscreen 504, the device 500 may also have a display and a touch-sensitive surface. Similar to the cases of devices 100 and 300, in some embodiments, the touchscreen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors for detecting the intensity of an applied contact (e.g., a touch). The one or more intensity sensors of the touchscreen 504 (or touch-sensitive surface) may provide output data representing the intensity of the touch. The user interface of the device 500 may respond to touches based on the intensity of the touch, meaning that touches of different intensities may invoke different user interface operations on the device 500.
[0215] Exemplary techniques for detecting and processing touch intensity are found, for example, in the following related applications: International Patent Application Serial No. PCT / US2013 / 040061, filed May 8, 2013, entitled “Device, Method, and Graphical User Interface for Displaying UserInterface Objects Corresponding to an Application,” published as WIPO Publication No. WO / 2013 / 169849; and International Patent Application Serial No. PCT / US2013 / 069483, filed November 11, 2013, entitled “Device, Method, and Graphical User Interface for Transitioning Between TouchInput to Display Output Relationships,” published as WIPO Publication No. WO / 2014 / 105276, each of which is incorporated herein by reference in its entirety.
[0216] In some embodiments, device 500 has one or more input mechanisms 506 and 508. Input mechanisms 506 and 508 (if included) may be physical. Examples of physical input mechanisms include push-buttons and rotatable mechanisms. In some embodiments, device 500 has one or more attachment mechanisms. Such attachment mechanisms (if included) allow device 500 to be attached to, for example, hats, glasses, earrings, necklaces, shirts, jackets, bracelets, watch straps, bangles, trousers, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow a user to wear device 500.
[0217] Figure 5B An exemplary personal electronic device 500 is depicted. In some embodiments, device 500 may include information about... Figure 1A , Figure 1B and Figure 3ASome or all of the components described. Device 500 has a bus 512 that operatively couples I / O portion 514 to one or more computer processors 516 and memory 518. I / O portion 514 may be connected to display screen 504, which may have touch-sensitive component 522 and optionally have intensity sensor 524 (e.g., contact intensity sensor). Furthermore, I / O portion 514 may be connected to communication unit 530 for receiving application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular and / or other wireless communication technologies. Device 500 may include input mechanisms 506 and / or 508. For example, input mechanism 506 may optionally be a rotatable input device or a pressable input device and a rotatable input device. In some examples, input mechanism 508 may optionally be a button.
[0218] In some examples, the input mechanism 508 is optionally a microphone. The personal electronic device 500 optionally includes various sensors, such as a GPS sensor 532, an accelerometer 534, an orientation sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or combinations thereof, all of which are operatively connected to the I / O section 514.
[0219] The memory 518 of the personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by one or more computer processors 516, may cause the computer processors to perform the techniques described below, including processes 700, 800, and 900. Figures 7 to 9 A computer-readable storage medium can be any medium that can tangibly contain or store computer-executable instructions for use by or in connection with an instruction execution system, apparatus, or device. In some examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media can include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical discs based on CD, DVD, or Blu-ray technology, and persistent solid-state storage such as flash memory, solid-state drives, etc. Personal electronic devices are not limited to... Figure 5B It can be the components and configurations, or it can include other components or additional components in a variety of configurations.
[0220] As used herein, the term "power indication" refers optionally to the power indication in devices 100, 300, and / or 500 ( Figure 1A , Figure 3A and Figures 5A to 5BA user-interactive graphical user interface object displayed on a screen. For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) optionally each constitute a functional representation.
[0221] As used herein, the term "focus selector" refers to an input element used to indicate the current portion of a user interface with which a user is interacting. In some specific implementations that include a cursor or other position marker, the cursor acts as a "focus selector," such that when the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), the cursor is positioned on a touch-sensitive surface (e.g., a...). Figure 3A The touchpad 355 or Figure 4B When an input (e.g., a press input) is detected on the touch-sensitive surface 451 of the display, the specific user interface element is adjusted according to the detected input. This applies to touchscreen displays (e.g., those capable of direct interaction with user interface elements on a touchscreen display) that enable direct interaction with user interface elements on the touchscreen display. Figure 1A The touch-sensitive display system 112 or Figure 4A In some embodiments of the touchscreen 112, a touch detected on the touchscreen acts as a "focus selector," such that when input (e.g., a press input by touch) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touchscreen display, that particular user interface element is adjusted according to the detected input. In some embodiments, focus moves from one area of the user interface to another without corresponding movement of the cursor or movement of a touch on the touchscreen display (e.g., moving focus from one button to another using tab keys or arrow keys); in these embodiments, the focus selector moves according to the movement of focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is typically a user-controlled user interface element (or a touch on the touchscreen display) that delivers the user-expected interaction with the user interface (e.g., by indicating to the device the element of the user interface that the user expects to interact with). For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen), the position of the focus selector (e.g., a cursor, touch, or selection box) above the corresponding button will indicate to the user that they expect to activate the corresponding button (rather than other user interface elements shown on the device's display).
[0222] As used in the specification and claims, the term "characteristic intensity" of a contact refers to a characteristic of the contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples or a set of intensity samples collected over a predetermined time period (e.g., 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds) relative to a predefined event (e.g., after contact is detected, before contact is detected to be lifted away, before or after contact begins to move, before contact ends, before or after contact intensity is detected to increase and / or before or after contact intensity decreases). The characteristic intensity of the contact is optionally based on one or more of the following: the maximum value of the contact intensity, the mean value of the contact intensity, the average value of the contact intensity, the value at the top 10% of the contact intensity, the half maximum value of the contact intensity, the 90% maximum value of the contact intensity, etc. In some embodiments, the duration of the contact is used when determining the characteristic intensity (e.g., when the characteristic intensity is the average value of the contact intensity over time). In some implementations, the feature intensity is compared to a set of one or more intensity thresholds to determine whether the user has performed an action. For example, the set of one or more intensity thresholds may optionally include a first intensity threshold and a second intensity threshold. In this example, contact with a feature intensity not exceeding the first threshold results in a first action, contact with a feature intensity exceeding the first intensity threshold but not exceeding the second intensity threshold results in a second action, and contact with a feature intensity exceeding the second threshold results in a third action. In some implementations, a comparison between the feature intensity and one or more thresholds is used to determine whether one or more actions should be performed (e.g., whether to perform the corresponding action or abandon performing the corresponding action) rather than to determine whether to perform the first or second action.
[0223] In some implementations, the computer system is in a locked or unlocked state. In the locked state, the computer system is powered on and operable, but it is prevented from performing a predefined set of operations in response to user input. This predefined set of operations optionally includes navigation between user interfaces, activation or deactivation of a predefined set of functions, and activation or deactivation of certain applications. The locked state can be used to prevent unintentional or unauthorized use of a function of the computer system, or to activate or deactivate some functions on the computer system. In some implementations, in the unlocked state, the computer system is powered on and operable, and is not prevented from performing at least some of the predefined set of operations that cannot be performed when in the locked state. When the computer system is in a locked state, it is said that the computer system is locked. When the computer system is in an unlocked state, it is said that the computer is unlocked. In some implementations, a locked computer system optionally responds to a limited set of user inputs, including inputs corresponding to an attempt to unlock the computer system or inputs corresponding to shutting down the computer system.
[0224] Now let’s turn our attention to the implementation of user interfaces (“UIs”) and associated processes on electronic devices such as portable multifunction devices 100, 300 or 500.
[0225] Figures 6A to 6AP Exemplary user interfaces for managing communications are illustrated according to some implementation schemes. The user interfaces in these figures are used to illustrate the processes described below, including... Figures 7 to 9 The process in.
[0226] Figure 6A An example is shown where a computer system 600 displays a lock screen user interface 604 via a display 602. Figure 6A In the lock screen user interface, a first connection indicator 604a, a second connection indicator 604b, a battery indicator 604c, a date indicator 604d, a time indicator 604e, a flashlight user interface object 604f, and a camera user interface object 604g are included. The first connection indicator 604a provides a visual indication that the computer system 600 is connected to a WiFi communication network (e.g., a first terrestrial communication network) and / or otherwise communicates with a WiFi communication network. The second connection indicator 604b indicates that the computer system 600 is connected to a cellular network (e.g., a second terrestrial communication network) and / or otherwise communicates with a cellular network.
[0227] In some embodiments, the size and / or appearance of the first connection indicator 604a and / or the second connection indicator 604b indicate the strength of the connection between the computer system 600 and a corresponding communication network. For example, in some embodiments, when the computer system 600 has a relatively strong connection to a WiFi network, the first connection indicator 604a includes a first number of waveforms and / or symbols (e.g., displayed and / or filled waveforms and / or symbols). In some embodiments, when the computer system 600 has a relatively weak connection to a WiFi network, the first connection indicator 604a includes a second number of waveforms and / or symbols less than the first number. Similarly, in some embodiments, when the computer system 600 has a relatively strong connection to a cellular network, the second connection indicator 604b includes a first number of bars and / or symbols (e.g., displayed and / or filled bars and / or symbols). In some embodiments, when the computer system 600 has a relatively weak connection to a cellular network, the second connection indicator 604b includes a second number of bars and / or symbols less than the first number.
[0228] exist Figure 6B At this point, computer system 600 is disconnected from, not connected to, and / or not receiving signals from the WiFi and cellular networks. For example, the first connection indicator 604a is not displayed on the lock screen user interface 604, indicating that computer system 600 is not connected to the WiFi network. Figure 6B At this point, the second connection indicator 604b is displayed as four dashed lines on the lock screen user interface 604, indicating that the computer system 600 is not receiving a signal from the cellular network and / or is otherwise disconnected from the cellular network.
[0229] exist Figure 6B At the same time, the computer system 600 displays a notification 606 on the lock screen user interface 604 at least in part based on the computer system 600 being disconnected from, not connected to, and / or not receiving signals from the WiFi and cellular networks. In some embodiments, the computer system 600 displays the notification 606 when a set of criteria is met. In some embodiments, the set of criteria includes a first criterion met when the computer system 600 is not connected to the WiFi network, a second criterion met when the computer system 600 is not connected to, and / or not receiving signals from, the cellular network, and / or a third criterion met when the computer system 600 is receiving signals from the Global Positioning System (“GPS”).
[0230] exist Figure 6BIn the notification 606, the user is provided with the option to switch between a first operating mode and a second operating mode of the computer system 600. In some embodiments, the first operating mode includes a default and / or normal operating mode in which the computer system 600 initiates communications, such as telephone calls, text messages, emails, and / or data communications, via one or more terrestrial communication networks (e.g., WiFi and / or cellular communication networks). In some embodiments, the second operating mode is an operating mode in which the computer system 600 is configured to initiate communications via non-terrestrial communication networks, such as satellite communication networks. Figure 6B The notification 606 includes an information area 606a, a deactivation user interface object 606b, and an activation user interface object 606c. The information area 606a includes a text and / or graphical user interface object indicating that the computer system 600 cannot connect to WiFi and / or cellular communication networks, but the computer system 600 can initiate communication via non-terrestrial communication networks when the second operating mode is activated.
[0231] exist Figure 6B At this point, computer system 600 detects user input 650a corresponding to deselecting user interface object 606b. In response to detecting user input 650a, computer system 600 deselects and / or stops displaying notification 606 without changing the operation of computer system 600 from a first operating mode to a second operating mode. In some embodiments, after detecting user input 650a and deselecting notification 606 in response to detecting user input 650a, computer system 600 determines that the set of criteria is met a second time (e.g., the set of criteria is met again after a predetermined amount of time has elapsed since the user input 650a was detected). In some embodiments, in response to detecting that the set of criteria is met a second time, computer system 600 displays (e.g., redisplays) notification 606.
[0232] As a supplement to or alternative to detecting user input 650a, computer system 600 detects user input 650b corresponding to the active user interface object 606c. In response to detecting user input 650b, computer system 600 displays the active user interface 608, such as... Figure 6C As shown.
[0233] exist Figure 6CAt this location, the activated user interface 608 includes an initiating user interface object 608a and a functional area 610. As described below, in response to detecting user input corresponding to a selection on the initiating user interface object 608a (e.g., user input 650d), the computer system 600 switches from operating in a first operating mode to operating in a second operating mode. In some embodiments, when the computer system 600 is not connected to a WiFi network and is not receiving a signal from a cellular network and / or is otherwise disconnected from a cellular network, the computer system 600 cannot perform certain functions. Figure 6C In this location, functional area 610 includes information and / or user interface objects related to different functions that the computer system 600 is configured to perform when operating in a second operating mode. Figure 6C In this location, functional area 610 includes a first functional option 610a and a second functional option 610b, which correspond to respective functions that the computer system 600 is configured to perform when operating in a second operating mode. For example, the first functional option 610a corresponds to a messaging function (e.g., for sending and / or receiving text messages), and the second functional option 610b corresponds to a location function (e.g., for locating the computer system 600 and / or other computer systems associated with the same user or account associated with the computer system 600). In some embodiments, functional area 610 includes additional functional options. Figure 6C At this point, computer system 600 detects user input 650c on the active user interface 608. In response to detecting user input 650c, computer system 600 displays more active user interface 608, wherein the functional area 610 of active user interface 608 includes a third function option 610c and a fourth function option 610d, such as... Figure 6D As shown.
[0234] exist Figure 6D At this point, the third function option 610c corresponds to a roadside assistance function (e.g., for contacting and / or communicating with a roadside assistance provider), and the fourth function option 610d corresponds to an emergency assistance function (e.g., for contacting and / or communicating with an emergency service provider). In some embodiments, in response to detecting user input corresponding to one of function options 610a-610d, the computer system 600 initiates a second operating mode and / or launches an application associated with the corresponding function. The user interface 608 is activated to provide the user of the computer system 600 with additional information about the functions available when the computer system 600 is operating in the second operating mode.
[0235] exist Figure 6DAt this point, computer system 600 detects user input 650d corresponding to the selection of the user interface object 608a. In response to detecting user input 650d, computer system 600 initiates a process for activating a second operating mode and displays the connection user interface 612, such as... Figure 6E As shown.
[0236] exist Figure 6E At this point, the user interface 612 provides assistance and / or guidance to the user of the computer system 600 for connecting to satellites via non-terrestrial communication networks. As described above, the second operating mode of the computer system 600 enables the computer system 600 to initiate communication via non-terrestrial communication networks. Figure 6E In this context, non-terrestrial communication networks include satellite communication networks. In some embodiments, computer system 600 is configured to connect to a satellite when the computer system 600 is positioned in a specific orientation relative to the satellite of the satellite communication network. For example, in some embodiments, computer system 600 includes one or more antennas and / or communicates with said one or more antennas that enable computer system 600 to transmit information to and / or receive information from the satellite. In some embodiments, one or more antennas enable computer system 600 to initiate communication via the satellite communication network when aligned at a specific azimuth and / or elevation angle. As used herein, azimuth is the direction and / or rotation of computer system 600 relative to a reference point (such as the ground and / or a satellite). As used herein, elevation is the slope and / or angle by which computer system 600 faces (e.g., pointing upwards or downwards) relative to the reference point.
[0237] exist Figure 6EAt this location, the connection user interface 612 provides guidance to a user of the computer system 600 for positioning the computer system 600 at an orientation that enables the computer system 600 to establish a connection with satellites of a satellite communication network. The connection user interface 612 includes a map representation 614 and a prompt 612a. The map representation 614 includes a satellite representation 614a, a computer system representation 614b, and an alignment element 614c. The satellite representation 614a includes indications of the positions of satellites in the satellite communication network (e.g., relative to the position of the computer system 600 and / or a geographic reference point). The computer system representation 614b includes indications of the position of the computer system 600 relative to a geographic map, as represented by the map representation 614. The alignment element 614c includes indications of the area and / or zone in which the computer system 600 is configured to connect to satellites. For example, the computer system 600 is configured to connect to satellites in the satellite communication network when the computer system 600 is positioned at an orientation that displays the satellite representation 614a within the alignment element 614c. In some implementations, the computer system 600 updates, changes, and / or modifies the corresponding positions of the satellite representation 614a, computer system representation 614b, and / or alignment element 614c displayed on the connected user interface 612 based on changes in the orientation of the computer system 600.
[0238] exist Figure 6E At this location, satellite representation 614a is displayed outside alignment element 614c, preventing computer system 600 from connecting to satellites of the satellite communication network. Prompt 612a includes textual instructions and / or guidance for the user of computer system 600 to position computer system 600 in an orientation where satellite representation 614a is displayed within alignment element 614c. In some embodiments, prompt 612a includes text and / or symbols (e.g., arrows and / or other graphics) to prompt the user of computer system 600 to move computer system 600 to the left to align computer system 600 with satellites of the satellite communication network. As the user moves computer system 600, computer system 600 updates the display of the connection user interface 612 such that the relative positions of satellite representation 614a, computer system representation 614b, and / or alignment element 614c indicate the movement and / or current state of computer system 600.
[0239] exist Figure 6F At this location, computer system 600 determines and / or detects the orientation of computer system 600 relative to... Figure 6EThe orientation change of the computer system 600. In some embodiments, the computer system 600 determines and / or detects the orientation change based on the positional change of one or more antennas of the satellite that enables the computer system 600 to connect to the satellite communication network. In some embodiments, the computer system 600 determines and / or detects the orientation change based on received information that the computer system 600 has moved (e.g., information received from an accelerometer and / or gyroscope). In response to determining and / or detecting the orientation change of the computer system 600, the computer system 600 updates the display of the connection user interface 612, such as... Figure 6F As shown. In Figure 6F At this location, satellite indication 614a is displayed within alignment element 614c, indicating that computer system 600 is configured to initiate a connection with a satellite in a satellite communication network. Prompt 612a includes text prompting the user of computer system 600 to maintain the orientation of computer system 600 so that computer system 600 can establish a connection with the satellite. In some embodiments, computer system 600 initiates the establishment of a connection with the satellite by transmitting one or more communication signals to and / or receiving one or more communication signals from the satellite.
[0240] exist Figure 6G At this point, computer system 600 has established a connection with the satellite. Based on the confirmation that the connection with the satellite has been established, computer system 600 updates the connection user interface 612. Figure 6G At this location, the connection user interface 612 includes a signal indicator 614d (e.g., a shadow within the alignment element 614c) indicating that a connection between the computer system 600 and the satellite has been established and / or initiated. In some embodiments, the computer system 600 animates the signal indicator 614d such that its display moves over time, as indicated by arrow 616. In some embodiments, animates the signal indicator 614d including changing the color of a corresponding portion of the alignment element 614c over time, and changing the size of the corresponding portion of the alignment element 614c over time. In some embodiments, animates the signal indicator 614d including displaying the signal indicator 614d moving over time between the satellite representation 614a and the computer system representation 614b within the alignment element 614c.
[0241] Based on the determination that computer system 600 has established a connection with the satellite, computer system 600 displays a third connection indicator 617a to provide visual confirmation that the connection with the satellite has been established. Figure 6GAt this location, the third connection indicator 617a includes images, icons, symbols, and / or graphic representations of the satellite to indicate to the user of the computer system 600 that the computer system 600 is connected to a satellite communication network. The computer system 600 also displays a battery indicator 604b to indicate the current battery level and / or estimated remaining battery level of the computer system 600's battery. The computer system 600 also displays a time indicator 617b indicating the current time of day.
[0242] exist Figure 6G After the computer system 600 establishes a connection with the satellite, the computer system 600 displays functional user interface objects 618a-618d, which correspond to the above-mentioned references. Figure 6C and Figure 6D The aforementioned function options 610a-610b. Functional user interface objects 618a-618d are optional user interface objects that, when selected via user input, cause the computer system 600 to initiate a function corresponding to the selected functional user interface object. Therefore, after the computer system 600 establishes a connection with the satellite, the computer system 600 displays functional user interface objects 618a-618d, allowing the user to quickly perform the desired function without having to provide additional user input to navigate to another user interface.
[0243] exist Figure 6G At this point, functional user interface object 618a corresponds to a messaging function, wherein the computer system 600 is configured to transmit and / or receive message communications from one or more external devices via a satellite communication network. Functional user interface object 618b corresponds to a location function, wherein the computer system 600 is configured to provide location information of the computer system 600 to one or more external devices via a satellite communication network. Functional user interface object 618c corresponds to a roadside assistance function, which enables the computer system 600 to initiate procedures for communicating with service entities and / or services via a satellite communication network. Functional user interface object 618d corresponds to an emergency function, which enables the computer system 600 to initiate procedures for communicating with emergency entities and / or services via a satellite communication network.
[0244] exist Figure 6G At this point, computer system 600 detects user input 650e corresponding to a selection of a functional user interface object 618a corresponding to the messaging function. In response to detecting user input 650e, computer system 600 displays messaging user interface 620, such as... Figure 6H As shown.
[0245] exist Figure 6HIn this context, the messaging user interface 620 enables users of the computer system 600 to send and / or receive message communications via the computer system 600 connected to a satellite communication network. For example... Figure 6H As shown, computer system 600 displays a connection indicator 622 at a first area 624 of display 602. In some embodiments, the first area 624 of display 602 includes an area designated for displaying information about ongoing and / or active operations performed by computer system 600. In some embodiments, the first area 624 of display 602 includes a portion of display 602 between a time indicator 617b and a third connection indicator 617a. In some embodiments, computer system 600 adjusts and / or modifies the size of the first area 624 and / or the content displayed within the first area 624 based on context. For example, in some embodiments, in response to user input corresponding to a selection of the first area 624 and / or the content displayed within the first area 624, computer system 600 enlarges the first area 624 and / or the content displayed within the first area 624 to display additional information. In some implementations, based on determining that the signal strength between the computer system 600 and the satellite of the satellite communication network has dropped below a signal strength threshold and / or based on determining that the communication between the computer system 600 and the satellite has been disconnected, the computer system 600 zooms in on the first area 624 and / or displays the content within the first area 624 to display additional information.
[0246] exist Figure 6H At this location, the connection indicator 622 includes a signal indicator 622a and an orientation indicator 622b. The signal indicator 622a indicates the signal strength between the computer system 600 and the satellites of the satellite communication network. Figure 6H At this location, signal indicator 622a includes a first appearance, such as Figure 6H The first shadow indicates the location. As described below, based on the determination that the signal strength between the computer system 600 and the satellite has dropped below one or more signal strength thresholds, the computer system 600 updates and / or changes the appearance of the signal indicator 622a. The orientation indicator 622b provides visual guidance regarding the orientation of the computer system 600, which allows the computer system 600 to maintain, establish, and / or re-establish a connection with the satellite of the satellite communication network, including signal strengths above the signal strength thresholds. Figure 6HAt this location, the orientation indicator 622b includes an upward-pointing arrow (e.g., relative to the display orientation of the display 602), instructing the user of the computer system 600 to maintain the current position and / or orientation of the computer system 600. As described below, based on determining that a satellite of the satellite communication network has moved relative to the orientation of the computer system 600 and / or based on the signal strength between the computer system 600 and the satellite of the satellite communication network, the computer system 600 updates and / or adjusts the appearance of the orientation indicator 622b. Therefore, the orientation indicator 622b provides guidance to the user of the computer system 600 to maintain or update the orientation of the computer system 600, such that the connection between the computer system 600 and the satellite communication network is maintained and / or maintained above a signal strength threshold.
[0247] Although Figures 6A to 6H The computer system 600 is described as being able to switch from a first operating mode to a second operating mode based on detecting user input 650b corresponding to a notification 606 displayed on a lock screen user interface 604. However, the computer system 600 is also configured to switch to the second operating mode when displaying other user interfaces. For example, the computer system 600 may initiate connections and / or initiate the establishment of connections with satellite communication networks when displaying a user interface different from the lock screen user interface 604, as referenced above. Figures 6A to 6H As mentioned above. For example, in Figure 6I When the computer system 600 is connected to one or more terrestrial communication networks, the computer system 600 displays a messaging user interface 620. Figure 6I At this location, computer system 600 displays a first connection indicator 604a and a second connection indicator 604b. The first connection indicator 604a provides a visual indication that computer system 600 is connected to a WiFi communication network (e.g., a first terrestrial communication network) and / or otherwise communicates with a WiFi communication network. The second connection indicator 604b indicates that computer system 600 is connected to a cellular network (e.g., a second terrestrial communication network) and / or otherwise communicates with a cellular network.
[0248] exist Figure 6IWhen computer system 600 displays messaging user interface 620 and when computer system 600 is connected to a WiFi communication network and / or a cellular communication network, computer system 600 is configured to transmit and / or receive message communications between computer system 600 and one or more external devices via at least one of the WiFi communication network and / or cellular communication network. In some embodiments, computer system 600 is configured to transmit and / or receive group message communications when connected to a WiFi communication network and / or a cellular communication network. For example, in some embodiments, computer system 600 may transmit message communications (e.g., single message communications) to multiple different external devices and / or accounts when connected to a WiFi communication network and / or a cellular communication network. Figure 6I As shown, the message user interface object 620h corresponding to a group message session has the same appearance as message user interface objects 620a-620g and 620i that do not correspond to a group message session. Thus, when the computer system 600 operates in the corresponding operating mode, the computer system 600 provides a visual indication of which types of message communication are available. As described below, in some embodiments, the computer system 600 is not configured and / or cannot transmit group communication when connected to a non-terrestrial communication network such as a satellite communication network.
[0249] exist Figure 6J At this point, computer system 600 is disconnected from, not connected to, and / or not receiving signals from the WiFi and cellular networks. For example, the first connection indicator 604a is not displayed on the messaging user interface 620, indicating that computer system 600 is not connected to the WiFi network. Figure 6J At this point, the second connection indicator 604b is displayed as four dashed lines on the messaging user interface 620, indicating that the computer system 600 is not receiving a signal from the cellular network and / or is otherwise disconnected from the cellular network. Based on the determination that the computer system 600 is not connected to the WiFi communication network and the cellular communication network (and optionally, based on the determination that the computer system 600 is displaying the messaging user interface 620), the computer system 600 displays the connection user interface object 626, such as... Figure 6K As shown.
[0250] exist Figure 6KAt this location, the connection user interface object 626 overlays the messaging user interface 620 in the first area 624 of the display 602, but is displayed at a size larger than the connection indicator 622. The larger size of the connection user interface object 626 provides the user of the computer system 600 with improved feedback that the computer system 600 is not connected to the WiFi and cellular communication networks. The larger size of the connection user interface object 626 also allows the computer system 600 to display additional information and / or prompts to the user, enabling the user to perform one or more actions to connect the computer system 600 to a non-terrestrial communication network.
[0251] exist Figure 6K At this location, the connection user interface object 626 includes an information area 626a, an activation user interface object 626b, and a cancellation user interface object 626c. The information area 626a includes text and / or graphical user interface objects indicating that the computer system 600 cannot connect to WiFi and / or cellular communication networks, but the computer system 600 can initiate communication via non-terrestrial communication networks when the second operating mode is activated.
[0252] exist Figure 6K At this point, computer system 600 detects user input 650f corresponding to the selection of activating user interface object 626b. In response to detecting user input 650f, computer system 600 initiates a process for activating a second operating mode and displays the connection user interface object 628, such as... Figure 6L As shown.
[0253] exist Figure 6L At this point, the user interface object 628 provides assistance to the user of the computer system 600 for connecting to satellites via non-terrestrial communication networks. As described above, the second operating mode of the computer system 600 includes the computer system 600 initiating communication via a non-terrestrial communication network. As described above, the non-terrestrial communication network includes satellite communication networks.
[0254] exist Figure 6LAt this location, the connection user interface object 628 provides guidance to a user of the computer system 600 for positioning the computer system 600 at an orientation that enables the computer system 600 to establish a connection with satellites of a satellite communication network. The connection user interface object 628 includes a map representation 630 and a prompt 628a. The map representation 630 includes a satellite representation 630a, a computer system representation 630b, and an alignment element 630c. The satellite representation 630a includes indications of the positions of satellites in the satellite communication network. The computer system representation 630b includes indications of the position of the computer system 600 relative to a geographic map, as indicated by the map representation 630. The alignment element 630c includes indications of the area and / or zone where the computer system 600 is configured to connect to satellites. For example, the computer system 600 is configured to connect to satellites in the satellite communication network when the computer system 600 is positioned at an orientation that displays the satellite representation 630a within the alignment element 630c. In some implementations, the computer system 600 updates, changes, and / or modifies the corresponding positions of the satellite representation 630a, computer system representation 630b, and / or alignment element 630c displayed on the connected user interface object 628 based on changes in the orientation of the computer system 600.
[0255] exist Figure 6L At this location, satellite display 630a is shown outside alignment element 630c, preventing computer system 600 from connecting to satellites in the satellite communication network. Hint 628a includes textual instructions and / or guidance for the user of computer system 600 to position computer system 600 in an orientation that causes satellite display 630a to be shown within alignment element 630c. For example, as the user moves computer system 600, computer system 600 updates the display of the connected user interface object 628 such that the relative positions of satellite display 630a, computer system display 630b, and / or alignment element 630c indicate the movement and / or current state of computer system 600.
[0256] exist Figure 6M At this location, computer system 600 determines and / or detects the orientation of computer system 600 relative to... Figure 6L The orientation of the computer system 600 changes. In some embodiments, the computer system 600 determines and / or detects an orientation change based on a change in the position of one or more antennas of a satellite that enables the computer system 600 to connect to a satellite communication network. In some embodiments, the computer system 600 determines and / or detects an orientation change based on received information that the computer system 600 has moved (e.g., information received from an accelerometer and / or gyroscope). In response to determining and / or detecting an orientation change of the computer system 600, the computer system 600 updates the display of the connected user interface object 628, such as... Figure 6M As shown. In Figure 6M At this location, satellite indication 630a is displayed within alignment element 630c, indicating that computer system 600 is configured to initiate a connection with a satellite in a satellite communication network. Prompt 628a includes text prompting the user of computer system 600 to maintain the orientation of computer system 600 so that computer system 600 can establish a connection with the satellite. In some embodiments, computer system 600 initiates the establishment of a connection with the satellite by transmitting one or more communication signals to and / or receiving one or more communication signals from the satellite.
[0257] exist Figure 6N At this point, computer system 600 has established a connection with the satellite. Based on the confirmed connection with the satellite, computer system 600 updates the connection user interface object 628. Figure 6G At this location, the connection user interface object 628 includes a signal indicator 630d indicating that a connection between the computer system 600 and the satellite has been established and / or initiated. In some embodiments, the computer system 600 animates the signal indicator 630d such that its display moves over time. In some embodiments, animates the signal indicator 630d by changing the color of a corresponding portion of the alignment element 630c over time, and by changing the size of a corresponding portion of the alignment element 630c over time. In some embodiments, animates the signal indicator 630d by displaying the signal indicator 630d moving over time between the satellite representation 630a and the computer system representation 630b within the alignment element 630c.
[0258] In some implementations, based on the determination that the computer system 600 has established a connection with the satellite, the computer system 600 stops and / or removes the display of the connection user interface object 628 and displays the connection indicator 622, such as Figure 6O As shown. In some embodiments, the computer system 600 stops and / or removes the display of the connection user interface object 628 by collapsing and / or shrinking it, causing the connection user interface object 628 to transform and / or change into the display of the connection indicator 622. For example, in some embodiments, based on determining that the computer system 600 has established a connection with a satellite, the computer system 600 initiates an animation of the connection user interface object 628 shrinking and / or changing into the connection indicator 622.
[0259] exist Figure 6O At this point, the computer system 600 displays a third connection indicator 617a based on the determination that a connection has been established with the satellite. As described above, the third connection indicator 617a provides visual confirmation that a connection with the satellite has been established. Figure 6OAt this location, the third connection indicator 617a includes images, icons, symbols, and / or graphic representations of the satellite to indicate to the user of the computer system 600 that the computer system 600 is connected to a satellite communication network. The computer system 600 also displays a battery indicator 604c to indicate the current battery level and / or estimated remaining battery level of the computer system 600's battery. The computer system 600 also displays a time indicator 617b indicating the current time of day.
[0260] exist Figure 6O At this location, the connection indicator 622 includes a signal indicator 622a and an orientation indicator 622b. The signal indicator 622a indicates the signal strength between the computer system 600 and a satellite of the satellite communication network. As described below, based on a determination that the signal strength between the computer system 600 and the satellite has dropped below one or more threshold signal strength values, the computer system 600 updates and / or changes the appearance of the signal indicator 622a. The orientation indicator 622b provides visual guidance regarding the orientation of the computer system 600, allowing the computer system 600 to maintain and / or establish a connection with the satellite of the satellite communication network, including signal strengths above the signal strength threshold. Figure 6O At this location, the orientation indicator 622b includes an upward-pointing arrow (e.g., relative to the display orientation of the display 602) indicating to the user of the computer system 600 that the computer system 600 should maintain its position and / or orientation. As described below, the computer system 600 updates and / or adjusts the appearance of the orientation indicator 622b to provide guidance to the user of the computer system 600 on updating the orientation of the computer system 600.
[0261] exist Figure 6O At this point, after connecting to the satellite communication network, the computer system 600 displays the messaging user interface 620. For example... Figure 6O As shown, when with Figure 6HCompared to the messaging user interface shown, computer system 600 displays a messaging user interface object 620h with a different appearance. For example, messaging user interface object 620h includes a shadow, indicating that computer system 600 is not configured to send and / or receive group communications. As described below, messaging user interface object 620h corresponds to a group messaging session between computer system 600 and two or more different external devices and / or accounts (e.g., devices and / or accounts associated with “Carrie” and “Katie”). Because computer system 600 is connected to a satellite communication network, computer system 600 is not configured to send and / or receive group communications. Thus, computer system 600 displays messaging user interface object 620h with a different appearance to indicate to the user that such messages and / or communications are unavailable. In some embodiments, computer system 600 is configured to send and / or receive group communications when computer system 600 is connected to a satellite communication network. In some such embodiments, computer system 600 displays with Figure 6H The message user interface object 620h with the appearance shown.
[0262] In some implementations, computer system 600 is configured to transmit different types of messages and / or communications to a corresponding external device and / or account based on the amount of time elapsed since the computer system 600 last communicated with the corresponding external device and / or account (e.g., sending and / or receiving communications from the corresponding external device). In some implementations, computer system 600 transmits a first-type message when it last communicated with the corresponding external device within a threshold time period (e.g., within 10 days, 14 days, 21 days, or 30 days) and / or when the corresponding external device is configured to receive a first-type message (e.g., an encrypted message). In some implementations, when computer system 600 last communicated with the corresponding external device more than the threshold time period has elapsed, and regardless of whether the external device is configured to receive a first-type message, computer system 600 transmits a second-type message (e.g., an unencrypted message) that is different from the first-type message. In some embodiments, the computer system 600 displays message user interface objects 620a-620i with different appearances based on the amount of time elapsed since the computer system 600 last communicated with the external device corresponding to the message user interface objects 620a-620i. For example, in some embodiments, when the computer system 600 last communicated with the corresponding external device corresponding to one or more message user interface objects within a threshold amount of time, the computer system 600 displays one or more message user interface objects 620a-620i with a first appearance (e.g., a first color, a first shadow, a first shape, and / or a first size). In some embodiments, when the computer system 600 last communicated with the corresponding external device corresponding to one or more message user interface objects for more than a threshold amount of time, the computer system 600 displays one or more message user interface objects 620a-620i with a second appearance (e.g., a second color, a second shadow, a second shape, and / or a second size) different from the first appearance.
[0263] exist Figure 6O At this point, computer system 600 detects user input 650g corresponding to a selection of message user interface object 620a. In response to detecting user input 650g, computer system displays message session user interface 632a, such as... Figure 6P As shown.
[0264] exist Figures 6A to 6O At that point, computer system 600 is associated with user John, such as... Figures 6A to 6O The label at the location indicates "JOHN's Telephone". Figure 6PExamples are shown for computer system 600 associated with user John and computer system 634 labeled "JANE's Phone" associated with user Jane. Computer system 600 displays a messaging session user interface 632a, and computer system 634 displays a corresponding messaging session user interface 634b. Figure 6P At this point, computer system 600 displays a first notification 636a, instructing computer system 600 to operate in a second operating mode (e.g., computer system 600 is configured to transmit and / or receive communications via a satellite communication network). Computer system 600 also displays a second notification 636b, instructing computer system 600 to refrain from displaying and / or outputting notifications related to received communications when operating in the second operating mode. In some embodiments, computer system 600 refrains from displaying and / or outputting notifications related to received and / or incoming communications when operating in the second operating mode to conserve power. For example, in some embodiments, computer system 600 operates in the second operating mode when it is located in an area where cellular communication networks are unavailable. Therefore, to conserve power used to initiate communications via the satellite communication network, computer system 600 refrains from outputting notifications corresponding to received and / or incoming communications.
[0265] In some embodiments, computer system 600 and / or computer system 634 display different types of indications and / or notifications based on the operating mode of computer system 600. In some embodiments, the type of indications and / or notifications displayed by computer system 600 and / or computer system 634 is based on the type of communication that computer system 634 is configured to receive. In some embodiments, computer system 634 is configured to receive a first type of message (e.g., encrypted messages and / or secure messages) from computer system 600. In some such embodiments, computer system 634 is configured to transmit communication to computer system 600 when computer system 600 is operating in a second operating mode before receiving communication from computer system 600. In some embodiments, computer system 634 is not configured to receive first type of messages (e.g., encrypted messages and / or secure messages) from computer system 600. In some such embodiments, computer system 634 is configured to transmit communication to computer system 600 only after receiving communication from computer system 600 (e.g., within a threshold time amount after receiving communication from computer system 600).
[0266] exist Figure 6P At this point, computer system 634 is configured to receive messages of the first type from computer system 600. Figure 6PAt this point, computer system 634 displays a notification 636c instructing computer system 600 to operate in a second operating mode. Computer system 634 displays notification 636c so that a user of computer system 634 receives notification that computer system 600 is operating in the second operating mode and can determine whether to approve the transmission of messages to computer system 600. In some embodiments, computer system 634 displays notification 636c based on determining that the user of computer system 634 is a designated contact of computer system 600 (e.g., a contact designated by the user of computer system 634, a top contact, and / or a preferred contact). In some embodiments, when computer system 634 determines that the user of computer system 634 is not a designated contact of computer system 634, computer system 600 waives the display of notification 634c. In some embodiments, when computer system 634 determines that the user of computer system 634 is not a designated contact of computer system 634, computer system 634 displays notification 634c after computer system 600 transmits communication to computer system 600. In some implementations, computer system 634 abandons and / or does not display notification 634c based on determining that computer system 600 is operating in a first operating mode. In some implementations, computer system 634 changes from not displaying notification 634c to displaying notification 634c based on determining that computer system 600 has changed from operating in the first operating mode to operating in a second operating mode.
[0267] Furthermore, computer system 634 displays notification 636d, instructing computer system 600 not to output and / or display notifications corresponding to received and / or incoming communications. Therefore, the user of computer system 634 may receive notifications that the user of computer system 600 may not be aware of received messages and / or responses from the user of computer system 600 may be delayed.
[0268] exist Figure 6PAt the location, computer system 600 detects one or more user inputs 650h corresponding to the keyboard 638a of the messaging session user interface 632a. In some embodiments, in response to the detection of one or more user inputs 650h, computer system 600 displays one or more characters (e.g., alphanumeric characters and / or symbols) in the writing area 638b of the messaging session user interface 632a. Therefore, the user of computer system 600 can edit and / or modify draft messages before transmitting communication to an external device such as computer system 634. After detecting one or more user inputs 650h, computer system 600 detects user input 650i corresponding to the delivery user interface object 638c of the messaging session user interface 632a. In response to the detection of user input 650i, computer system 600 initiates a process for transmitting a message to computer system 634. In some embodiments, computer system 600 initiates a process for transmitting a message to computer system 634 by transmitting data and / or information to a satellite of a satellite communication network. In some implementations, the satellite then transmits message-related data and / or information directly and / or indirectly via components of a terrestrial communication network to computer system 634.
[0269] exist Figure 6Q In response to detecting user input 650i, computer system 600 displays message 640a corresponding to the message transmitted by computer system 600. Computer system 600 also displays indication 638d indicating that the message has been delivered. In some embodiments, computer system 600 displays indication 638d based on determining that a satellite of the satellite communication network has received data and / or information transmitted by computer system 600. For example, in some embodiments, computer system 600 receives and / or transmits an acknowledgment signal from the satellite to confirm that the satellite has received data and / or information transmitted by computer system 600. In some embodiments, computer system 600 displays indication 638d based on determining that computer system 634 has received a message. In some embodiments, the satellite receives confirmation that computer system 634 has received the message and / or that the message has been delivered to computer system 634, and the satellite transmits an acknowledgment signal and / or sends it to computer system 600.
[0270] exist Figure 6Q At this point, computer system 634 displays message 640b corresponding to the message transmitted by computer system 600 and received at computer system 634. Figure 6QAn external device 642 associated with a user of computer system 634 (e.g., Jane, as indicated by the label "JANE's Watch") is also illustrated. In some embodiments, external device 642 communicates with (e.g., pairs with) computer system 634, such that computer system 634 and external device 642 transfer data and / or information between each other. External device 642 displays a messaging session user interface 632c, which corresponds to a messaging session user interface 632b displayed at computer system 634. Message session user interface 632c includes a message 640c corresponding to a message transmitted by computer system 600. Thus, computer system 634 transmits data and / or information to external device 642, such that external device 642 can display message 640c and the user of computer system 634 and external device 642 can view the message on one or both devices.
[0271] As described above, computer system 600 updates connection indicator 622 based on the orientation of computer system 600 (e.g., relative to a satellite of the satellite communication network), the signal strength between computer system 600 and the satellite communication network, and / or the availability of one or more satellites of the satellite communication network. Figure 6R At this point, computer system 600 (e.g., "JOHN's phone call") displays a message session user interface 644a corresponding to a message session with a user different from the user of computer system 634. Message session user interface 644a corresponds to a message session with a user (e.g., Jim) associated with computer system 646, which is different from computer system 634. Figure 6R As shown, computer system 646 is labeled "JIM's Telephone" to indicate that computer system 646 is associated with user Jim. As described below, computer system 646 is not configured to receive first-type messages (e.g., encrypted messages and / or security messages). Figure 6R At this point, computer system 646 displays a message session user interface 644b, which corresponds to a message session with a user (e.g., John) of computer system 600. However, computer system 646 does not display notifications 636c and / or 636d on message session user interface 644b because computer system 646 is not configured to receive first type messages. In some embodiments, computer system 646 is not configured and / or cannot transmit communication to computer system 600 when computer system 600 is operating in a second operating mode and / or before receiving communication from computer system 600 when computer system 600 is operating in the second operating mode.
[0272] exist Figure 6R At this location, the signal indicator 622a of the connection indicator 622 includes a second appearance, which is different from the signal indicator 622a of the connection indicator 622. Figures 60 to 6QThe appearance of the signal indicator 622a shown at the location. For example, in Figure 6R At this location, signal indicator 622a includes different... Figures 60 to 6Q The second shadow of the first shadow shown at the location. Figure 6R The appearance of the signal indicator 622a indicates that the signal strength between the computer system 600 and the satellites of the satellite communication network has dropped below a threshold signal strength (e.g., a first threshold signal strength). In some embodiments, the signal strength between the computer system 600 and the satellite weakens as the satellite orbits the Earth and changes its position and / or orientation relative to the computer system 600. Figure 6R At this location, the orientation indicator 622b of the connection indicator 622 includes a left-pointing arrow, prompting the user of the computer system 600 to move and / or reorient the computer system 600 to the left. In some embodiments, the satellites of the satellite communication network have moved while the orientation of the computer system 600 (e.g., relative to the ground and / or relative to the user) remains unchanged. The computer system 600 displays the orientation indicator 622b with a left-pointing arrow to guide the user of the computer system 600 in orienting the computer system 600 so that the computer system 600 can establish and / or re-establish a signal strength above a threshold signal strength.
[0273] exist Figure 6S In this scenario, computer system 600 has lost connection with a satellite in the satellite communication network. In some embodiments, computer system 600 determines that the connection with the satellite has been lost when the signal strength between computer system 600 and the satellite drops below a second threshold signal strength (e.g., a first threshold signal strength). In some embodiments, computer system 600 determines that the connection with the satellite has been lost when there is no signal between computer system 600 and the satellite. Based on the determination that the connection with the satellite has been lost, computer system 600 displays a connection user interface object 628, such as... Figure 6S As shown. In some embodiments, the computer system 600 displays the connection user interface object 628 by magnifying the connection indicator 622 and / or transforming the display of the connection indicator 622 into the connection user interface object 628. In some embodiments, the computer system 600 displays animations of the connection indicator 622 moving, transforming, and / or magnifying into the connection user interface object 628.
[0274] exist Figure 6SAt this location, the connection user interface object 628 indicates that the connection between the computer system 600 and the satellite has been lost. Furthermore, the connection user interface object 628 includes prompts to guide the user of the computer system 600 in establishing and / or re-establishing a connection between the computer system 600 and a satellite in the satellite communication network and / or another satellite. For example, the connection user interface object 628 includes a map representation 630 and a prompt 628a. The map representation 630 includes a satellite representation 630a, a computer system representation 630b, and an alignment element 630c.
[0275] exist Figure 6S At this location, satellite display 630a is shown outside alignment element 630c, preventing computer system 600 from connecting to satellites in the satellite communication network. Hint 628a includes textual instructions and / or guidance for the user of computer system 600 to position computer system 600 so that satellite display 630a is displayed within alignment element 630c. For example, as the user moves computer system 600, computer system 600 updates the display of the connected user interface object 628 such that the relative positions of satellite display 630a, computer system display 630b, and / or alignment element 630c change based on the movement of computer system 600.
[0276] exist Figure 6T At this point, computer system 600 has detected a change in orientation of computer system 600 and / or the establishment (e.g., re-establishment) of a connection with a satellite in the satellite communication network. Based on the determination that a connection with the satellite has been established, computer system 600 stops and / or removes the display of the connection user interface object 628 and displays the connection indicator 622, as shown. Figure 6T As shown. In some embodiments, the computer system 600 stops and / or removes the display of the connection user interface object 628 by collapsing and / or shrinking it, causing the connection user interface object 628 to transform and / or change into the display of the connection indicator 622. For example, in some embodiments, based on determining that the computer system 600 has established a connection with a satellite, the computer system 600 initiates an animation of shrinking and / or changing the connection user interface object 628 into the connection indicator 622. Figure 6T At this location, the signal indicator 622a of the connection indicator 622 includes a first appearance (e.g., Figures 60 to 6Q (As shown in the diagram), the connection indicator 622 indicates that the connection between the computer system 600 and the satellite of the satellite communication network is above a threshold signal strength. The orientation indicator 622b of the connection indicator 622 includes an upward-pointing arrow, indicating that the user of the computer system 600 should maintain the orientation of the computer system 600 to maintain the connection between the computer system 600 and the satellite.
[0277] exist Figure 6TAt this location, computer system 600 detects one or more user inputs from keyboard 648a corresponding to message session user interface 644a. For example, in Figure 6T In response to the detection of one or more user inputs, computer system 600 displays one or more characters (e.g., alphanumeric characters and / or symbols) in the writing area 648b of the messaging session user interface 644a. Thus, a user of computer system 600 can edit and / or modify draft messages before transmitting communication to an external device such as computer system 646. After detecting one or more user inputs, computer system 600 detects user input 650j corresponding to the delivery user interface object 648c of messaging session user interface 644a. In response to the detection of user input 650j, computer system 600 initiates a process for transmitting a message to computer system 646. In some embodiments, computer system 600 initiates the process for transmitting a message to computer system 646 by transmitting data and / or information to a satellite of a satellite communication network. In some embodiments, the satellite then transmits message-related data and / or information to computer system 646 directly and / or indirectly via components of a terrestrial communication network.
[0278] exist Figure 6U In response to detecting user input 650j, computer system 600 displays message 652a corresponding to the message transmitted by computer system 600. Computer system 600 also displays indication 648d indicating that the message has been delivered. In some embodiments, computer system 600 displays indication 648d based on determining that a satellite of the satellite communication network has received data and / or information transmitted by computer system 600. For example, in some embodiments, computer system 600 receives and / or transmits an acknowledgment signal from the satellite to confirm that the satellite has received data and / or information transmitted by computer system 600. In some embodiments, computer system 600 displays indication 648d based on determining that computer system 646 has received a message. In some embodiments, the satellite receives confirmation that computer system 646 has received a message and / or that a message has been delivered to computer system 646, and the satellite transmits an acknowledgment signal and / or sends it to computer system 600.
[0279] Computer system 600 also displays notification 648e on message session user interface 644a after detecting user input 650j. Figure 6UIn this context, notification 648e indicates that the message transmitted to computer system 646 via a satellite communication network is a text message. Notification 648e also instructs computer system 646 to respond to and / or transmit additional text messages to computer system 600 within a predetermined timeframe (e.g., 24 hours). Based on the determination that computer system 646 cannot transmit and / or receive the first type of communication, computer system 600 displays notification 648e. Thus, computer system 600 displays additional information on the messaging session user interface 644a to provide visual feedback and / or information to the user of computer system 600.
[0280] exist Figure 6U At the location where computer system 646 is located, computer system 646 displays message 652b corresponding to the message transmitted by computer system 600 and received at computer system 646. When computer system 600 is operating in a second operating mode, computer system 600 also displays notification 648f after receiving message 652b from computer system 600 and / or in response to receiving the message from computer system 600. For example, in some embodiments, the communication received at computer system 646 includes information corresponding to message 652b and information corresponding to the status and / or operating mode of computer system 600. Because computer system 646 is not configured to transmit and / or receive first type of communication, computer system 600 cannot initiate communication with computer system 600 when computer system 646 is operating in the second operating mode. However, after receiving communication from computer system 600 when computer system 600 is operating in the second operating mode, computer system 646 is able to transmit communication (e.g., text messages) to computer system 600 within a predetermined orientation time period. For example, computer system 600 initiates a predetermined time period during which computer system 646 may transmit communications (e.g., messages 652a and / or 652b) to computer system 600 in response to transmitting communications to computer system 600, while computer system 600 is operating in a second operating mode. Notification 648f includes information informing the user of computer system 646 that the user may transmit communications to computer system 600 within the predetermined time period. In some embodiments, the predetermined time period begins and / or begins to elapse in response to receiving user input 650j. In some embodiments, the predetermined time period begins and / or begins to elapse when computer system 600 receives confirmation that communications have been delivered to a satellite in a satellite communication network. In some embodiments, the predetermined time period begins and / or begins to elapse when computer system 646 receives communications.
[0281] As described above, when the computer system 600 operates in the second operating mode, the computer system 600 does not display and / or output notifications corresponding to incoming and / or received communications. Figure 6V In this embodiment, computer system 600 operates in a second operating mode and is in a locked state. For example, computer system 600 is displaying a lock screen user interface 604, indicating that the user of computer system 600 is not currently interacting with computer system 600. In some embodiments, computer system 600 enters a locked state in response to detecting user input requesting computer system 600 to enter a locked state and / or operate in a locked state. In some embodiments, computer system 600 enters a locked state based on the absence of user input and / or user interaction with computer system 600 within a predetermined amount of time. In some embodiments, after entering a locked state and / or in response to this, computer system 600 disconnects from the satellite of the satellite communication network (e.g., while continuing to operate in the second operating mode). In some embodiments, after detecting the absence of user input and / or user interaction with computer system 600 within a predetermined amount of time and / or in response to this, computer system 600 disconnects from the satellite of the satellite communication network (e.g., while continuing to operate in the second operating mode).
[0282] Figure 6V Example of computer system 654 is provided, which is associated with a user different from the users associated with computer systems 634 and 646. Computer system 654 includes the label "JEN's Phone," indicating that computer system 654 is associated with a user named Jen who is different from Jane and Jim mentioned above.
[0283] exist Figure 6V At this point, computer system 654 displays a message session user interface 656, which corresponds to a message session between a user associated with computer system 654 (e.g., Jen) and a user associated with computer system 600 (e.g., John). Figure 6VAt this location, computer system 654 is configured to transmit and / or receive a first type of communication (e.g., encrypted messages and / or secure messages). Computer system 654 displays notification 636c on a messaging session user interface 656, instructing computer system 600 to operate in a second operating mode. The display of notification 636c by computer system 654 notifies the user of computer system 654 that computer system 600 is operating in the second operating mode and allows the user to determine whether to approve the transmission of messages to computer system 600. Furthermore, computer system 654 displays notification 636d, instructing computer system 600 not to output and / or display notifications corresponding to received and / or incoming communications. Therefore, the user of computer system 654 may receive notifications that the user of computer system 600 may not be aware of the received messages and / or that responses from the user of computer system 600 may be delayed.
[0284] exist Figure 6V At this point, computer system 654 detects one or more user inputs 650k corresponding to the keyboard 656a of message session user interface 656. In response to detecting one or more user inputs 650k, computer system 654 displays character 656b in the message composition area 656c of message session user interface 656. Figure 6V At this point, computer system 600 displays a word count indicator 656d on the message session user interface 656. The word count indicator 656d notifies and / or informs the user of computer system 654 that the amount of content included in communications to computer system 600 is limited when computer system 600 is operating in a second operating mode. For example, in Figure 6VAt this point, the word count indicator 656d indicates that the message currently includes 10 words out of a total of 20 words that may be included in the communication. In some embodiments, communication transmitted from an external device to the computer system 600 when the computer system 600 is operating in a second operating mode is not limited to a specific number of words, and therefore, the computer system 654 does not display the word count indicator 656d. In some embodiments, communication transmitted from an external device to the computer system 600 when the computer system 600 is operating in the second operating mode is limited to a certain number of characters (e.g., 150 characters, 200 characters, or 500 characters). In some embodiments, communication transmitted from an external device to the computer system 600 when the computer system 600 is operating in the second operating mode is limited to a certain number of words other than 20 words (e.g., 25 words, 30 words, or 50 words). In some implementations, when the computer system 600 operates in a second operating mode, the amount of information and / or content included in communications to the computer system 600 is limited to reduce the amount of data transmitted via satellite communication networks, enabling the computer system 600 to transmit and / or receive communications more quickly (e.g., compared to communications with a large amount of information and / or content).
[0285] exist Figure 6V At this point, computer system 654 detects user input 650l corresponding to the delivery user interface object 656e of the message session user interface 656. In response to detecting user input 650l, computer system 654 initiates a process for transmitting communication (e.g., text shown in the message composition area 656c of the message session user interface 656) to computer system 600.
[0286] exist Figure 6W Before transmitting communication, the computer system 654 displays a message indicator 656f on the message session user interface 656. This message indicator has a different appearance from the message being transmitted, such as... Figure 6W The shadow at the location indicates this. Computer system 654 also displays a prompt 656g on the message session user interface 656, prompting the user of computer system 654 to provide user input for confirming the transmission of communication. Prompt 656g provides the user of computer system 654 with guidance on how to transmit communication and / or confirms the user's intention to transmit communication when computer system 600 is operating in a second operating mode. Figure 6W At this point, computer system 654 detects user input 650m corresponding to the selection of message indicator 656f. In response to detecting user input 650m, computer system 654 initiates communication to computer system 600.
[0287] In some implementations, computer system 654 is configured to transmit subsequent communication to computer system 600 (e.g., communication transmitted after detecting user input 650m), without explicitly displaying... Figure 6W The message indicator has the appearance shown and does not prompt the user for additional input to confirm the transmission of subsequent communications. For example, in some embodiments, computer system 600 prompts the user to confirm the transmission of the first communication to computer system 600 when computer system 654 is operating in a second operating mode, but does not prompt the user to transmit subsequent communications after the transmission of the first communication to computer system 600 while computer system 600 continues to operate in the second operating mode.
[0288] exist Figure 6X At this point, computer system 654 has transmitted communications to computer system 600 via a satellite communication network (and optionally, via a terrestrial network). Figure 6X At this point, computer system 654 displays message indicator 656f, which has the same appearance as the transmitted message but is different from... Figure 6W The appearance shown is different, such as Figure 6X The area is not indicated by a shadow. Computer system 654 displays notification 656h, instructing computer system 600 not to display and / or output notifications corresponding to the communication. In some embodiments, computer system 654 displays notification 656h so that the user of computer system 654 receives a notification that the user of computer system 600 may not have received the message. Computer system 654 also displays a transmitted indicator 656i on the message session user interface 656 to indicate that computer system 654 has transmitted the communication. However, computer system 656 has not yet received confirmation that the communication has been delivered to a satellite in the satellite communication network and / or computer system 600.
[0289] exist Figure 6YAt this point, computer system 654 receives confirmation that communication has been delivered and displays a delivered indicator 656j on the message session user interface 656. In some embodiments, computer system 654 displays the delivered indicator 656j based on confirmation that the satellite of the satellite communication network has received communication, rather than based on confirmation that computer system 600 has received communication. In some embodiments, because computer system 600 does not output and / or display notifications associated with incoming and / or received communication (e.g., when operating in a second operating mode), the delivered indicator 656j is displayed when the satellite receives communication. In some embodiments, computer system 600 is configured to disconnect from the satellite of the satellite communication network when continuing to operate in the second operating mode, such that computer system 600 does not receive communication until communication is established with the satellite of the communication network. In some embodiments, computer system 654 displays the delivered indicator 656j based on confirmation that computer system 600 has received communication.
[0290] As described above, when the computer system 600 is operating in the second operating mode and / or before receiving communication from the computer system 600, external devices not configured to transmit and / or receive first-type communication and / or messages (e.g., encrypted messages and / or secure messages) cannot transmit communication to the computer system 600. Figure 6Z In this case, computer system 600 is operating in a second operating mode and is in a locked state. For example, computer system 600 is displaying a lock screen user interface 604. Figure 6Z Example of computer system 658 is provided, which is associated with a user different from the users associated with computer systems 634, 646, and 654. Computer system 658 includes the label "JANET's Phone," indicating that computer system 658 is associated with a user named Janet, who is different from Jane, Jim, and Jen mentioned above.
[0291] exist Figure 6Z In this configuration, computer system 658 is not configured to receive first-type communications and / or messages (e.g., encrypted messages and / or secure messages). Figure 6ZAt this point, computer system 658 displays a message session user interface 660, which corresponds to a message session with a user of computer system 600 (e.g., John). However, computer system 658 does not display notifications 636c and / or 636d on the message session user interface 660 because computer system 658 is not configured to transmit and / or receive first-type messages. In some embodiments, computer system 658 is not configured and / or cannot transmit communication to computer system 600 when computer system 600 is operating in a second operating mode and / or before receiving communication from computer system 600 when computer system 600 is operating in the second operating mode.
[0292] exist Figure 6Z At this point, computer system 658 detects one or more user inputs 650n corresponding to the keyboard 660a of the message session user interface 660. In response to detecting one or more user inputs 650n, computer system 658 displays character 660b in the message composition area 660c of the message session user interface 660. After detecting one or more user inputs 650n, computer system 658 detects user input 650o corresponding to the delivery user interface object 660d of the message session user interface 660. After detecting user input 650o, computer system 658 detects user input 650p corresponding to the lock button 658a of computer system 658. In response to detecting user input 650p, computer system 658 switches to a locked state and displays the lock user interface 662, as shown. Figure 6AA As shown.
[0293] In some implementations, computer system 658 initiates a process for transmitting communication to computer system 600 in response to detecting user input 650. In some implementations, computer system 658 determines that computer system 600 is operating in a second operating mode and that computer system 658 has not yet received communication from computer system 600 when computer system 600 is operating in the second operating mode. Figure 6AA At this point, computer system 658 determines (e.g., receives an information indication) that computer system 600 is operating in a second operating mode and / or that computer system 658 has not yet received communication from computer system 600 while computer system 600 is operating in the second operating mode. Based on the determination that computer system 600 is operating in the second operating mode and / or that computer system 658 has not yet received communication from computer system 600 while computer system 600 is operating in the second operating mode, computer system 658 displays an error notification 662a on the lock screen user interface 662, such as... Figure 6AAAs shown. Error notification 662a includes text, graphics, symbols, objects, and / or images indicating that communication cannot be transmitted and / or delivered to computer system 600. Error notification 662a includes information that computer system 600 is operating in a second operating mode and that computer system 600 will not receive communication. In some embodiments, computer system 658 displays error notification 662a on messaging session user interface 660, such as when computer system 658 has not transitioned to a locked state before determining that computer system 600 is operating in the second operating mode.
[0294] As described above, when operating in the second operating mode, the computer system 600 does not display and / or output notifications corresponding to incoming and / or received communications. In some embodiments, the computer system 600 disconnects from the satellite of the satellite communication network when operating in the second operating mode to conserve battery power. In some such embodiments, the computer system 600 cannot download and / or receive any communications when disconnected from the satellite of the satellite communication network. See below for reference. Figures 6AB to 6AH The computer system 600 is configured to receive, download, and / or view communications transmitted to the computer system 600 when the computer system 600 is disconnected from the satellite of the satellite communication network, while the computer system 600 is connected to the satellite of the satellite communication network.
[0295] exist Figure 6AB At this point, computer system 600 has been unlocked and is operating in an unlocked state; the unlocked state is consistent with the state of computer system 600. Figure 6AA The locked state is the opposite of the unlocked state. In some implementations, the computer system 600 detects one or more user inputs and / or authorization inputs to transition from a locked state to an unlocked state. When the computer system 600 is in a locked state (e.g., Figures 6V to 6AA When operating in a second operating mode (e.g., while simultaneously operating in a locked state), the computer system 600 disconnects from the satellites of the satellite communication network. Disconnecting from the satellites of the satellite communication network when the computer system 600 is in a locked state conserves battery power, allowing the computer system 600 to operate for a longer period without needing to be recharged.
[0296] In some implementations, after computer system 600 transitions from a locked state to an unlocked state, computer system 600 receives one or more user inputs requesting navigation to messaging user interface 620. Figure 6ABIn this embodiment, computer system 600 displays a messaging user interface 620 when in an unlocked state and operating in a second operating mode. However, as described above, computer system 600 is not connected to a satellite of the satellite communication network. Computer system 600 displays a satellite user interface object 664, which prompts the user of computer system 600 to initiate a connection between computer system 600 and a satellite of the satellite communication network. Satellite user interface object 664 includes an information area 664a indicating that computer system 600 is not connected to a satellite of the satellite communication network. Satellite user interface object 664 also includes a connection user interface object 664b, which, upon selection via user input, causes computer system 600 to initiate a process for connecting to a satellite of the satellite communication network. In some embodiments, computer system 600 displays satellite user interface object 664 in response to detecting user input requesting the display of messaging user interface 620. In some embodiments, computer system 600 displays satellite user interface object 664 in response to a transition from a locked state to an unlocked state (e.g., and in some embodiments, satellite user interface object 664 is displayed on the currently displayed user interface).
[0297] exist Figure 6AB In this process, computer system 600 detects user input 650q corresponding to the selection of connection user interface object 664b for satellite user interface object 664. In response to detecting user input 650q, computer system 600 displays connection user interface object 628, such as... Figure 6AC As shown.
[0298] exist Figure 6AC At this point, computer system 600 displays connection user interface object 628, thereby providing the user of computer system 600 with guidance for establishing a connection between computer system 600 and a satellite of the satellite communication system. For example, connection user interface 628 prompts the user to orient computer system 600 in a specific orientation that allows computer system 600 to connect to a satellite of the satellite communication system. In some embodiments, computer system 600 updates the appearance of connection user interface object 628 based on the movement of computer system 600, as referenced above. Figures 6M to 6O As stated above.
[0299] exist Figure 6AD At this location, computer system 600 connects to and / or communicates with satellites of a satellite communication network, as indicated by connection indicator 622. Signal indicator 622a of connection indicator 622 includes a first appearance indicating that the signal strength between computer system 600 and satellites of the satellite communication network is above a signal strength threshold. Orientation indicator 622b indicates that the position and / or orientation of computer system 600 should be maintained so that the connection between computer system 600 and the satellite can continue.
[0300] exist Figure 6AD After computer system 600 has connected to and / or established communication with a satellite of the satellite communication network, computer system 600 initiates a process for downloading and / or receiving messages that are transmitted to computer system 600 when computer system 600 disconnects from the satellite of the satellite communication network (e.g., when computer system 600 is operating in a second operating mode and a locked state). Figure 6AD At this point, computer system 600 displays a messaging user interface 620, which includes an indicator 620j to notify the user of computer system 600 that computer system 600 is downloading and / or receiving communications via a satellite communication network.
[0301] exist Figure 6AD At this point, computer system 600 detects user input 650r corresponding to message user interface object 620c. In response to detecting user input 650r, computer system 600 displays message passing session user interface 666, such as... Figure 6AG As shown.
[0302] In some implementations, the computer system 600 displays the messaging user interface 620 before detecting user input 650r, such as... Figure 6AE As shown. In Figure 6AE At this location, computer system 600 has begun downloading and / or receiving communications via a satellite communication network. For example, in Figure 6AE At this point, computer system 600 is downloading and / or receiving communications from user Jen and displaying a progress indicator 620k in the message user interface object 620c. Figure 6AE At this point, based on the computer system 600 downloading and / or receiving communications from the corresponding users associated with user interface objects 620a-620i, the computer system 600 rearranges and / or otherwise displays the message user interface objects 620a-620i in different orders. The computer system 600 begins downloading and / or receiving communications from user Jen associated with message user interface object 620c. The computer system 600 moves and / or displays message user interface object 620c over user interface objects 620a, 620b, and 620d-620i, thereby drawing the user's attention to the new communications that the computer system 600 is downloading and / or receiving.
[0303] The progress indicator 620k includes a progress bar indicating the amount of progress toward downloading and / or receiving communication from user Jen. As computer system 600 receives additional information and / or data corresponding to the communication from user Jen from a satellite in the satellite communication network, computer system 600 updates the progress indicator 620k, causing the progress bar to continue filling from left to right. Based on determining that the downloading and / or receiving of communication from user Jen has been completed, computer system 600 updates the display of the message user interface object 620c, such as... Figure 6AF As shown.
[0304] exist Figure 6AF At this point, computer system 600 has completed downloading and / or receiving communication from user Jen and displays message user interface object 620c with a new message indicator 620l and an indicator 620m. The new message indicator 620l indicates that a new message and / or communication has been downloaded and / or received from an external device associated with user Jen (e.g., computer system 654). The indicator 620m provides further visual feedback that the communication and / or message associated with user Jen has not yet been read and / or otherwise viewed by the user of computer system 600 (e.g., computer system 600 has not yet displayed a messaging session user interface 666 including the communication).
[0305] exist Figure 6AF At this point, the computer system 600 has also completed downloading and / or receiving messages and / or communications from attached external devices. Based on determining that communications and / or messages have been downloaded and / or received from the external devices corresponding to one or more of the message user interface objects 620a-620i, the computer system 600 rearranges the order of the message user interface objects 620a-620i and / or displays these message user interface objects. Figure 6AF In some embodiments, computer system 600 arranges message user interface objects 620a-620i that have received communications and / or messages above message user interface objects 620a-620i that have not yet received communications and / or messages. In some embodiments, computer system 600 arranges message user interface objects 620a-620i based on the time when computer system 600 downloads and / or receives messages (e.g., message user interface objects that have recently been downloaded and / or received messages are displayed above message user interface objects that have downloaded messages earlier). In some embodiments, computer system 600 arranges message user interface objects 620a-620i based on the timestamps associated with the messages (e.g., messages with earlier timestamps are displayed below messages with newer timestamps).
[0306] As described above, in response to detection Figure 6AD At user input 650r, computer system 600 displays message passing session user interface 666, such as Figure 6AG As shown. In Figure 6AG At this point, computer system 600 has not yet downloaded and / or received messages and / or communications from external devices associated with user Jen. The messaging session user interface 666 includes message status indicators 666a-666c indicating that computer system 600 is downloading and / or receiving three messages via a satellite communication network. Computer system 600 also displays a total progress indicator 666d indicating that computer system 600 has downloaded and / or received zero of the three messages. Figure 6AG At this point, message status indicators 666a-666c indicate the progress of downloading and / or receiving data corresponding to individual messages transmitted to computer system 600 by an external device (e.g., computer system 654) associated with user Jen. In some embodiments, as computer system 600 receives data and / or information corresponding to the respective message and / or communication, computer system 600 animates and / or updates the display of message status indicators 666a-666c. For example, in some embodiments, computer system 600 displays message status indicators 666a-666c with a fill level corresponding to the percentage of data downloaded and / or received for the respective message and / or communication.
[0307] Based on the determination that the computer system 600 has downloaded and / or received all the data corresponding to the message corresponding to message status indicator 666a, the computer system 600 displays message indicator 666e, such as... Figure 6AH As shown. In some embodiments, the computer system 600 displays an animation of message status indicator 666a changing to and / or transforming into message indicator 666e. Figure 6AH At this point, computer system 600 updates the display of the overall progress indicator 666d to indicate that computer system 600 has downloaded and / or received one of the three messages in total. Computer system 600 displays message status indicators 666b and 666c because computer system 600 has not yet downloaded and / or received all the data corresponding to the messages corresponding to message status indicators 666b and 666c. In some embodiments, when computer system 600 completes downloading and / or receiving the corresponding message and / or communication data, computer system 600 animates and / or replaces the display of message status indicators 666b and 666c to display the corresponding message indicator.
[0308] Figure 6AHAn external device 668 communicating with computer system 600 is also illustrated. In some embodiments, external device 668 is paired with and / or otherwise communicates with computer system 600, such that information is transmitted between computer system 600 and external device 668 via a short-range communication protocol. In some embodiments, external device 668 is not configured to connect to a satellite of a satellite communication network and / or cannot connect to a satellite communication network at all. In some such embodiments, external device 668 cannot transmit communication via a satellite communication network (e.g., directly transmitting communication without communicating with computer system 600). However, external device 668 is configured to display communication transmitted and / or received by computer system 600 via a satellite communication network. In some embodiments, external device 668 receives data and / or information about communications and / or messages transmitted and / or received by computer system 600 via a short-range communication protocol established with computer system 600. Therefore, in Figure 6AH At this location, the external device 668 displays the corresponding messaging session user interface 668a, which includes a message indicator 668b corresponding to message indicator 666e, message status indicators 668c and 668d corresponding to message status indicators 666b and 666c, and a total progress indicator 668e corresponding to total progress indicator 666d.
[0309] exist Figure 6AH At this point, computer system 600 detects user input 650s corresponding to a request from display control user interface 670. In response to detecting user input 650s, computer system 600 displays control user interface 670, such as... Figure 6AI As shown.
[0310] exist Figure 6AI At this location, the control user interface 670 includes various user interface objects for controlling the operation and / or settings of the computer system 600. For example, in Figure 6AIAt the control user interface 670, a flight mode user interface object 670a is included for switching the operating mode of the computer system 600 between flight mode and normal mode. The control user interface 670 also includes a second mode user interface object 670b for adjusting the operation of the computer system 600 when in a second operating mode. Displaying the second mode user interface object 670b on the control user interface 670 indicates to the user of the computer system 600 that the computer system 600 is currently operating in a second operating mode, and the user can adjust the operation of the computer system 600 by selecting the second mode user interface object 670b. In some embodiments, the second mode user interface object 670b includes an indication of the connection status of the computer system 600 to a satellite communication network. For example, in some embodiments, the second mode user interface object 670b includes text, objects, icons, and / or graphical elements indicating whether the second operating mode is available, whether the computer system 600 is connected to and / or is connecting to a satellite of the satellite communication network, and / or whether the computer system 600 is disconnected from and / or is disconnecting from a satellite of the satellite communication network. In some embodiments, the functions and / or operations performed by the computer system 600 in response to detecting user input corresponding to the second mode user interface object 670b vary depending on the connection status between the computer system 600 and the satellite communication network. For example, in some embodiments, in response to detecting user input corresponding to the second mode user interface object 670b when the computer system 600 is connected to and / or communicating with a satellite of the satellite communication network, the computer system 600 enables and / or disables functions for receiving communication via the satellite communication network, disconnects from the satellite of the satellite communication network, and / or activates a first operating mode. In some embodiments, in response to detecting user input corresponding to the second mode user interface object 670b when the computer is not connected to and / or communicating with a satellite of the satellite communication network, the computer system 600 initiates a process for connecting to a satellite of the satellite communication network, activates the first operating mode, and / or enables or disables functions for receiving communication via the satellite communication network.
[0311] The control user interface 670 also includes a WiFi user interface object 670c and a Bluetooth user interface object 670d, which are configured to adjust and / or control the operation of the computer system 600 with respect to WiFi and Bluetooth, respectively. In some embodiments, the control user interface 670 includes a demonstration mode user interface object that enables the computer system 600 to operate in a test mode of a second operating mode. The demonstration mode and / or test mode of the second operating mode are referred to below. Figures 6AN to 6AP describe.
[0312] exist Figure 6AIAt this point, computer system 600 detects user input 650t corresponding to the second mode user interface object 670b. In response to detecting user input 650t, computer system 600 displays the second mode user interface 672, such as... Figure 6AJ As shown.
[0313] exist Figure 6AJ At this location, the second mode user interface 672 includes a satellite disconnect user interface object 672a and a second mode disconnect user interface object 672b. In some embodiments, in response to detecting user input corresponding to the satellite disconnect user interface object 672a, the computer system 600 disconnects from the satellite of the satellite communication network while continuing to operate in the second operating mode. For example, the computer system 600 continues to operate in the second operating mode but cannot transmit and / or receive communications without connecting to and / or reconnecting to a satellite of the satellite communication network. Figure 6AJ At this point, computer system 600 detects user input 650u corresponding to the second mode disconnect user interface object 672b. In response to detecting user input 650u, computer system 600 switches from operating in the second mode to operating in the first mode. In some embodiments, computer system 600 disconnects from the satellite of the satellite communication network in response to detecting user input 650u. In some embodiments, computer system 600 initiates a process for connecting to and / or attempting to connect to a terrestrial communication network in response to detecting user input 650u.
[0314] In some embodiments, the computer system 600 is configured to switch from a second operating mode to a first operating mode without detecting user input. For example, in some embodiments, the computer system 600 switches from operating in the second operating mode to operating in the first operating mode based on determining that a terrestrial communication network is available (e.g., the detected signal strength of a WiFi communication network and / or a cellular communication network is above a threshold signal strength) for a predetermined amount of time (e.g., 30 minutes, one hour, or two hours). In some embodiments, the computer system 600 switches from operating in the second operating mode to operating in the first operating mode based on determining that a terrestrial communication network is available and that the computer system 600 is displaying a messaging user interface 620. In some embodiments, the computer system 600 switches from operating in the second operating mode to operating in the first operating mode based on determining that a terrestrial communication network is available and in response to detecting user input requesting the transmission of communication.
[0315] exist Figure 6AK At this point, after detecting user input 650u (and / or otherwise after the computer system 600 switches from operating in a second operating mode to operating in a first operating mode), the computer system 600 displays (e.g., redisplays) the control user interface 670. Figure 6AK At this point, the second mode user interface object 670b is no longer displayed on the control user interface 670 because the computer system 600 has switched from operating in the second mode to operating in the first mode. When the computer system 600 operates in the first mode, it displays the first mode user interface object 670e, such as... Figure 6AK As shown. In some embodiments, depending on whether the computer system 600 is operating in a second operating mode or a first operating mode, the computer system 600 displays a second-mode user interface object 670b and a first-mode user interface object 670e at the same location and / or positioning on the control user interface 670. In some embodiments, based on determining that the computer system 600 has switched from the second operating mode to the first operating mode, the computer system 600 replaces the display of the second-mode user interface object 670b with the display of the first-mode user interface object 670e. In some embodiments, based on determining that the computer system 600 has switched from the first operating mode to the second operating mode, the computer system 600 replaces the display of the first-mode user interface object 670e with the second-mode user interface object 670b.
[0316] exist Figure 6AK At this point, computer system 600 displays a first-mode user interface object 670e with a first appearance, such as... Figure 6AK The shadow in the image indicates this. The computer system 600 displays a first-mode user interface object 670e with a first appearance because the computer system 600 is not connected to a terrestrial communication network, such as a WiFi network and / or a cellular network. For example, in... Figure 6AK At this point, computer system 600 is not connected to the WiFi network and cellular network and / or is not receiving signals from the WiFi network and cellular network. For example, the first connection indicator 604a indicating that computer system 600 is not connected to the WiFi network is not displayed. Figure 6AK At this point, the second connection indicator 604b is displayed as four dashed lines, which indicates that the computer system 600 is not receiving a signal from the cellular network and / or is otherwise disconnected from the cellular network.
[0317] exist Figure 6AL At this point, computer system 600 connects to and / or receives signals from a cellular network. For example, computer system 600 displays a second connection indicator 604b with bars instead of dashed lines, thereby indicating that computer system 600 receives signals from and / or otherwise connects to a cellular network. Based on determining that computer system 600 is connected to and / or receives signals from a cellular network, computer system 600 displays a first-mode user interface object 670e with a second appearance, such as... Figure 6ALThere is no shadow indicating the location. Therefore, the user of computer system 600 can quickly determine whether computer system 600 is connected to a cellular network and / or another terrestrial network based on the displayed appearance of the first mode user interface object 670e.
[0318] exist Figure 6AL In the process, computer system 600 detects user input 650v requesting the display of settings user interface 674. After detecting user input 650v, computer system 600 displays settings user interface 674, such as... Figure 6AM As shown.
[0319] exist Figure 6AM In this context, the user interface 674 includes various user interface objects for adjusting, modifying, and / or controlling the settings and / or operations of the computer system 600. For example, in... Figure 6AM At this location, the user interface 674 includes a satellite user interface object 674a corresponding to the settings and / or control of a second operating mode of the computer system 600. In some embodiments, the satellite user interface object 674a is displayed at different locations on the user interface 674. In some embodiments, the satellite user interface object 674a is displayed on different pages and / or screens of the user interface 674. Figure 6AM At this point, computer system 600 detects user input 650w corresponding to the selection of satellite user interface object 674a. After detecting user input 650w (e.g., in response to detecting the user input), computer system 600 displays additional settings user interface 676, such as... Figure 6AN As shown.
[0320] exist Figure 6AN The additional settings user interface 676 includes various user interface objects for adjusting, modifying, and / or controlling the communication settings and / or operation of the computer system 600. The settings user interface 676 includes a second mode area 678 corresponding to the settings and / or control of a second operating mode of the computer system 600. For example, in... Figure 6AN At this location, the second mode area 678 includes a connection user interface object 678a and a presentation mode user interface object 678b. In some embodiments, in response to detecting user input corresponding to the connection user interface object 678b, the computer system 600 initiates a process for transitioning from a first operating mode to a second operating mode. In some embodiments, the computer system 600 initiates the process for transitioning from the first operating mode to the second operating mode by displaying a connection user interface 612 and / or a connection user interface object 628, as referenced above. Figures 6E to 6OIn some embodiments, the computer system 600 displays a connectivity user interface object 678a with a first appearance indicating that the second operating mode is unavailable when the computer system 600 is connected to a terrestrial network (e.g., the signal strength between the computer system 600 and a WiFi network and / or a cellular network is above a threshold signal strength). In some embodiments, the computer system 600 displays a connectivity user interface object 678a with a second appearance indicating that the second operating mode is available when the computer system 600 is not connected to a terrestrial network (e.g., any terrestrial network) and / or is not receiving a signal from that terrestrial network. In some embodiments, the computer system 600 displays a connectivity user interface object 678a with a second appearance indicating that the second operating mode is available regardless of whether the computer system 600 is connected to a terrestrial network.
[0321] exist Figure 6AN At this point, the demonstration mode user interface object 678b corresponds to the demonstration operation mode of the computer system 600, which enables the computer system 600 to simulate and / or otherwise reproduce the second operation mode without actually switching to the second operation mode. For example, when operating in demonstration operation mode, the computer system 600 continues to operate in the first operation mode, but allows the user to test the functionality of the second operation mode. Figure 6AN At this point, computer system 600 detects user input 650x corresponding to the selection of the demonstration mode user interface object 678b. In response to detecting user input 650x, computer system 600 initiates the demonstration mode for the second operating mode and displays the demonstration mode introduction user interface 680, such as... Figure 6AO As shown.
[0322] exist Figure 6AO The demonstration mode user interface 680 includes a banner 680a, a map representation 682, an information area 680b, a first active user interface object 680c, and a second active user interface object 680d. When the computer system 600 operates in the demonstration mode of the second operating mode, the computer system 600 displays the banner 680a, notifying the user that the computer system 600 is not actually operating in the second operating mode. For example, the banner 680a includes text, symbols, objects, images, and / or graphical representations instructing the computer system 600 to operate in the demonstration mode of the second operating mode and / or that the computer system 600 is not actually operating in the second operating mode. The information area 680b includes additional information informing the user that activating the test mode of the demonstration mode will not cause the computer system 600 to switch from the first operating mode to the second operating mode. Figure 6AOAt this point, the computer system 600 displays a map representation 682 before initiating a test mode of the demonstration mode of the second operating mode. In some embodiments, the map representation 682 corresponds to the map representation 614 displayed when the computer system 600 operates in the second operating mode. In some embodiments, the map representation 682 includes a computer system representation 682a, which indicates the current geographical location of the computer system 600.
[0323] exist Figure 6AO At this point, the first activated user interface object 680c corresponds to a test mode activating the second operating mode, allowing the user to test and / or experience how the computer system 600 operates and / or connects to the satellite during the second operating mode. The second activated user interface object 680d corresponds to a test mode activating a third operating mode, which differs from the first and second operating modes. In some embodiments, the third operating mode enables the computer system 600 to transmit and / or receive communications via non-terrestrial communication networks (e.g., satellite communication networks), but communications are limited to emergency numbers and / or emergency services.
[0324] exist Figure 6AO At this point, computer system 600 detects user input 650y corresponding to the selection of the first active user interface object 680c. In response to detecting user input 650y, computer system 600 displays test connection user interface 684, such as... Figure 6AP As shown.
[0325] exist Figure 6AP At this location, the test connectivity interface 684 includes a map representation 682, a computer system representation 682a, and an alignment element 682b. In some embodiments, the test connectivity user interface 684 includes a satellite representation of simulated satellites (e.g., not real satellites of a satellite communication network and / or detected satellites). In some embodiments, the computer system 600 displays the test connectivity interface 684 in the same manner as the connectivity user interface 612, as referenced above. Figures 6E to 6G As described above. Thus, the user of computer system 600 can test and / or attempt to connect to the simulated satellite before operating computer system 600 in the second operating mode. Figure 6AP At this location, the test connection interface 684 includes a banner 680a instructing the computer system 600 to operate in a demonstration mode of the second operating mode and / or indicating that the computer system 600 is not actually operating in the second operating mode. Therefore, the user of the computer system 600 receives a notification that the computer system 600 is not actually operating in the second operating mode and / or is not connected to a satellite in the satellite communication network. Figure 6APAt this location, banner 680a includes an end user interface object 680e. In some embodiments, in response to detecting user input corresponding to the end user interface object 680e, computer system 600 stops operating in a demonstration mode of a second operating mode and / or displays an additional settings user interface 676, such as... Figure 6AN As shown.
[0326] Figure 7 This is a flowchart illustrating a method for initiating communication via a non-terrestrial network using a computer system, according to some implementation schemes. Method 700 is performed at a computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) (e.g., a smartphone, smartwatch, tablet, laptop, desktop computer, wearable device and / or head-mounted device). In some implementations, the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) communicates with display generating components (e.g., 602) (e.g., a display, touchscreen display, monitor, holographic display system and / or head-mounted display system) and / or one or more input devices (e.g., 602 and / or 658a) (e.g., touch-sensitive surfaces (e.g., touch-sensitive displays); mice; keyboards; remote controls; visual input devices (e.g., one or more cameras, such as infrared cameras, depth cameras, visible light cameras and / or gaze-tracking cameras); audio input devices (e.g., microphones); biometric sensors (e.g., fingerprint sensors, facial recognition sensors, gaze-tracking sensors and / or iris recognition sensors); and / or one or more mechanical input devices (e.g., pressable input mechanisms; buttons; rotatable input mechanisms; crowns; and / or dials)) (e.g., including and / or connected to these components). Some operations in method 700 may be arbitrarily combined, the order of some operations may be arbitrarily changed, and some operations may be arbitrarily omitted.
[0327] As described below, method 700 provides an intuitive way to initiate communication via non-terrestrial networks. This method reduces the cognitive burden on users in initiating communication via non-terrestrial networks, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to initiate communication via non-terrestrial networks faster and more efficiently saves power and increases the time interval between battery charges.
[0328] When the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) is in the first operating mode (e.g., Figure 6G , Figure 6H and Figures 60 to 6AJWhen the computer system 600 is operated in the following modes (e.g., an operating mode in which the computer system is configured to and / or capable of performing communication via a non-terrestrial communication network (e.g., via a satellite network), an operating mode in which the computer system attempts to initiate and / or initiate communication with a non-terrestrial communication network, an operating mode in which the computer system cannot connect to a cellular network, an operating mode in which the computer system cannot connect to a WiFi network, and / or an operating mode in which the computer system connects to and / or receives signals from a Global Positioning System (GPS)), the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) is configured to perform communication (e.g., transmit and / or receive communication from one or more external devices) via a non-terrestrial communication network (e.g., a satellite communication network) when operating in the first operating mode. The computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) receives (702) a request (e.g., 650i and / or 650j) to communicate with an external device (e.g., 634, 646, 654 and / or 658) (e.g., a request to transmit electronic information such as text information, photo information, audio information and / or video information and / or initiate real-time communication such as telephone calls, audio calls and / or video calls) via a communication network such as a cellular communication network, a WiFi communication network and / or a satellite communication network (e.g., the computer system receives one or more user inputs via one or more input devices of the computer system, the one or more user inputs requesting to initiate a communication application such as a telephone application and / or a messaging application, to draft a communication, to initiate the sending of a communication and / or to transmit a communication to an external device).
[0329] In response to receiving a request to communicate with an external device (704) (e.g., 634, 646, 654 and / or 658) (e.g., 650i and / or 650j), wherein the external device (e.g., 634, 646, 654 and / or 658) is associated with a non-emergency number (e.g., the external device is associated with a contactable entity (e.g., a contact of a user of the computer system, such as a person, institution and / or enterprise), wherein the contactable entity is not an emergency contact, is not associated with emergency services such as 911, and / or is not otherwise associated with providing emergency assistance as its primary function), and based on determining that a set of criteria is met (e.g., the computer system is aligned with one or more satellites and...), In communication with the computer system, the signal between the computer system and one or more satellites is above a threshold signal strength, and / or the computer system is able to transmit and / or receive communications via one or more satellites. The computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) initiates (706) a process for communicating with external devices (e.g., 634, 646, 654 and / or 658) via a non-terrestrial communication network (e.g., the computer system performs communication with external devices via a non-terrestrial communication network such as a satellite communication network, attempts to perform communication with external devices via a non-terrestrial communication network, and / or transmits information to devices on a non-terrestrial communication network).
[0330] In response to receiving a request to communicate with an external device (704) (e.g., 634, 646, 654 and / or 658) (e.g., 650i and / or 650j), wherein the external device (e.g., 634, 646, 654 and / or 658) is associated with a non-emergency number (e.g., the external device is associated with a contactable entity (e.g., a contact of a user of a computer system, such as a person, institution and / or enterprise), wherein the contactable entity is not an emergency contact, is not associated with emergency services such as 911, and / or is not otherwise associated with providing emergency assistance). As a primary function, and based on the determination that the set of criteria is not met (e.g., the computer system does not communicate with the satellite (e.g., any satellite), the computer system is not properly aligned with the satellite (e.g., any satellite), the signal strength between the computer system and the satellite (e.g., any satellite) is below a threshold signal strength, and / or the computer system cannot transmit and / or receive communications via the satellite (e.g., any satellite), the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) prompts (708) (e.g., as...). Figure 6RThe 628 shown (e.g., computer system outputs such as displaying user interface objects and / or user interfaces via the computer system's display generation components, outputting voice and / or audio via the computer system's speakers, and / or outputting haptic feedback via one or more haptic output devices of the computer system) includes guidance for users of the computer system on how to meet this set of standards, such as how to properly align the computer system with a satellite to enable the computer system to communicate with the satellite) computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658) users connecting to non-terrestrial communication The computer system outputs instructions (such as visual, audio, and / or haptic instructions) to the user of the computer system for actions to connect to the non-terrestrial communication network, such as positioning the computer system in a predetermined orientation relative to a satellite of the non-terrestrial communication network, without initiating a process for communicating with external devices (e.g., 634, 646, 654, and / or 658) via the non-terrestrial communication network (e.g., the computer system does not perform communication with external devices via a non-terrestrial communication network such as a satellite communication network, and / or does not transmit information to devices on the non-terrestrial communication network).
[0331] Initiating a process for communicating with external devices via non-terrestrial communication based on a set of criteria, or prompting a computer system user to connect to a non-terrestrial communication network, enables the user to quickly communicate with the entity associated with the external device when the criteria are met, and allows the user to identify the action to be taken to connect to the non-terrestrial communication network when the criteria are not met, thereby providing the user with improved visual feedback, reducing the amount of input required to perform the operation, and / or performing the operation without further user input when a set of conditions has been met.
[0332] In some implementations, when (or in some implementations, depending on determination) the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) operates in a first mode of operation (e.g., Figure 6G , Figure 6H and Figures 60 to 6AJWhen the computer system 600 is operating in the indicated mode, the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) displays user interface elements (e.g., 636b) (e.g., text, symbols, objects and / or visual elements) via a display generation component (e.g., 602) (e.g., a display, touchscreen display, monitor, holographic display system and / or head-mounted display system) configured to communicate with the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658). (In some embodiments, the computer system displays user interface elements on a messaging user interface of a messaging application, such as in the session area of the messaging user interface), indicating (e.g., via text, symbols) user interface elements (e.g., ... When a computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) operates in a first operating mode, the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) waives (e.g., does not) output notifications (e.g., visual notifications, audio notifications and / or haptic notifications) in response to received incoming communications (e.g., incoming text messages, photo messages, voice messages and / or video messages). (In some embodiments, the computer system receives incoming communications via a non-terrestrial communication network (e.g., transmitted to the computer system via a satellite via a non-terrestrial communication network)). (e.g., when the computer system operates in the first operating mode, it is silent and / or otherwise does not output notifications.) In some implementations, based on the determination that the computer system is not operating in a first operating mode and / or based on the determination that the computer system is operating in a second operating mode different from the first operating mode, the computer system refrains from displaying user interface elements, such as a normal operating mode in which the computer system is configured to perform communications via a terrestrial communication network. Displaying user interface elements indicating that the computer system refrains from outputting notifications in response to receiving incoming communications when the computer system is operating in the first operating mode allows the user to recognize that they will not receive alerts from incoming communications when the computer system is operating in the first operating mode, thereby providing the user with improved visual feedback.
[0333] In some implementations, based on the determination that the set of criteria is met (and optionally, when the computer system is displaying a messaging user interface), the computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658) communicates with a display generation component (e.g., 602) (e.g., a display, touchscreen display, monitor, holographic display system, and / or head-mounted display system) via a display generation component (e.g., 602) configured to communicate with the computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658). Display indications (e.g., 620j, 620k, and / or 666a-666d) (e.g., progress bars, progress circles, and / or text indications of loaded and / or received M messages out of N messages) indicate that the computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658) is loading (e.g., downloading and / or receiving) incoming communications (e.g., incoming communications sent to the computer system from an external device via a non-terrestrial communication network and / or incoming communications received by the computer system via a non-terrestrial communication network). Displaying indications that the computer system is loading incoming communications allows the user to recognize that incoming communications have been received and that the computer is in the process of receiving incoming communications, thus providing improved visual feedback to the user.
[0334] In some implementations, computer systems (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) receive incoming communications via non-terrestrial communication networks (e.g., the computer system receives data related to the incoming communications from a device on a non-terrestrial communication network, such as a satellite). In response to receiving an incoming communication via a non-terrestrial communication network, a computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) displays a message indicator (e.g., 620l and / or 666e) (e.g., a message, text, and / or graphic element including the content of the incoming communication) via a display generation component (e.g., 602), wherein displaying the message indicator (e.g., 620l and / or 666e) includes replacing the display of an indicator (e.g., 620j, 620k and / or 666a-666d) with the message indicator (e.g., 620l and / or 666e) (e.g., the computer system stops displaying the indicator at a first position of the display generation component and displays the message indicator at the first position of the display generation component). Replacing the display of indicators with message indicators allows users to quickly view incoming communications and identify when the computer system has received them without requiring further input from the user. This provides improved visual feedback to the user, reduces the amount of input required to perform an operation, and / or allows an operation to be performed when a set of conditions has been met without requiring further user input.
[0335] In some implementations, when (or in some implementations, depending on determination) the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) operates in a first mode of operation (e.g., Figure 6G , Figure 6H and Figures 60 to 6AJWhen the computer system 600 is in operation (as shown in the operating mode), the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) displays a messaging user interface (e.g., 620) via a display generation component (e.g., 602) (e.g., a display, touchscreen display, monitor, holographic display system and / or head-mounted display system) configured to communicate with the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658). (e.g., a user interface including one or more user interface elements corresponding to the transmitted and / or received communications between the computer system and one or more external devices and / or including one or more graphical user interface elements (such as a keyboard and / or combination area) that enable the user of the computer system to input and view the content of communications configured to be transmitted from the computer system to one or more external devices). When a computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658) is displaying a messaging user interface (e.g., 620), based on the determination that a second set of criteria is met (e.g., the computer system is positioned such that it loses communication with a satellite from a non-terrestrial communication network and / or the signal between the computer system and the satellite has a strength below a threshold strength), the computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658) displays a prompt (e.g., 622, 622a, 622b, and / or 628) via a display generation component (e.g., 602). The computer system displays user interface objects and / or user interfaces via its display generation components. These user interface objects and / or user interfaces include instructions for the user of the computer system on how to meet a second set of criteria, such as how to properly align the computer system with a satellite to enable communication. They also indicate that the computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658) is not aligned with elements of a non-terrestrial communication network (e.g., satellites and / or antennas) (e.g., orientation and / or positioning relative to external devices, such that the azimuth and / or elevation angles of the computer system enable communication between the computer system and the external devices). Displaying a prompt indicating that the computer system is not aligned with elements of a non-terrestrial communication network when the second set of criteria is met enables the user of the computer system to take actions to enhance the signal between the computer system and the non-terrestrial communication network, thereby providing the user with improved visual feedback and / or performing operations without further user input once a set of conditions has been met.
[0336] In some implementations, prompts indicating that the computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658) is not aligned with elements of a non-terrestrial communication network (e.g., 622, 622a, 622b, and / or 628) are displayed in a dynamic area (e.g., 624) of the display generating component (e.g., 602) (e.g., an area where the user interface changes size and / or position relative to the display generating component over time). Displaying prompts indicating that the computer system is not aligned with a non-terrestrial communication network in the dynamic area of the display generating component allows the user to recognize that actions should be taken to strengthen the connection with the non-terrestrial communication network, thereby providing the user with improved visual feedback.
[0337] In some implementations, a prompt (e.g., 622, 622a, 622b and / or 628) indicating that a computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) is not aligned with an element of a non-terrestrial communication network is displayed in a first size (e.g., the size of the connection indicator 622) (e.g., a first size relative to the overall size of the display generating component) in a dynamic area (e.g., 624) of the display generating component (e.g., 602). Based on the determination that the third set of criteria is met (e.g., the computer system and external devices of the non-terrestrial communication network are no longer connected to and / or communicate with each other), the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) displays a prompt (e.g., 602) in the dynamic area (e.g., 624) at a second size (e.g., the size of the connected user interface object 628) (e.g., a second size relative to the overall size of the display generation component) indicating that the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) is not aligned with the elements of the non-terrestrial communication network (e.g., 622, 622a, 622b and / or 622b). 628), wherein the second size is larger than the first size (e.g., the prompt is displayed in a larger size and / or displayed with additional information to further alert and / or notify the user of the computer system that a third set of criteria has been met). (In some embodiments, when the prompt is displayed in the first size, the dynamic area occupies a first portion of the display generating component, and when the prompt is displayed in the second size, the dynamic area occupies a second portion of the display generating component, wherein the second portion of the display generating component is larger than the first portion of the display generating component). (In some embodiments, displaying the prompt in the second size, compared to displaying the prompt in the first size, includes changing the appearance of the prompt and / or changing the information included in the prompt). (In some embodiments, the prompt displayed in the second size, compared to displaying the prompt in the first size, includes additional information and / or context, such as additional guidance and / or information on how to connect to a non-terrestrial communication network). When the third set of criteria is met, displaying a prompt in a second size larger than the first size, indicating that the computer system is not aligned with the non-terrestrial communication network, further warns the user to take action to connect to the non-terrestrial communication network, thereby providing the user with improved visual feedback.
[0338] In some implementations, in response to establishing communication with a non-terrestrial communication network (e.g., the signal between the computer system and an external device of the non-terrestrial communication network, such as a satellite, exceeds a threshold signal strength for enabling communication between the computer system and the external device), the computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658) initiates a process for transmitting communication (e.g., text messages, audio messages, voice messages, video messages, and / or images) via the non-terrestrial communication network. After initiating the process for transmitting communication via the non-terrestrial communication network, the computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658) receives (e.g., from a second element and / or another device of the non-terrestrial communication network) an acknowledgment indication (e.g., 638d and / or 648d) that the second element of the non-terrestrial communication network (e.g., a satellite and / or antenna) has received communication (e.g., data indicating that the second element of the non-terrestrial communication network has received communication). In response to receiving an acknowledgment indication that the second element has received communication (e.g., 638d and / or 648d), the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) displays an acknowledgment user interface element (e.g., 638d and / or 648d) (e.g., text, image, object and / or graphic element) confirming that the second element has received communication (e.g., a display, touchscreen display, monitor, holographic display system and / or head-mounted display system) configured to communicate with the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) confirming that the second element has received communication (e.g., text, image, object and / or graphic element). Displaying the acknowledgment user interface element confirming that the second element has received communication allows the user to quickly recognize that the communication was received by the second element and / or that the user does not need to take any additional action to transmit the communication, thereby providing the user with improved visual feedback.
[0339] In some embodiments, the second element of the non-terrestrial communication network is a satellite of the non-terrestrial communication network, and a confirmation user interface element (e.g., 638d and / or 648d) is displayed to confirm that the second element has received the communication, regardless of whether an external device (e.g., 634, 646, 654 and / or 658) associated with the recipient of the communication (e.g., a contact of a user of a computer system where the user of the computer system intends to communicate) (e.g., a smartphone, smartwatch, tablet computer, laptop computer, desktop computer, wearable device and / or head-mounted device) has received the communication (e.g., the confirmation user interface element confirms that the communication has been received by the satellite, but does not include confirmation about whether the communication has been delivered to and / or received by the external device). (In some embodiments, the confirmation user interface element does not include an indication that the external device associated with the recipient of the communication has received the communication, but does include an indication that the second element of the non-terrestrial communication network has received the communication). Regardless of whether the external device associated with the recipient of the communication receives the communication, a confirmation user interface element is displayed, allowing the user to recognize that the communication may not be received by the recipient immediately and / or the communication may be received by the recipient after an additional time from when the communication is received by the second element, thereby providing the user with improved visual feedback.
[0340] In some implementations, after initiating a process for communicating with external devices (e.g., 634, 646, 654 and / or 658) via a non-terrestrial communication network, the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) transmits communications (e.g., text messages, audio messages, voice messages, video messages and / or images) via the non-terrestrial communication network (e.g., transmitting communications to external devices such as satellites on the non-terrestrial communication network, enabling the non-terrestrial communication network to deliver communications to the receiving device and / or enabling communications to be delivered to the receiving device). After communication is sent via a non-terrestrial communication network and based on the determination that the communication is a first type of communication (e.g., a short message service message and / or a text message), a computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) initiates a process to enable the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) to receive one or more second communications from an external device (e.g., 634, 646, 654 and / or 658) within a predetermined amount of time (e.g., one day and / or 24 hours from the time the computer system sends the communication and / or the time it receives the communication from the external device). This process involves initiating a process to enable and / or configure the computer system to receive communications from the external device and / or initiating a process to enable and / or configure the external device to transmit communications to the computer system via a non-terrestrial communication network. The process of initiating communication between a computer system and an external device by determining that the communication is of the first type allows the user to communicate with a recipient associated with an external device that would otherwise be unable to contact the user, thereby performing an operation without further user input once a set of conditions have been met.
[0341] In some implementations, prior to transmitting communication via a non-terrestrial communication network, the computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658) displays a communication indicator (e.g., 648e) via a display generation component (e.g., 602) (e.g., a display, touchscreen display, monitor, holographic display system, and / or head-mounted display system) configured to communicate with the computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658). This indicator (e.g., text, graphical objects, and / or user interface elements indicating that transmitting communication will open and / or activate the communication from a recipient (such as a device associated with the recipient) to the computer system via the non-terrestrial communication network within a time window, and instructing the transmission of communication (e.g., user input by the computer system transmitting and / or enabling the computer system to transmit communication) to initiate a timed event. A time window (e.g., a predetermined amount of time, such as the time when a communication is sent from a computer system, or the time when a device on a non-terrestrial communication network, such as a satellite, receives a communication and / or the time when a device associated with the recipient of the communication receives a communication) is provided for the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) to receive (e.g., via a non-terrestrial communication network) communications (e.g., text messages, images, audio messages, voice messages and / or video messages) from external devices (e.g., 634, 646, 654 and / or 658) (e.g., devices associated with the recipient of the communication) within the predetermined amount of time (e.g., the computer system cannot receive communications from external devices after the predetermined amount of time has ended, and / or the external devices cannot transmit and / or send communications to the computer system after the predetermined amount of time has ended). In some implementations, after a predetermined amount of time has elapsed and the computer system has sent another communication to the external device, the external device is configured to send communication to the computer system via a non-terrestrial network within a predetermined amount of time. A communication indicator that displays the initiation of communication and provides the computer system with a time window to receive communication from the external device within a predetermined amount of time allows the user to recognize that the recipient associated with the external device can communicate with the user within a limited amount of time, thereby providing improved visual feedback to the user.
[0342] In some implementations, after initiating a process for communicating with an external device (e.g., 634, 646, 654, and / or 658) via a non-terrestrial communication network and based on determining that the computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658) communicates with a second external device (e.g., 668) (e.g., a smartphone, smartwatch, tablet, laptop, desktop computer, wearable device, and / or head-mounted device) (e.g., a pairing relationship, such as a relationship in which a first type of data is sent between the computer system and the second external device), the second external device (e.g., 668) is not configured to establish a connection with the non-terrestrial communication network (e.g., the second external device does not include hardware and / or software that enables the second external device to connect to, transmit, and / or receive communications via the non-terrestrial communication network). (In some implementations, the second external device does not include hardware and / or software that enables the second external device to connect to, transmit, and / or receive communications via the non-terrestrial communication network). The external device has hardware and / or software capable of communicating with a cellular communication network. The computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) enables (e.g., to transmit data and / or information to the second external device) the second external device (e.g., 668) to display one or more indications (e.g., 668b, 668c, 668d and / or 668e) of communications transmitted or received by the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) via a non-terrestrial communication network (e.g., text, graphical user interface objects and / or graphical elements) (e.g., the display generation component of the second external device displays the message and / or message indications transmitted and / or received by the computer system via a non-terrestrial communication network). In some implementations, the second external device displays one or more indications related to communications transmitted or received by the computer system via a non-terrestrial communication network, but the second external device itself cannot transmit or receive communications via the non-terrestrial communication network (e.g., the second external device communicates with the computer system and receives data and / or information related to communications transmitted and / or received by the computer system via the non-terrestrial communication network). Displaying one or more indications of communications transmitted or received by the computer system via the non-terrestrial communication network allows the user to confirm that the communications have been transmitted and / or received by the computer system using the additional device, thereby providing the user with improved visual feedback.
[0343] In some implementations, based on the determination that the computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658) has communicated with external devices (e.g., 634, 646, 654, and / or 658) for a predetermined amount of time (e.g., one day, one week, two weeks, three weeks, four weeks, or 30 days from the current time) (e.g., transmitting and / or receiving communications from external devices), an initiation is made for communication with external devices via a non-terrestrial communication network. The communication process (e.g., 634, 646, 654 and / or 658) includes the computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) communicating with external devices (e.g., 634, 646, 654 and / or 658) via a first communication protocol (e.g., short message service, encrypted messaging service, short range communication and / or direct wireless communication technology). (e.g., transmitting and / or configuring the computer system to transmit communication.) Based on the determination that the computer system (e.g., 100, 300, 500, 600, 634, 646, 654, and / or 658) has not communicated with the external device (e.g., 634, 646, 654, and / or 658) within a predetermined amount of time (e.g., the computer system has not transmitted and / or received communication with the external device within a predetermined amount of time from the current time), an initiation is made to communicate with the external device (e.g., 634, 646, 654, and / or 658) via a non-terrestrial communication network. The communication process includes a computer system (e.g., 100, 300, 500, 600, 634, 646, 654 and / or 658) communicating with an external device (e.g., 634, 646, 654 and / or 658) via a second communication protocol (e.g., short message service, encrypted messaging service, short range communication and / or direct wireless communication technology) (in some embodiments, the second communication protocol differs from the first communication protocol). The process of initiating communication with the external device via a non-terrestrial communication network (including enabling communication with the external device via the first communication protocol or via the second communication protocol) based on whether the computer system has communicated with the external device within a predetermined amount of time allows the user to communicate with the external device regardless of when the computer system last communicated with the external device, and / or enables the computer system to communicate with the external device via a preferred communication protocol of the external device with which the computer system frequently communicates, thereby providing the user with improved visual feedback, reducing the amount of input required to perform an operation, and / or performing an operation without further user input when a set of conditions has already been met.
[0344] In some implementations, if the request to communicate with external devices (e.g., 634, 646, 654, and / or 658) via a non-terrestrial communication network is determined to include a request to communicate with multiple external devices (e.g., multiple external devices ass...
Claims
1. A method, the method comprising: At the computer system: In response to a request to transmit communication to an external device: Based on the determination that the external device is operating in a first operating mode, the user of the computer system is prompted to provide input to confirm the transmission of the communication to the external device via a first communication protocol; as well as Based on the determination that the external device is not operating in the first operating mode: The user is prompted to provide user input to confirm the transmission of the communication to the external device via the first communication protocol. as well as The communication is transmitted to the external device via a second communication protocol different from the first communication protocol.
2. The method according to claim 1, further comprising: Before prompting the user of the computer system to provide input for confirming the transmission of the communication to the external device: Based on the determination that one or more communication standards are met, a status indicator instructing the external device to operate in the first operating mode is displayed via a display generation component configured to communicate with the computer system.
3. The method according to claim 2, further comprising: Before prompting the user of the computer system to provide input for confirming the transmission of the communication to the external device: If it is determined that the set of one or more communication standards is not met, wherein the external device is not met when associated with a first type of contactable entity, the display of the status indicator indicating that the external device operates in the first operating mode is abandoned.
4. The method according to claim 3, further comprising: In response to detecting user input corresponding to the input used to confirm the transmission of the communication to the external device via one or more input devices configured to communicate with the computer system, a process of transmitting the communication to the external device is initiated; as well as After transmitting the communication to the external device: Based on the determination that the external device is associated with the first type of contactable entity, the status indicator indicating that the external device is operating in the first operating mode is displayed via the display generation component.
5. The method according to any one of claims 1 to 2, further comprising: Before prompting the user of the computer system to provide input for confirming the transmission of the communication to the external device via the first communication protocol, an indication of the character count of the communication is displayed via a display generation component configured to communicate with the computer system.
6. The method according to any one of claims 1 to 2, further comprising: After the communication is transmitted to the external device via the first communication protocol and based on the determination that the communication has been delivered to an intermediate device associated with the first communication protocol, an indication that the communication has been delivered to the intermediate device associated with the first communication protocol is displayed via a display generation component configured to communicate with the computer system.
7. The method according to any one of claims 1 to 2, further comprising: After transmitting the communication to the external device via the second communication protocol: Based on the determination that the external device switches to the first operating mode before receiving the communication via the second communication protocol, the user of the computer system is prompted to provide the input for confirming the transmission of the communication to the external device via the first communication protocol.
8. The method according to any one of claims 1 to 2, further comprising: After the communication is transmitted to the external device via the first communication protocol, a request to transmit a second communication to the external device is detected via one or more input devices configured to communicate with the computer system. as well as In response to detecting the request to transmit the second communication to the external device: Based on the determination that the external device is operating in the first operating mode, the prompting of the user of the computer system to provide input for confirming the transmission of the second communication to the external device via the first communication protocol is abandoned.
9. The method according to any one of claims 1 to 2, further comprising: In response to the request to transmit the communication to the external device: The request to transmit the communication to the external device, as determined, includes a first type of communication: Abandon transmitting the communication to the external device via the first communication protocol; as well as Initiate a process of receiving third communication from the external device via the first communication protocol.
10. The method according to claim 9, further comprising: After receiving the third communication from the external device via the first communication protocol, a request to transmit a fourth communication to the external device via the first communication protocol is detected via one or more input devices configured to communicate with the computer system. as well as In response to detecting a request to transmit the fourth communication to the external device via the first communication protocol, a process for transmitting the fourth communication to the external device via the first communication protocol is initiated.
11. The method according to any one of claims 1 to 2, further comprising: Based on the determination that a request to transmit the communication to a second external device communicating with the computer system has been received: Abandon the transmission of the communication to the external device via the computer system; as well as The process of initiating the transmission of the communication to the external device via the second external device.
12. The method according to any one of claims 1 to 2, further comprising: Based on determining that the external device is operating in the first operating mode and based on determining that the request to transmit the communication to the external device is a request to transmit communication to multiple external devices, the system abandons prompting the user of the computer system to provide input for confirming the transmission of the communication to the external device via the first communication protocol.
13. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system, the one or more programs including instructions for performing the method according to any one of claims 1 to 12.
14. A computer system, the computer system comprising: One or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method according to any one of claims 1 to 12.
15. A computer system, the computer system comprising: Components for performing the method according to any one of claims 1 to 12.
16. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system, the one or more programs comprising instructions for performing the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Method and apparatus for integrating manual input
US20020015024A1
Gestures for touch sensitive input devices
US20060026521A1
Gestures for touch sensitive input devices
US20060026536A1
Virtual input device placement on a touch screen user interface
US20060033724A1
Multipoint touchscreen
US20060097991A1