Methods and systems for sharing content sessions, and their storage media and program products

By managing shared content sessions through asynchronous communication, the inefficiency of existing technologies is solved, enabling faster and more efficient management of shared content sessions, thus improving user experience and device efficiency.

CN117041417BActive Publication Date: 2026-04-03APPLE INC
View PDF 22 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-10
Publication Date
2026-04-03

AI Technical Summary

Technical Problem

Existing technologies are inefficient in managing shared content sessions in electronic devices, resulting in wasted user time and device energy, especially in battery-powered devices.

Method used

This invention provides a method and interface for managing shared content sessions via asynchronous communication, disabling real-time communication features, reducing user input and cognitive burden, and improving device efficiency and battery life.

Benefits of technology

It enables faster and more efficient shared content session management, reduces user cognitive burden and device power consumption, and extends battery life.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117041417B_ABST
    Figure CN117041417B_ABST
Patent Text Reader

Abstract

This disclosure relates generally to a user interface for managing shared content sessions. In some embodiments, if a shared content session is initiated via asynchronous communication, the shared content session is initiated even if real-time communication features are disabled. In some embodiments, an option is provided for joining a real-time communication session while the shared content session is active. In some embodiments, while the communication session is active, a user interface including a representation of an application configured to provide content that can be played as synchronous content during the communication session is displayed. In some embodiments, if a computer system detects a real-time communication session at an external computer system and meets criteria, the computer system displays an option to transfer the real-time communication session from the external computer system to its own system.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of patent application No. 202310520843.3, filed on May 10, 2023, entitled "User Interface for Managing Shared Content Sessions". Technical Field

[0002] This disclosure relates generally to computer user interfaces, and more specifically to techniques for managing shared content sessions. Background Technology

[0003] A computer system may include hardware and / or software for displaying interfaces for various types of communication and information sharing. Summary of the Invention

[0004] Some technologies used for communication and information sharing 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.

[0005] Therefore, this technology provides electronic devices with a faster and more efficient method and interface for managing shared content sessions. Such methods and interfaces can optionally complement or replace other methods for managing shared content sessions. These methods and interfaces reduce the cognitive burden on users and result in a more effective human-machine interface. For battery-powered computing devices, such methods and interfaces save power and increase the time interval between battery charging sessions.

[0006] This document describes an example method. An exemplary method includes, at a computer system communicating with one or more display generation components and one or more input devices: while displaying a user interface for initiating a shared content session with an external computer system via the one or more display generation components, receiving via the one or more input devices a first set of one or more inputs corresponding to a request to initiate a shared content session with one or more external computer systems; and in response to receiving the first set of one or more inputs corresponding to the request to initiate a shared content session with one or more external computer systems, initiating a shared content session with one or more external computer systems, wherein the shared content session, when active, enables the computer system to output corresponding content while the one or more external computer systems are outputting corresponding content, wherein initiating the shared content session with one or more external computer systems includes: initiating the shared content session in a first mode based on determining that the shared content session is initiated via asynchronous communication, wherein in the first mode, a set of real-time communication features are disabled for the shared content session.

[0007] An exemplary method includes, at a computer system communicating with one or more display generation components and one or more input devices: when the computer system is in a shared content session in which synchronized content is enabled for sharing with an external computer system, and when a real-time communication session is not enabled, receiving an invitation to join a real-time communication session, and displaying an option via the one or more display generation components to accept the invitation to join the real-time communication session; and after receiving the invitation to join the real-time communication session: joining the real-time communication session according to the option that has been selected to accept the invitation to join the real-time communication session; and abandoning joining the real-time communication session according to the option that has not been selected to accept the invitation to join the real-time communication session.

[0008] An exemplary method includes, at a computer system communicating with one or more display generating components and one or more input devices: when the computer system is in a communication session with an external computer system: displaying a control user interface via the one or more display generating components for controlling one or more settings of the communication session, wherein the control user interface includes a first control option; detecting a set of one or more inputs directed to the control user interface via the one or more input devices, wherein the set of one or more inputs includes a selection of the first control option; and, in response to detecting the selection of the first control option, displaying a representation of one or more applications available on the computer system, the one or more applications being configured to provide content that can be played as synchronized content during the communication.

[0009] An exemplary method includes, at a computer system communicating with one or more display generation components and one or more cameras: when the computer system is associated with a corresponding user account, receiving first data indicating whether a first external computer system meets a first set of criteria, wherein the first external computer system is met when it is within a threshold distance of the computer system, is associated with the corresponding user account, and is in a real-time communication session with a second external computer system; and after receiving the first data and based on determining that the first data indicates the first external computer system meets the first set of criteria, displaying, via the one or more display generation components, a corresponding user interface including a user interface object selectable to initiate a process for joining the real-time communication session with the second external computer system, wherein displaying the corresponding user interface includes, based on determining that the real-time communication session includes a live video feed, displaying a representation of the field of view of the one or more cameras.

[0010] This document describes an example non-transitory computer-readable storage medium. An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generation components and one or more input devices. The one or more programs include instructions for: receiving, when a user interface for initiating a shared content session with an external computer system is displayed via the one or more display generation components, a first set of one or more inputs corresponding to a request to initiate a shared content session with one or more external computer systems; and, in response to receiving the first set of one or more inputs corresponding to the request to initiate a shared content session with one or more external computer systems, initiating a shared content session with one or more external computer systems, wherein the shared content session, when active, enables the computer system to output corresponding content while the one or more external computer systems are outputting corresponding content, wherein initiating the shared content session with one or more external computer systems includes: initiating the shared content session in a first mode based on determining that the shared content session is initiated via asynchronous communication, in which a set of real-time communication features are disabled for the shared content session.

[0011] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generation components and one or more input devices. The one or more programs include instructions for: receiving an invitation to join a real-time communication session when the computer system is in a shared content session in which synchronized content is enabled for sharing with an external computer system, and when a real-time communication session is not enabled; and displaying an option via the one or more display generation components to accept the invitation to join the real-time communication session; and after receiving the invitation to join the real-time communication session: joining the real-time communication session according to the option that has been selected to accept the invitation; and abandoning the option to join the real-time communication session according to the option that has not been selected to accept the invitation.

[0012] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generating components and one or more input devices. The one or more programs include instructions for: when the computer system is in a communication session with an external computer system: displaying a control user interface via the one or more display generating components for controlling one or more settings of the communication session, wherein the control user interface includes a first control option; detecting a set of one or more inputs directed to the control user interface via the one or more input devices, wherein the set of one or more inputs includes a selection of the first control option; and, in response to detecting the selection of the first control option, displaying a representation of one or more applications available on the computer system, the one or more applications being configured to provide content that can be played as synchronized content during the communication.

[0013] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generation components and one or more input devices. The one or more programs include instructions for: receiving first data indicating whether a first external computer system meets a first set of criteria when the computer system is associated with a corresponding user account, wherein the first external computer system meets the first set of criteria when it is within a threshold distance of the computer system, associated with the corresponding user account, and in a real-time communication session with a second external computer system; and, upon receiving the first data and based on determining that the first data indicates the first external computer system meets the first set of criteria, displaying via the one or more display generation components a corresponding user interface including a user interface object selectable to initiate a process for joining the real-time communication session with the second external computer system, wherein displaying the corresponding user interface includes: displaying a representation of the field of view of the one or more cameras based on determining that the real-time communication session includes a live video feed.

[0014] This document describes an example transient computer-readable storage medium. An exemplary transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generation components and one or more input devices. The one or more programs include instructions for: receiving, when a user interface for initiating a shared content session with an external computer system is displayed via the one or more display generation components, a first set of one or more inputs corresponding to a request to initiate a shared content session with one or more external computer systems; and, in response to receiving the first set of one or more inputs corresponding to the request to initiate a shared content session with one or more external computer systems, initiating a shared content session with one or more external computer systems, wherein the shared content session, when active, enables the computer system to output corresponding content while the one or more external computer systems are outputting corresponding content, wherein initiating the shared content session with one or more external computer systems includes: initiating the shared content session in a first mode based on determining that the shared content session is initiated via asynchronous communication, in which a set of real-time communication features are disabled for the shared content session.

[0015] An exemplary transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generation components and one or more input devices. The one or more programs include instructions for: receiving an invitation to join a real-time communication session when the computer system is in a shared content session in which synchronized content is enabled for sharing with an external computer system, and when a real-time communication session is not enabled; and displaying an option via the one or more display generation components to accept the invitation to join the real-time communication session; and after receiving the invitation to join the real-time communication session: joining the real-time communication session according to the option that has been selected to accept the invitation; and abandoning joining the real-time communication session according to the option that has not been selected to accept the invitation.

[0016] An exemplary transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generating components and one or more input devices. The one or more programs include instructions for: when the computer system is in a communication session with an external computer system: displaying a control user interface via the one or more display generating components for controlling one or more settings of the communication session, wherein the control user interface includes a first control option; detecting a set of one or more inputs directed to the control user interface via the one or more input devices, wherein the set of one or more inputs includes a selection of the first control option; and, in response to detecting the selection of the first control option, displaying a representation of one or more applications available on the computer system, the one or more applications being configured to provide content that can be played as synchronized content during the communication.

[0017] An exemplary transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generation components and one or more input devices. The one or more programs include instructions for: receiving first data indicating whether a first external computer system meets a first set of criteria when the computer system is associated with a corresponding user account, wherein the first external computer system meets the first set of criteria when it is within a threshold distance of the computer system, associated with the corresponding user account, and in a real-time communication session with a second external computer system; and, upon receiving the first data and based on determining that the first data indicates the first external computer system meets the first set of criteria, displaying via the one or more display generation components a corresponding user interface including a user interface object selectable to initiate a process for joining the real-time communication session with the second external computer system, wherein displaying the corresponding user interface includes: displaying a representation of the field of view of the one or more cameras based on determining that the real-time communication session includes a live video feed.

[0018] This document describes an exemplary computer system. An exemplary computer system is configured to communicate with one or more display generation components and one or more input devices, and includes: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: receiving, via the one or more input devices, a first set of one or more inputs corresponding to a request to initiate a shared content session with one or more external computer systems when a user interface for initiating a shared content session with one or more external computer systems is displayed via the one or more display generation components; and in response to receiving the first set of one or more inputs corresponding to the request to initiate a shared content session with one or more external computer systems, initiating a shared content session with one or more external computer systems, wherein the shared content session, when active, enables the computer system to output corresponding content while the one or more external computer systems are outputting corresponding content, wherein initiating the shared content session with one or more external computer systems includes: initiating the shared content session in a first mode based on determining that the shared content session is initiated via asynchronous communication, in which a set of real-time communication features are disabled for the shared content session.

[0019] An exemplary computer system is configured to communicate with one or more display generation components and one or more input devices, and includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: receiving an invitation to join a real-time communication session when the computer system is in a shared content session in which synchronized content is enabled for sharing with an external computer system, and when a real-time communication session is not enabled, and displaying an option via the one or more display generation components to accept the invitation to join the real-time communication session; and after receiving the invitation to join the real-time communication session: joining the real-time communication session according to the option that has been selected to accept the invitation to join the real-time communication session; and abandoning joining the real-time communication session according to the option that has not been selected to accept the invitation to join the real-time communication session.

[0020] An exemplary computer system is configured to communicate with one or more display generation components and one or more input devices, and includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: when the computer system is in a communication session with an external computer system: displaying a control user interface via the one or more display generation components for controlling one or more settings of the communication session, wherein the control user interface includes a first control option; detecting a set of one or more inputs directed to the control user interface via the one or more input devices, wherein the set of one or more inputs includes a selection of the first control option; and in response to detecting the selection of the first control option, displaying a representation of one or more applications available on the computer system, the one or more applications being configured to provide content that can be played as synchronized content during the communication.

[0021] An exemplary computer system is configured to communicate with one or more display generation components and one or more cameras, and includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: receiving first data indicating whether a first external computer system meets a first set of criteria when the computer system is associated with a corresponding user account, wherein the first external computer system meets the first set of criteria when it is within a threshold distance of the computer system, is associated with the corresponding user account, and is in a real-time communication session with a second external computer system; and after receiving the first data and based on determining that the first data indicates that the first external computer system meets the first set of criteria, displaying a corresponding user interface via the one or more display generation components, including a user interface object capable of being selected to initiate a process for joining the real-time communication session with the second external computer system, wherein displaying the corresponding user interface includes: displaying a representation of the field of view of the one or more cameras based on determining that the real-time communication session includes a live video feed.

[0022] An exemplary computer system is configured to communicate with one or more display generation components and one or more input devices, and includes: means for operating to receive, via the one or more input devices, a first set of one or more inputs corresponding to a request to initiate a shared content session with one or more external computer systems when a user interface for initiating a shared content session with one or more external computer systems is displayed via the one or more display generation components; and means for operating to initiate a shared content session with one or more external computer systems in response to receiving the first set of one or more inputs corresponding to a request to initiate a shared content session with one or more external computer systems, wherein the shared content session, when active, enables the computer system to output corresponding content while the one or more external computer systems are outputting corresponding content, wherein initiating the shared content session with one or more external computer systems includes: initiating the shared content session in a first mode based on determining that the shared content session is initiated via asynchronous communication, wherein in the first mode, a set of real-time communication features are disabled for the shared content session.

[0023] An exemplary computer system is configured to communicate with one or more display generation components and one or more input devices, and includes means for: receiving an invitation to join a real-time communication session when the computer system is in a shared content session in which synchronized content is enabled for sharing with an external computer system, and when a real-time communication session is not enabled, and displaying an option via the one or more display generation components to accept the invitation to join the real-time communication session; and after receiving the invitation to join the real-time communication session: joining the real-time communication session according to the option that has been selected to accept the invitation to join the real-time communication session; and abandoning joining the real-time communication session according to the option that has not been selected to accept the invitation to join the real-time communication session.

[0024] An exemplary computer system is configured to communicate with one or more display generating components and one or more input devices, and includes means for performing the following operations when the computer system is in a communication session with an external computer system: displaying a control user interface via the one or more display generating components for controlling one or more settings of the communication session, wherein the control user interface includes a first control option; detecting a set of one or more inputs directed to the control user interface via the one or more input devices, wherein the set of one or more inputs includes a selection of the first control option; and, in response to detecting the selection of the first control option, displaying a representation of one or more applications available on the computer system, the one or more applications being configured to provide content that can be played as synchronized content during the communication.

[0025] An exemplary computer system is configured to communicate with one or more display generation components and one or more cameras and includes means for: receiving, when the computer system is associated with a corresponding user account, first data indicating whether a first external computer system meets a first set of criteria, wherein the first external computer system meets the first set of criteria when it is within a threshold distance of the computer system, is associated with the corresponding user account, and is in a real-time communication session with a second external computer system; and, after receiving the first data and based on determining that the first data indicates the first external computer system meets the first set of criteria, displaying, via the one or more display generation components, a corresponding user interface including a user interface object selectable to initiate a process for joining the real-time communication session with the second external computer system, wherein displaying the corresponding user interface includes: based on determining that the real-time communication session includes live video feed, displaying a representation of the field of view of the one or more cameras.

[0026] This document describes an exemplary computer program product. An exemplary computer program product includes one or more programs configured to execute by one or more processors of a computer system communicating with one or more display generation components and one or more input devices. The one or more programs include instructions for: receiving, when a user interface for initiating a shared content session with an external computer system is displayed via the one or more display generation components, a first set of one or more inputs corresponding to a request to initiate a shared content session with one or more external computer systems; and, in response to receiving the first set of one or more inputs corresponding to the request to initiate a shared content session with one or more external computer systems, initiating a shared content session with one or more external computer systems, wherein the shared content session, when active, enables the computer system to output corresponding content while the one or more external computer systems are outputting corresponding content, wherein initiating the shared content session with one or more external computer systems includes: initiating the shared content session in a first mode based on determining that the shared content session is initiated via asynchronous communication, in which a set of real-time communication features are disabled for the shared content session.

[0027] An exemplary computer program product includes one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generation components and one or more input devices. The one or more programs include instructions for: receiving an invitation to join a real-time communication session when the computer system is in a shared content session in which synchronized content is enabled for sharing with an external computer system, and when a real-time communication session is not enabled; and displaying an option via the one or more display generation components to accept the invitation to join the real-time communication session; and after receiving the invitation to join the real-time communication session: joining the real-time communication session according to the option that has been selected to accept the invitation; and abandoning the option to join the real-time communication session according to the option that has not been selected to accept the invitation.

[0028] An exemplary computer program product includes one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generation components and one or more input devices. The one or more programs include instructions for: when the computer system is in a communication session with an external computer system: displaying a control user interface via the one or more display generation components for controlling one or more settings of the communication session, wherein the control user interface includes a first control option; detecting a set of one or more inputs directed to the control user interface via the one or more input devices, wherein the set of one or more inputs includes a selection of the first control option; and, in response to detecting the selection of the first control option, displaying a representation of one or more applications available on the computer system, the one or more applications being configured to provide content that can be played as synchronized content during the communication.

[0029] An exemplary computer program product includes one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: receiving first data indicating whether a first external computer system meets a first set of criteria when the computer system is associated with a corresponding user account, wherein the first external computer system meets the first set of criteria when it is within a threshold distance of the computer system, associated with the corresponding user account, and in a real-time communication session with a second external computer system; and after receiving the first data and based on determining that the first data indicates the first external computer system meets the first set of criteria, displaying, via the one or more display generation components, a corresponding user interface including a user interface object selectable to initiate a process for joining the real-time communication session with the second external computer system, wherein displaying the corresponding user interface includes: displaying a representation of the field of view of the one or more cameras based on determining that the real-time communication session includes a live video feed.

[0030] 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.

[0031] Therefore, faster and more efficient methods and interfaces are provided for managing shared content sessions, thereby improving the effectiveness, efficiency, and user satisfaction of such devices. These methods and interfaces can complement or replace other methods used to manage shared content sessions. Attached Figure Description

[0032] 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.

[0033] Figure 1A This is a block diagram illustrating a portable multi-functional device with a touch-sensitive display according to some embodiments.

[0034] Figure 1B This is a block diagram illustrating exemplary components for event handling according to some implementation schemes.

[0035] Figure 2 A portable multi-functional device with a touchscreen is shown according to some embodiments.

[0036] Figure 3 This is a block diagram of an exemplary multifunctional device having a display and a touch-sensitive surface according to some implementation schemes.

[0037] Figure 4A An exemplary user interface for a menu on an application on a portable multifunction device, according to some implementation schemes, is shown.

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

[0039] Figure 5A A personal electronic device according to some implementation schemes is shown.

[0040] Figure 5B This is a block diagram illustrating a personal electronic device according to some implementation schemes.

[0041] Figure 5C An exemplary diagram of a communication session between electronic devices according to some implementation schemes is shown.

[0042] Figures 6A to 6AH An exemplary user interface for managing shared content sessions is shown according to some implementation schemes.

[0043] Figure 7 A flowchart illustrating a method for initiating a shared content session using asynchronous communication, according to some implementation schemes, is depicted.

[0044] Figure 8 A flowchart illustrating a method for managing real-time communication features of shared content sessions according to some implementation schemes is depicted.

[0045] Figure 9 A flowchart illustrating a method for managing shared content sessions according to some implementation schemes is depicted.

[0046] Figures 10A to 10N An exemplary user interface for managing the transfer of real-time communication sessions is shown according to some implementation schemes.

[0047] Figure 11 A flowchart illustrating a method for managing the transfer of real-time communication sessions according to some implementation schemes is depicted. Detailed Implementation

[0048] The following description illustrates exemplary methods, parameters, etc. However, it should be understood that such description is not intended to limit the scope of this disclosure, but is provided as a description of exemplary embodiments.

[0049] There is a need for electronic devices that provide efficient methods and interfaces for managing shared content sessions. Such technologies can reduce the cognitive burden on users accessing content during shared sessions, thereby improving productivity. Furthermore, these technologies can reduce processor and battery power wasted otherwise on redundant user input.

[0050] under, Figures 1A to 1B , Figure 2 , Figure 3 , Figures 4A to 4B and Figures 5A to 5C A description is provided of an exemplary device for performing a technology for managing shared content sessions. Figures 6A to 6AH An exemplary user interface for managing shared content sessions is shown. Figure 7 This is a flowchart illustrating a method for initiating a shared content session using asynchronous communication, according to some implementation schemes. Figure 8 This is a flowchart illustrating a method for managing real-time communication features of shared content sessions according to some implementation schemes. Figure 9 This is a flowchart illustrating a method for managing shared content sessions according to some implementation schemes. Figure 6A Figure 6AH The user interface in the document is used to illustrate the process described below, including Figures 7 to 9 The process in. Figures 10A to 10N An exemplary user interface for managing the transfer of real-time communication sessions is shown. Figure 11 This is a flowchart illustrating a method for managing the transfer of real-time communication sessions according to some implementation schemes. Figures 10A to 10N The user interface in the document is used to illustrate the processes described below, including... Figure 11 The process in.

[0051] 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 users with improved visual feedback, reducing the amount of input required to perform operations, providing additional control options without cluttering the user interface with additional display controls, performing operations without further user input when a set of conditions have been met, improving privacy and / or security, 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.

[0052] 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 condition described in the method is satisfied. However, this does not require the system or computer-readable medium to declare that the system or computer-readable medium contains instructions for performing discretionary operations based on the satisfaction of the corresponding one or more conditions, and thus to determine whether possible conditions have been satisfied without explicitly repeating the steps of the method until all conditions determining the steps in the method are satisfied. Those skilled in the art will also understand that, similar to methods having discretionary steps, a system or computer-readable storage medium may repeat the steps of the method multiple times as needed to ensure that all discretionary steps have been performed.

[0053] 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 named a second touch and similarly, a second touch may be named 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.

[0054] The terminology used in the description of the various 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 embodiments and the appended claims, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and / or” as used herein refers to and covers any and all possible combinations of one or more of the associated listed items. It will also be understood that the terms “includes”, “including”, “comprises”, and / or “comprising” 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.

[0055] Depending on the context, the term "if" may optionally be interpreted as meaning "when," "at," or "in response to determination" or "in response to detection." Similarly, depending on the context, the phrases "if determination..." or "if detection [the stated condition or event]" may optionally be interpreted as meaning "in response to determination..." or "in response to detection [the stated condition or event]."

[0056] This document describes implementations of electronic devices, user interfaces for such devices, and associated processes for using such devices. In some implementations, the device is a portable communication device, such as a mobile phone, that also includes other functionalities such as PDA and / or music player functionality. Exemplary implementations of portable multi-functional devices include, but are not limited to, the iPhone from Apple Inc. (Cupertino, California). ® Devices, iPod Touch ® Devices and iPads ® Device. Optionally, other portable electronic devices may be used, such as laptops or tablets with touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads). It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer with touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads). In some embodiments, the electronic device is a computer system that communicates with a display generating component (e.g., via wireless or wired communication). 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 displaying content (e.g., video data rendered or decoded by display controller 156) by transmitting data (e.g., image data or video data) to an integrated or external display generating component via a wired or wireless connection to visually generate content.

[0057] 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.

[0058] 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, phone applications, video conferencing applications, email applications, instant messaging applications, fitness support applications, photo management applications, digital camera applications, digital video camcorder applications, web browsing applications, digital music player applications, and / or digital video player applications.

[0059] 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.

[0060] 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 112 is sometimes referred to as a “touchscreen” for convenience, and is sometimes referred to as or called a “touch-sensitive display system.” 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.

[0061] 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 near the contact, and / or the resistance and / or variation of the touch-sensitive surface near the contact may optionally be 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, touch-sensitive surface, or physical / mechanical controls, such as knobs or buttons).

[0062] As used in this specification and claims, the term "haptic output" refers to the physical displacement of a device relative to a previous part of the device, the physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or the 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 has not moved. For example, even when the smoothness of the tactile surface remains unchanged, the movement of the tactile surface can optionally be interpreted or sensed 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 a user (e.g., "press click", "release click", "roughness"), unless otherwise stated, the generated tactile output corresponds to a physical displacement of the device or its components that will generate the sensory perception of a typical (or common) user.

[0063] 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.

[0064] 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 other components of device 100 to access memory 102.

[0065] 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.

[0066] 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 phone 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 near-field 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.

[0067] 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 transmits 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 transmits the audio data to peripheral interface 118 for processing. Audio data is optionally retrieved by peripheral interface 118 from and / or transmitted 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 headphone or a dual-ear headphone) and input (e.g., a microphone).

[0068] 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 / send 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.), dial pads, 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 of the user's fingers or a 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 posture, or a shaking gesture that includes a predetermined speed or amount of rotation of a part of the user's body)).

[0069] 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.

[0070] 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 sends 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.

[0071] 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 point of contact between touchscreen 112 and the user corresponds to the user's finger.

[0072] 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 in the iPhone from Apple Inc. (Cupertino, California). ® and iPod Touch ® The technology used.

[0073] In some embodiments of the touchscreen 112, the touch-sensitive display optionally resembles a multi-touch-sensitive 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.

[0074] The touch-sensitive display in some embodiments of the touchscreen 112 is described in the following applications: (1) U.S. Patent Application 11 / 381,313, filed May 2, 2006, “Multipoint Touch Surface Controller”; (2) U.S. Patent Application 10 / 840,862, filed May 6, 2004, “Multipoint Touchscreen”; (3) U.S. Patent Application 10 / 903,964, filed July 30, 2004, “Gestures For Touch Sensitive Input Devices”; (4) U.S. Patent Application 11 / 048,264, filed January 31, 2005, “Gestures For Touch Sensitive Input Devices”; (5) U.S. Patent Application 11 / 038,590, filed January 18, 2005, “Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices”; (6) U.S. Patent Application No. 11 / 228,758, filed September 16, 2005, “Virtual Input Device Placement On 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 full text of all these applications is incorporated herein by reference.

[0075] 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 locations or commands to perform the user-desired actions.

[0076] 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.

[0077] 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., a battery, alternating current (AC)), a recharging system, a power fault detection circuit, a power converter or inverter, a power status indicator (e.g., a light-emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in the portable device.

[0078] The device 100 may optionally also include one or more optical sensors 164. Figure 1AAn 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, opposite to 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 location of the optical sensor 164 can be changed by the user (e.g., by rotating the lenses and sensor within the device housing), allowing a single optical sensor 164 to be used with the touchscreen display for both video conferencing and still image and / or video image acquisition.

[0079] The device 100 optionally also includes one or more depth camera sensors 175. Figure 1A A depth camera sensor is shown coupled to a depth camera controller 169 in I / O subsystem 106. Depth camera sensor 175 receives data from the environment to create a 3D model of an object (e.g., a face) within the scene from a viewpoint (e.g., the depth camera sensor). In some embodiments, in conjunction with imaging module 143 (also referred to as a camera module), depth camera sensor 175 may optionally be used to determine depth maps of different portions of an image captured by imaging module 143. In some embodiments, the depth camera sensor is located at the front of device 100, such that user images with depth information are optionally acquired for video conferencing while the user views other video conferencing participants on a touchscreen display, and selfies with depth map data are captured. In some embodiments, depth camera sensor 175 is located at the rear of the device, or both the rear and front of device 100. In some embodiments, the position of depth camera sensor 175 may be changed by the user (e.g., by rotating a lens and sensor within the device housing), such that depth camera sensor 175 is used in conjunction with a touchscreen display for both video conferencing and still image and / or video image acquisition.

[0080] The device 100 may optionally also include one or more contact strength sensors 165. Figure 1AA 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.

[0081] The device 100 optionally also includes one or more proximity sensors 166. Figure 1A A proximity sensor 166 coupled to a peripheral device interface 118 is shown. Alternatively, the proximity sensor 166 may optionally be coupled to an input controller 160 in an I / O subsystem 106. The proximity sensor 166 may optionally perform as described in the following U.S. patent applications: No. 11 / 241,839, entitled "Proximity Detector In Handheld Device"; No. 11 / 240,788, entitled "Proximity Detector In Handheld Device"; No. 11 / 620,702, entitled "Using Ambient Light Sensor To Augment Proximity Sensor Output"; No. 11 / 586,862, entitled "Automated Response To And Sensing Of User Activity In Portable Devices"; and No. 11 / 638,251, entitled "Methods And Systems For Automatic Configuration Of Peripherals", the entire contents of which are incorporated herein by reference. In some implementations, when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call), the proximity sensor is turned off and the touchscreen 112 is disabled.

[0082] The device 100 may optionally also include one or more tactile output generators 167. Figure 1AA 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.

[0083] The device 100 may optionally also include one or more accelerometers 168. Figure 1A An accelerometer 168 coupled to a peripheral device interface 118 is shown. Alternatively, the accelerometer 168 may be coupled to an input controller 160 in an I / O subsystem 106. The accelerometer 168 may optionally perform as described in the following U.S. patent publications: U.S. Patent Publication No. 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices" and U.S. Patent Publication No. 20060017692, entitled "Methods and Apparatuses For Operating A Portable Device Based On An Accelerometer," both of which are incorporated herein by reference in their entirety. In some embodiments, information is displayed 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.

[0084] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a Global Positioning System (GPS) module (or instruction set) 135, and an application program (or instruction set) 136. Furthermore, in some embodiments, memory 102 ( Figure 1A ) or 370 ( Figure 3 Storage device / global internal state 157, such as Figure 1A and Figure 3 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 the device's various sensors and input control devices 116; and position information relating to the device's position and / or orientation.

[0085] 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.

[0086] 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 for use with an iPod. ® (Trademark of Apple Inc.) The same or similar and / or compatible multi-pin (e.g., 30-pin) connectors used in Apple Inc. devices.

[0087] 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 a contact break). 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.

[0088] 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 a 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 threshold in 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).

[0089] 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.

[0090] 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.

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

[0092] 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.

[0093] Optionally, the text input module 134, a component of the graphics module 132, provides a soft keyboard for entering text in various applications, such as contacts 137, email 140, IM 141, browser 147, and any other application that requires text input.

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

[0095] Application 136 optionally includes the following modules (or instruction sets) or subsets or supersets thereof:

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

[0097] • Telephone module 138;

[0098] • Video conferencing module 139;

[0099] • Email client module 140;

[0100] • Instant Messaging (IM) module 141;

[0101] • Fitness support module 142;

[0102] • Camera module 143 for still images and / or video images;

[0103] • Image management module 144;

[0104] • Video player module;

[0105] • Music player module;

[0106] • Browser module 147;

[0107] • Calendar module 148;

[0108] • Widget module 149, which optionally includes one or more of the following: weather widget 149-1, stock market widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, and other widgets acquired by the user, and user-created widgets 149-6.

[0109] • Widget creator module 150 for creating user-created widgets 149-6;

[0110] • Search module 151;

[0111] • Video and music player module 152, which combines a video player module and a music player module;

[0112] •Notes module 153;

[0113] • Map module 154; and / or

[0114] • Online video module 155.

[0115] 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.

[0116] 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 telephone 138, video conferencing module 139, email 140, or IM 141; and so on.

[0117] 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 entered 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.

[0118] 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.

[0119] 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.

[0120] 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: inputting a character sequence corresponding to an instant message, modifying previously input characters, transmitting 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 a received instant message. In some embodiments, the transmitted and / or received instant messages optionally include graphics, photographs, audio files, video files, and / or other attachments supported in MMS and / or Enhanced Messaging Services (EMS). As used herein, "instant message" refers to both telephone-based messages (e.g., messages sent using SMS or MMS) and internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).

[0121] Combining 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 (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; and displaying, storing, and transmitting fitness data.

[0122] 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.

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

[0124] 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.

[0125] 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.

[0126] 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 microapplication 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 microapplication (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).

[0127] 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).

[0128] 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.

[0129] 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 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.).

[0130] Incorporating the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, the note-taking module 153 includes executable instructions for creating and managing notes, to-do items, etc., according to user instructions.

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

[0132] 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 performing the following actions: 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. Further 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.

[0133] Each of the above modules and applications corresponds to an executable set of instructions for performing one or more of the functions described above and the methods described in this patent application (e.g., computer-implemented methods and other information processing methods as 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.

[0134] In some implementations, device 100 is a device on which the operation of a predefined set of functions is performed solely via a touchscreen and / or touchpad. By using a touchscreen and / or touchpad as the primary input control device for operating device 100, the number of physical input control devices (e.g., push-buttons, dials, etc.) on device 100 is optionally reduced.

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

[0136] Figure 1B This is a block diagram illustrating exemplary components for event processing according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or memory 370 ( Figure 3 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).

[0137] 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 executing. In some embodiments, device / global internal state 157 is used by event classifier 170 to determine which application(s) is currently active, and application internal state 192 is used by event classifier 170 to determine the application view 191 to which the event information should be delivered.

[0138] 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.

[0139] Event monitor 171 receives event information from peripheral interface 118. The event information includes information about sub-events, such as a user touch 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.

[0140] In some implementations, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 transmits event information. In other implementations, peripheral device interface 118 transmits 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).

[0141] In some implementations, the event classifier 170 also includes a hit view determination module 172 and / or an activity event recognizer determination module 173.

[0142] 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.

[0143] 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.

[0144] 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.

[0145] 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, higher views in the hierarchy will still remain actively participating views.

[0146] 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.

[0147] 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.

[0148] 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.

[0149] The corresponding event recognizer 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 recognizer 180 includes an event receiver 182 and an event comparator 184. In some embodiments, the event recognizer 180 also includes at least one subset of metadata 183 and event delivery instructions 188 (which optionally include sub-event delivery instructions).

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

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

[0152] 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.

[0153] 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.

[0154] 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.

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

[0156] 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 that flag retrieves the flag and executes a predefined process.

[0157] 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 executes a predetermined process.

[0158] 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 parts of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on touch-sensitive display.

[0159] 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.

[0160] 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.

[0161] Figure 2A portable multifunction device 100 with a touchscreen 112 is shown 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.

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

[0163] 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.

[0164] Figure 3This is a block diagram of an exemplary multifunctional 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, 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 tactile output generator 167 and sensor 359 (e.g., optical sensor, accelerometer, proximity sensor, touch sensor and / or contact intensity sensor (similar to the above reference)) are described. Figure 1A The contact strength sensor 165 is mentioned above. The 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 memory devices. The memory 370 optionally includes one or more storage devices located remotely from the CPU 310. In some embodiments, the memory 370 stores information related to the 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.

[0165] Figure 3Each of the elements described above is optionally stored in one or more memory devices of the previously mentioned memory devices. Each of the modules described above corresponds to an instruction set 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.

[0166] 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.

[0167] Figure 4A An exemplary user interface for an application menu on a portable multifunction device 100 according to some embodiments is shown. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements or a subset or superset thereof:

[0168] • Signal strength indicator 402 for wireless communications such as cellular signals and Wi-Fi signals;

[0169] • Time 404;

[0170] • Bluetooth indicator 405;

[0171] • Battery status indicator 406;

[0172] • Tray 408 with icons for commonly used applications, such as:

[0173] ○ 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;

[0174] ○ An icon 418 labeled "Mail" in the email client module 140, which optionally includes an indicator 410 for the number of unread emails;

[0175] ○ The icon 420 labeled "Browser" in browser module 147; and

[0176] ○ The icon 422 marked "iPod" for the video and music player module 152 (also known as the iPod module 152, a trademark of Apple Inc.); and

[0177] • Icons of other applications, such as:

[0178] ○The icon 424 of the IM module 141 marked as "Message";

[0179] ○The calendar module 148 has an icon 426 labeled "Calendar";

[0180] ○ The icon 428 of the image management module 144 is labeled "Photo".

[0181] ○ The icon 430 of camera module 143, which is labeled "camera";

[0182] ○ The icon 432 of the online video module 155, which is labeled "Online Video";

[0183] ○ The icon 434 labeled "Stock Market" in the Stock Market widget 149-2;

[0184] ○The icon 436 of the map module 154 that is labeled "map";

[0185] ○The weather widget 149-1 has icon 438 labeled "weather";

[0186] ○ The alarm clock widget 149-4 has an icon 440 labeled "clock";

[0187] ○ The icon 442 of the fitness support module 142 is labeled "fitness support";

[0188] ○ The icon 444 labeled "Notes" in Notes module 153; and

[0189] ○ The icon 446, labeled "Settings," is used to set the settings of the device 100 and its various applications 136.

[0190] It should be pointed out that, Figure 4A The icon labels shown 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.

[0191] Figure 4B A touch-sensitive surface 451 (e.g., separate from the display 450 (e.g., touchscreen display 112)) is shown. Figure 3 Devices such as tablets or touchpads (e.g., 355) Figure 3An 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.

[0192] While some examples of input on a reference touchscreen display 112 (which combines a touch-sensitive surface and a display) are given below, in some implementations the device detects input 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) with the spindle on the display (e.g., 451). 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 diagram, 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 in the middle) and the display of a multi-functional device (e.g., Figure 4B When 450 is separated from the touch-sensitive surface, user input detected by the device on that touch-sensitive surface (e.g., touches 460 and 462 and their movement) is used by the device to manipulate the user interface on the display. It should be understood that similar methods may be optionally used for other user interfaces described herein.

[0193] Additionally, while the examples below are primarily given with reference to finger input (e.g., finger touch, single-finger tap, finger swipe), it should be understood that in some implementations, one or more of these finger inputs may be replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture may optionally be replaced by a mouse click (e.g., instead of a touch), followed by movement of the cursor along the swipe path (e.g., instead of movement of the touch). Similarly, a tap gesture may optionally be replaced by a mouse click while the cursor is over the location of the tap gesture (e.g., instead of detection of touch, followed by cessation of touch detection). Likewise, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice may optionally be used simultaneously, or mouse and finger touch may optionally be used simultaneously.

[0194] Figure 5AAn 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 Some or all of the features described herein. In some embodiments, device 500 has a touch-sensitive display 504, referred to below as touchscreen 504. As an alternative to or complement to touchscreen 504, device 500 has a display and a touch-sensitive surface. Similar to devices 100 and 300, in some embodiments, touchscreen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors for detecting the intensity of an applied contact (e.g., touch). The one or more intensity sensors of touchscreen 504 (or touch-sensitive surface) can provide output data representing the intensity of the touch. The user interface of device 500 can respond to touches based on the intensity of the touch, meaning that touches of different intensities can invoke different user interface operations on device 500.

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

[0196] In some embodiments, device 500 has one or more input mechanisms 506 and 508. Input mechanisms 506 and 508, if included, can be physical. Examples of physical input mechanisms include push-buttons and rotatable mechanisms. In some embodiments, device 500 has one or more attachment mechanisms. Such attachment mechanisms, if included, 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.

[0197] Figure 5B An exemplary personal electronic device 500 is depicted. In some embodiments, device 500 may include a reference retrieval system. Figure 1A , Figure 1B and Figure 3 Some or all of the components described herein. 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 504, which may have touch-sensitive components 522 and optionally have an intensity sensor 524 (e.g., a contact intensity sensor). Furthermore, I / O portion 514 may be connected to communication unit 530 for receiving application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular, and / or other wireless communication technologies. Device 500 may include input mechanisms 506 and / or 508. 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.

[0198] 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.

[0199] 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, for example, the techniques described below, including processes 700, 800, 900, and 1100. Figures 7 to 9 and Figure 11A 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.

[0200] As used herein, the term "power indication" refers optionally to the power indication in devices 100, 300, and / or 500 ( Figure 1A , Figure 3 and Figures 5A to 5B A 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.

[0201] 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 positional 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 3 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 4AIn 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).

[0202] 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, before or after contact begins to move, before contact ends, before or after contact intensity is detected to increase, and / or before or after contact intensity decreases). The characteristic intensity of the contact is optionally based on one or more of the following: the maximum value of the contact intensity, the mean value of the contact intensity, the average value of the contact intensity, the value at the top 10% of the contact intensity, the half maximum value of the contact intensity, the 90% maximum value of the contact intensity, etc. In some embodiments, the duration of the contact is used when determining the characteristic intensity (e.g., when the characteristic intensity is the average value of the contact intensity over time). In some implementations, the feature intensity is compared to a set of one or more intensity thresholds to determine whether the user has performed an action. For example, the set of one or more intensity thresholds may optionally include a first intensity threshold and a second intensity threshold. In this example, contact with a feature intensity not exceeding the first threshold results in a first action, contact with a feature intensity exceeding the first intensity threshold but not exceeding the second intensity threshold results in a second action, and contact with a feature intensity exceeding the second threshold results in a third action. In some implementations, a comparison between the feature intensity and one or more thresholds is used to determine whether to perform one or more actions (e.g., whether to perform the corresponding action or abandon its execution) rather than to determine whether to perform the first or second action.

[0203] Figure 5C An exemplary diagram depicts a communication session between electronic devices 500A, 500B, and 500C. Devices 500A, 500B, and 500C are similar to electronic device 500, and each device shares one or more data connections 510 (such as an internet connection, Wi-Fi connection, cellular connection, short-range communication connection, and / or any other such data connection or network) to facilitate real-time communication of audio and / or video data between the respective devices for a sustained period of time. In some embodiments, the exemplary communication session may include a shared data session, whereby data is transmitted from one or more electronic devices to other electronic devices to enable simultaneous output of corresponding content at the electronic devices. In some embodiments, the exemplary communication session may include a video conferencing session, whereby audio and / or video data are transmitted between devices 500A, 500B, and 500C, enabling users of the respective devices to communicate in real time using the electronic devices.

[0204] exist Figure 5C In this design, device 500A represents an electronic device associated with user A. Device 500A (via data connection 510) communicates with devices 500B and 500C, which are associated with users B and C, respectively. Device 500A includes a camera 501A for capturing video data of the communication session, and a display 504A (e.g., a touchscreen) for displaying content associated with the communication session. Device 500A also includes other components such as a microphone (e.g., 113) for recording audio of the communication session and a speaker (e.g., 111) for outputting the audio of the communication session.

[0205] Device 500A displays a communication UI 520A via a display 504A. This communication UI is a user interface used to facilitate communication sessions (e.g., video conferencing sessions) between device 500B and device 500C. The communication UI 520A includes video feeds 525-1A and 525-2A. Video feed 525-1A is a representation of video data captured at device 500B (e.g., using camera 501B) and transmitted from device 500B to devices 500A and 500C during a communication session. Video feed 525-2A is a representation of video data captured at device 500C (e.g., using camera 501C) and transmitted from device 500C to devices 500A and 500B during a communication session.

[0206] The communication UI 520A includes a camera preview 550A, which is a representation of video data captured by camera 501A at device 500A. Camera preview 550A indicates to user A the expected video feed to be displayed at corresponding devices 500B and 500C.

[0207] The communication UI 520A includes one or more controls 555A for controlling one or more aspects of a communication session. For example, controls 555A may include controls for muting audio in the communication session, changing the camera view of the communication session (e.g., changing the camera used to capture video of the communication session, adjusting zoom values), terminating the communication session, applying visual effects to the camera view of the communication session, and activating one or more modes associated with the communication session. In some embodiments, one or more controls 555A are optionally displayed in the communication UI 520A. In some embodiments, one or more controls 555A are displayed separately from the camera preview 550A. In some embodiments, one or more controls 555A are displayed to cover at least a portion of the camera preview 550A.

[0208] exist Figure 5CIn this context, device 500B represents an electronic device associated with user B, who communicates with devices 500A and 500C (via data connection 510). Device 500B includes a camera 501B for capturing video data of the communication session, and a display 504B (e.g., a touchscreen) for displaying content associated with the communication session. Device 500B also includes other components such as a microphone (e.g., 113) for recording audio of the communication session and a speaker (e.g., 111) for outputting the audio of the communication session.

[0209] Device 500B displays a communication UI 520B similar to the communication UI 520A of device 500A via touchscreen 504B. Communication UI 520B includes video feeds 525-1B and 525-2B. Video feed 525-1B is a representation of video data captured at device 500A (e.g., using camera 501A) and transmitted from device 500A to devices 500B and 500C during a communication session. Video feed 525-2B is a representation of video data captured at device 500C (e.g., using camera 501C) and transmitted from device 500C to devices 500A and 500B during a communication session. Communication UI 520B also includes: a camera preview 550B, which is a representation of video data captured at device 500B via camera 501B; and one or more controls 555B similar to controls 555A, which are used to control one or more aspects of the communication session. Camera preview 550B indicates to user B the expected video feed that user B will see displayed at the corresponding devices 500A and 500C.

[0210] exist Figure 5C In this context, device 500C represents an electronic device associated with user C, who communicates with devices 500A and 500B (via data connection 510). Device 500C includes a camera 501C for capturing video data of the communication session, and a display 504C (e.g., a touchscreen) for displaying content associated with the communication session. Device 500C also includes other components such as a microphone (e.g., 113) for recording audio of the communication session and a speaker (e.g., 111) for outputting the audio of the communication session.

[0211] Device 500C displays a communication UI 520C, similar to the communication UI 520A of device 500A and the communication UI 520B of device 500B, via a touchscreen 504C. The communication UI 520C includes video feeds 525-1C and 525-2C. Video feed 525-1C is a representation of video data captured at device 500B (e.g., using camera 501B) and transmitted from device 500B to devices 500A and 500C during a communication session. Video feed 525-2C is a representation of video data captured at device 500A (e.g., using camera 501A) and transmitted from device 500A to devices 500B and 500C during a communication session. The communication UI 520C also includes: a camera preview 550C, which is a representation of video data captured at device 500C via camera 501C; and one or more controls 555C similar to controls 555A and 555B, which are used to control one or more aspects of the communication session. The camera preview 550C indicates to user C the expected video feed to be displayed at the corresponding devices 500A and 500B.

[0212] Although Figure 5C The diagram depicts a communication session between three electronic devices, but such a session can be established between two or more electronic devices, and the number of devices participating in the session can change as electronic devices join or leave. For example, if one electronic device leaves the communication session, audio and video data from the device that has stopped participating are no longer represented on the participating devices. For instance, if device 500B stops participating in the communication session, there is no data connection 510 between devices 500A and 500C, and there is no data connection 510 between devices 500C and 500B. Furthermore, device 500A does not include video feed 525-1A, and device 500C does not include video feed 525-1C. Similarly, if a device joins the communication session, a connection is established between the joining device and the existing devices, and video and audio data are shared among all devices, enabling each device to output data transmitted from other devices.

[0213] Figure 5C The implementation scheme depicted in the diagram represents a communication session between multiple electronic devices, including Figures 6A to 6AH and Figures 10A to 10N The exemplary communication session is depicted in the image. In some implementations, Figures 6A to 6AH and Figures 10A to 10N The communication session depicted in the figure includes two or more electronic devices, even if other electronic devices involved in the communication session are not depicted in the figure.

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

[0215] As used herein, the terms "open application" or "running application" refer to a software application that maintains state information (e.g., as part of device / global internal state 157 and / or application internal state 192). An open or running application is optionally any of the following types of applications:

[0216] • The active application currently displayed on the screen of the device that is using the application;

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

[0218] • A suspended or hibernating application that is not running but has state information stored in memory (both volatile and non-volatile) that can be used to resume the application's execution.

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

[0220] Now let’s turn our attention to the implementation of user interfaces (“UIs”) on electronic devices, such as portable multifunction devices 100, 300 or 500, and the associated processes.

[0221] Figures 6A to 6AH Exemplary user interfaces for managing shared content sessions, according to some implementation schemes, are shown. The user interfaces in these figures are used to illustrate the processes described below, including... Figures 7 to 9 The process in.

[0222] This disclosure describes implementations for managing shared content sessions (also referred to as shared sessions) where corresponding content can be simultaneously output to multiple devices participating in the shared content session. In some implementations, the corresponding content is screen-shared content. For example, the content of a host device's display screen is shared with participants in the shared content session, allowing participants to view the screen content of the host device (the sharing device, or the device whose screen content is shared) in real time on their respective devices, including any changes to the display screen content. In some implementations, the corresponding content is synchronized content simultaneously output to the corresponding devices of the participants in the shared content session. For example, the participants' respective devices access corresponding content (e.g., videos, movies, TV shows, songs, games, browsing experiences, and / or other interactive experiences) from a remote server and / or local storage, and synchronize their corresponding content output, such that content is simultaneously output to the corresponding devices (e.g., via applications local to the corresponding devices) because each device accesses the corresponding content from the remote server and / or local storage respectively. In some implementations, the corresponding devices exchange information (e.g., via a server) to facilitate synchronization. For example, corresponding devices can share playback status and / or playback position information of content, as well as indications of local commands (e.g., play, pause, stop, fast forward, and / or rewind), to enable commands for content output on other devices. Sharing playback status and / or playback position information is more efficient and effective for synchronizing content at the corresponding device because the host device transmits smaller data packets containing playback status and / or playback position information instead of content to the corresponding device. Furthermore, each corresponding device outputs content in a size and quality appropriate to the corresponding device and its connectivity (e.g., data connection conditions, such as data transfer and / or processing speeds), thereby providing a more customized but synchronized playback experience at each of the corresponding devices. In some implementations, an application (or "app") is available (e.g., downloaded and / or installed) at the corresponding device to enable that device to participate in a content-sharing session.

[0223] In some embodiments, content is displayed as a window that optionally overlays another user interface (e.g., the home screen and / or application user interface) and is movable separately from the user interface on which the content is displayed. In some embodiments, such a window is referred to herein as a picture-in-picture window or “PiP”. In some embodiments, the PiP may include shared content, such as screen-shared content and / or synchronized content. In some embodiments, the PiP may include content independent of the shared content session, such as video feeds from a video conference (e.g., a video call) (although in some embodiments, such a PiP may be displayed in conjunction with the shared content session). In some embodiments, the PiP can be moved, resized, minimized, docked, undotted, and / or expanded in response to various inputs and / or gestures.

[0224] Unless otherwise specified, as discussed herein, the term "share / sharing / shared" is generally used to refer to a situation where content (e.g., screen-shared content and / or synchronized content) is being output (e.g., viewed and / or played) simultaneously on multiple devices participating in a shared content session. Unless otherwise specifically stated, these terms do not require the transfer of content being "shared" from any particular device participating in the shared content session to any other device with which it is sharing content. In some embodiments, the content being shared in a shared content session is content that is accessed separately by each respective device, for example, from a remote server or another source other than one of the devices participating in the shared content session. For example, in some embodiments, when media content such as a movie is played on a device participating in the shared content session, the movie is considered to be shared with those participants even if the respective participant is accessing (e.g., from a movie application) and playing the movie separately (but simultaneously) from other participants in the shared content session. In some embodiments, screen-shared content is shared with participants in the shared content session by transmitting image data representing content displayed on the display screen of the host device from the host device to other devices participating in the shared content session.

[0225] In some implementations, a real-time communication session may be active for a shared content session via one or more audio and / or video channels, which enable real-time communication for one or more participants in the shared content session when active (e.g., on). For example, when one or more audio channels are active during a shared content session, the real-time communication session is considered enabled, and participants in the shared content session may speak to each other in real time (e.g., via audio calls and / or live audio feeds) while the shared content session is in progress and optionally while sharing content via the shared content session (e.g., screen sharing and / or synchronized content). As another example, a real-time communication session is considered enabled when one or more video channels are active (e.g., via a video conferencing application native to the respective device), and participants in the shared content session may participate in live video communication (e.g., video chat, video calls, video conferencing, and / or live video feeds) while the shared content session is in progress and optionally while sharing content via the shared content session. In some embodiments, the real-time communication session may be audio-only (e.g., the audio channel is active but the video channel is not), video-only (e.g., the video channel is active but the audio channel is not), or both audio and video are enabled (e.g., both the audio and video channels are active). In some embodiments, the audio or video channel can be active even if the corresponding audio or video feed is temporarily disabled or muted (e.g., the microphone providing the audio feed is muted and / or the camera providing the video feed is disabled). In some embodiments, the real-time communication session may be active separately from the shared content session (e.g., real-time communication is enabled) (e.g., there is no active shared content session). In some embodiments, the shared content session may be active separately from the real-time communication session (e.g., real-time communication is not enabled). Various aspects of these embodiments, along with further details of the shared content session and the real-time communication session, are discussed below with reference to the accompanying drawings.

[0226] Figures 6A to 6AHExemplary devices for participating in shared content sessions, according to some embodiments, are illustrated. Specifically, these devices include John's device 600A (e.g., a smartphone) and Jane's device 600B (e.g., a smartphone), shown side-by-side in some figures to illustrate the concurrent state of the respective devices, including the user interface and input at the respective devices. John's device 600A is a computer system including a display 600-1A, one or more cameras 600-2A, one or more microphones 600-3A (also referred to as mic 600-3A), and one or more speakers 600-4A (e.g., similar to speaker 111). Jane's device 600B is a computer system including a display 600-1B, one or more cameras 600-2B, one or more microphones 600-3B (also referred to as mic 600-3B), and one or more speakers 600-4B (e.g., similar to speaker 111). John's device 600A is similar to Jane's device 600B. In the following description, reference numerals may include the letter "A" to refer to an element of John's device, may include the letter "B" to refer to an element of Jane's device, or may not include any letter to refer to an element of either or both devices. For example, devices 600A and 600B may be referred to using reference numeral 600; that is, reference numeral 600 may be used herein to refer to John's device 600A or Jane's device 600B, or both. Other elements sharing common reference numerals may be referenced in a similar manner. For example, displays 600-1A and 600-1Bb, cameras 600-2A and 600-2B, microphones 600-3A and 600-3B, and speakers 600-4A and 600-4B may be referred to using reference numerals 600-1, 600-2, 600-3, and 600-4, respectively. In some embodiments, device 600 includes one or more features of devices 100, 300, and / or 500.

[0227] In the embodiments provided herein, John's device 600A can be described as performing a set of functions associated with a shared content session, and Jane's device 600B can be described as performing a different set of functions associated with a shared content session. These descriptions are not intended to limit the functions performed by the respective devices, but are provided to illustrate various aspects of a shared content session and implementation schemes. Therefore, unless otherwise specified, functions described as being performed by John's device 600A can similarly be performed by Jane's device 600B and the devices of other participants in the shared content session. Similarly, functions described as being performed by Jane's device 600B can similarly be performed by John's device 600A and the devices of other participants in the shared content session, unless otherwise specified.

[0228] exist Figure 6A In this context, John's device 600A is not currently participating in a content sharing session or real-time communication, but is instead displaying a music interface 602 via a monitor 600-1A. This music interface can be used to start music playback on John's device 600A. John's device 600A detects input 605-1 on the enable display 604 (e.g., a tap input or other selection input on the monitor 600-1A) and, in response, displays a menu 606, such as... Figure 6B As shown. Menu 606 includes options selectable for performing various tasks, such as selecting music playback options, indicating music preferences, and sharing music. For example, option 606-1 can be selected to display an invitation interface for inviting users to share music in music interface 602, and option 606-2 can be selected to display a sharing interface with various options for sharing music with other users. In some embodiments, option 606-1 may be displayed as an option in the sharing interface in response to selecting option 606-2.

[0229] In response to the detection of input 605-2 on option 606-1, John's device 600A displays invitation screen 608, such as Figure 6C As shown. Invitation interface 608 provides an interface for selecting one or more recipients (e.g., contacts) of an invitation to share content (e.g., "track 3" as indicated by identifier 608-1) in a shared content session. In some embodiments, John's device 600A suggests (e.g., automatically suggests) various contacts to be selected as recipients of the invitation. In some embodiments, the user can manually enter recipients by typing contact information into recipient field 608-2 using keyboard 610, or can select recipients indicated by contact options 611, which can be selected to add corresponding contacts or contact groups to recipient field 608-2. Figure 6C In the process, the “Climbers” group is selected as the recipient of the invitation using keyboard 610 or by selecting contact option 611-1. Other contacts can be selected as recipients in a similar manner. In some implementations, John’s device 600A pre-populates (e.g., automatically selects) one or more contacts into the recipient field 608-2. For example, if John’s device 600A is currently in a live communication session (e.g., video chat) with a specific contact (e.g., a user) or a group of contacts, John’s device displays invitation interface 608, where contacts (e.g., other participants in the live communication session) are pre-populated in the recipient field 608-2.

[0230] Invitation interface 608 also includes invitation options (video call option 612 and messaging option 614) that can be selected to send an invitation to a selected recipient to join a shared content session. For example, selecting video call option 612 (e.g., via input 605-3 or other selection inputs) causes John's device 600A to send an invitation to the selected recipient using an application on John's device that provides synchronous communication (e.g., a video call application). In the embodiments described herein, synchronous communication is a video call provided using a video call application, but it should be understood that synchronous communication can be an audio call or other synchronous communication options described herein. When a shared content session is initiated via synchronous communication, real-time communication is enabled for the shared content session using an audio channel and / or video channel activated through synchronous communication (e.g., an audio call and / or a video call). Selecting messaging option 614 (e.g., via input 605-4 or other selection inputs) causes John's device 600A to send an invitation to the selected recipient using an application on John's device that provides asynchronous communication (e.g., a messaging application). In the implementations described herein, asynchronous communication is text messaging communication provided by a messaging application; however, it should be understood that asynchronous communication can be email or other asynchronous communication options described herein. When a shared content session is initiated via asynchronous communication, real-time communication is not enabled for (or concurrently with) the shared content session. In some implementations, real-time communication may be enabled or disabled for (or concurrently with) the relevant shared content session, as described in more detail below.

[0231] Figures 6D to 6H The interface of various implementations in which John's device 600A sends an invitation to join a shared content session using video call option 612 is depicted. In response to the detection of input 605-3, John's device 600A initiates a shared content session with the climbing group by initiating a video call with the group. As previously mentioned, when a shared content session is initiated via synchronous communication, real-time communication is enabled for the shared content session via video call. Therefore, John's device 600A displays a video feed 618 and a pill-shaped camera 620A, as shown... Figure 6D As shown. Video feed 618 indicates an active video feed for the video call, and pill camera 620A indicates that the shared content session is active at John's device 600A. Since no other user joins the video call, Figure 6D The video feed shown is a self-view of John captured using camera 600-2A, and the pill-shaped camera 620A is displayed with a de-emphasis (e.g., grayscale) appearance to indicate that other users have not yet joined the shared content session provided with the video call. Figure 6DIn the implementation described, John's device 600A has started a content sharing session, but playback of the selected content (e.g., track 3) has not yet started automatically. However, in some implementations, playback of the selected content starts automatically after the content sharing session has started.

[0232] exist Figure 6D In this embodiment, Jane's device 600B displays notification 616, which is an incoming video call notification informing her that John is inviting Jane, a member of the climbing group, to join the video call. Notification 616 is displayed as an overlay on the home screen 622 on Jane's device 600B. In some embodiments, notifications similar to 616 are displayed on the devices of other users who are also members of the climbing group. Notification 616 includes a reject option 616-1 and an accept option 616-2. In some embodiments, notification 616 includes an indication that the video call is associated with a shared content session. In some embodiments, the notification includes an indication of the content that has been selected for sharing.

[0233] exist Figure 6E In this configuration, John's device 600A displays a control area 615A in response to input 605-5 selecting the pill-shaped camera 620A. In some implementations, upon selection... Figure 6C After entering 605-3 into video call option 612, John's device 600A displays control area 615A. In this type of implementation, control area 615A will be displayed in... Figure 6D Instead of a pill-shaped camera 620A, the control area 615A is displayed when the control area 615A is released (e.g., via a release gesture or after a predetermined amount of time has elapsed). The control area 615A provides information associated with the shared content session and includes control options for controlling the operation, parameters, and / or settings of the active shared content session. The control area 615A includes a status area 615-1A, which includes status information associated with the shared content session and, in some embodiments, may be selected to display additional information about the shared content session. Figure 6EAs shown, status area 615-1A currently indicates that other members of the climber group have not yet joined the shared content session. Control area 615A also includes various options selectable to control the operation, parameters, and / or settings of the shared content session. For example, in some embodiments, messaging option 615-2A can be selected to view message conversations between participants in the group invited to join the shared content session. In some embodiments, speaker option 615-3A can be selected to enable or disable audio output at John's device 600A (e.g., speaker 600-4A). In some embodiments, speaker option 615-3A can be selected to select different audio output devices (e.g., headphones and / or wirelessly connected audio output devices) for real-time communication enabled for the shared content session. In some embodiments, microphone option 615-4A can be selected to enable or disable microphone 600-3A, thereby muting or unmuteing John's audio input for real-time communication enabled for the shared content session. In some implementations, camera option 615-5A can be selected to enable or disable camera 600-2A, thereby enabling or disabling the video feed provided by camera 600-2A for the shared content session. In some implementations, camera option 615-5A can be selected to select a different camera as the video source for real-time communication enabled for the shared content session. In some implementations, sharing option 615-6A can be selected to display a menu with various options and settings associated with the shared content session. In some implementations, leaving option 615-7A can be selected to leave John's device 600A from the shared content session, optionally without terminating the shared content session for other participants in the shared content session.

[0234] In some implementations, control area 615A has a different appearance depending on whether real-time communication for a shared content session has been enabled at John's device 600A. For example, when real-time communication for a shared content session is enabled at John's device 600A, control area 615A has the following appearance: Figure 6E The control area 615A has a dark appearance (e.g., a black or dark gray background) and includes speaker option 615-3A, microphone option 615-4A, and camera option 615-5A. When live communication is not enabled for a shared content session at John's device 600A, the control area 615A has a light appearance (e.g., a white background) and includes audio and video call options (and does not include speaker option 615-3A, microphone option 615-4A, and camera option 615-5A), as shown. Figure 6KAs shown and described in more detail below. In some embodiments, the appearance of control area 615A is specific to the state of John's device 600A. Therefore, other participants' devices in the content-sharing session may display control areas with different appearances, depending on whether real-time communication is enabled on the respective devices, without affecting the appearance of control area 615A displayed on John's device 600A.

[0235] In some implementations, the appearance of each option in control area 615A is used to indicate the status of the corresponding option. For example, speaker option 615-3A, microphone option 615-4A, and camera option 615-5A may be as follows: Figure 6E The options are shown with a shadow (or otherwise visually emphasized) to indicate that the speakers, microphone, and camera are enabled. These options may be shown without a shadow (or otherwise visually de-emphasized) to indicate that the corresponding speaker, microphone, and / or camera option is disabled. Additionally, sharing options 615-6A may be shown with or without a shadow to indicate the status of the content in a sharing session. For example, in some embodiments, when content is being shared via a sharing session (e.g., when screen sharing or syncing content is being output), sharing options 615-6A are shown in a shadowed (or otherwise visually emphasized) state, and when no screen sharing or syncing content is being output during a sharing session, the sharing options are shown without a shadow (or otherwise visually emphasized).

[0236] exist Figure 6E In the process, Jane's device 600B detected input 605-6 indicating the selection of the acceptance option 616-2, and in response, joined the shared content session with John's device 600A and the other participants in the climber group. Due to... Figure 6E Jane's device accepted the invitation, thus enabling live communication for the shared content session on Jane's device 600B. Jane's device 600B displays a control area 615B (similar to control area 615A) with a dark appearance and includes enabled speaker option 615-3B, microphone option 615-4B, and camera option 615-5B. Figure 6F As shown. Jane's device also displays a video call interface 624, which includes video tiles 626 and 628 and a video feed 630. Video tiles 626 and 628 represent video feeds from participants in the content-sharing session, and video feed 630 represents Jane's self-view provided by camera 600-2B. Video tile 626 represents Emily's video feed, who joins the video call around the same time as Jane, while video tile 628 represents John's video feed.

[0237] exist Figure 6F In this scenario, John's device 600A has deactivated control area 615A (e.g., in response to a gesture indicating deactivation or due to a predetermined amount of time elapsed) and is currently displaying pill-shaped camera 620A, which has turned green to indicate a threshold number of participants have joined the shared content session. In some embodiments, pill-shaped camera 620A turns green after the first participant (other than John) has joined the shared content session. John's device 600A also updates video feed 618 to display Jane's video feed, indicating that Jane has now joined the shared content session. In some embodiments, video feed 618 displays the video feed of the most active or most recently active participant in the shared content session. John's device 600A also displays notification 632 indicating that Jane has joined the shared content session. In some embodiments, additional notifications are displayed when additional users join the shared content session. In some embodiments, a single notification indicating that multiple participants have joined the shared content session is displayed. In some embodiments, notification 632 is not displayed.

[0238] exist Figure 6G In this context, John's device 600A displays a control area 615A in response to input 605-7 on the pill-shaped camera 620A or input 605-8 on notification 632. The status area 615-1A indicates that a content-sharing session with the two participants in the climbing group (Emily and Jane) is active, but no content is currently being shared with any participant in the content-sharing session. John's device 600A displays a banner 634 prompting John to begin playback of the content selected for sharing (e.g., track 3). Banner 634 includes option 634-1, which allows selection to begin playback of track 3 for a participant in the content-sharing session. Figure 6G In the implementation described, John's device 600A automatically displays banner 634 and option 634-1 in response to detecting a threshold number of participants joining the shared content session. For example, banner 634 and option 634-1 are automatically displayed when the first participant (other than John) joins the shared content session. In some implementations, John's device 600A displays banner 634 when initiating a shared content session (e.g., in response to input 605-3 or other input), but does not display option 634-1 (or option 634-1 is not selectable) until the threshold number of participants join the shared content session or until input is received on banner 634.

[0239] John's device 600A detects input 605-9 for selection option 634-1 and, in response, begins playing track 3 for the participants in the shared content session, as indicated by audio output 636A at John's device 600A and audio output 636B at Jane's device 600B. Figure 6H As shown. In some implementations, John's device 600A can play track 3 for participants in the shared content session in response to a selection of playback enablement display 638 or in response to other input regarding the content to be played. Since content (e.g., track 3) is being shared via the shared content session, sharing options 615-6A and 615-6B are shown as shaded in control areas 615A and 615B, respectively. Additionally, status areas 615-1A and 615-1B are updated to indicate that track 3 is being played for members of the climber group. Because real-time communication is enabled for the shared content session at John's device 600A and Jane's device 600B, John and Jane are able to interact with other participants in the shared content session, for example, by viewing each other's video feeds and talking to each other via the active audio channel.

[0240] Figures 6I to 6AC The interface of various implementations in which John's device 600A uses asynchronous communication to send invitations to join a shared content session is depicted. In response to the detection of a selection... Figure 6C Input 605-4 to message option 614 in the message interface 600A. John's device 600A displays a message interface 640A, which includes message conversations between members of the climbing group. Message interface 640A includes a message conversation area 642A with messages 642-1A, 642-2A, and 642-3A, which have been sent to members of the climbing group as part of the message conversation. Message interface 640A also includes a message composing field 644A and a send option 646A, which allows selection to send the message already entered in message composing field 644A. Figure 6I As shown, John's device 600A displays a messaging interface 640A, where an invitation link 645A is automatically populated in a message composition field 644A in response to input 605-4 on message option 614. In some implementations, keyboard 610 can be used to type additional text into message composition file 644A to be included in the link. The invitation link 645A is a link that, once sent to the climbers' group, allows users to choose to join a shared content session with members of the climbers' group, as described in more detail below.

[0241] In response to the detection of input 605-10 selecting send option 646A, John's device 600A sends link 645A in message 642-4A and automatically initiates a content-sharing session with the climbing team. As previously mentioned, when initiating a content-sharing session via asynchronous communication, such as... Figure 6C and Figure 6I As shown, a shared content session is initiated without real-time communication enabled for the shared content session. In some implementations, message 642-4A includes (optionally as part of link 645A) status information 647A indicating the status of the shared content session. For example, in Figure 6J In this context, status information 647A indicates that music named "Album" and "Track 3" has been selected to be shared in the content sharing session. In some implementations, status information 647A is automatically updated in messages 642-4A as the status of the content sharing session changes.

[0242] exist Figure 6J In this configuration, John's device 600A displays a pill-shaped camera 620A indicating that a content-sharing session is active on John's device 600, and Jane's device 600B displays a message notification 648 indicating that John has received an invitation to join the content-sharing session from a messaging application. In some implementations, John's device 600A displays a control area 615A (e.g., as shown in the image). Figure 6K The pill-shaped camera 620A is replaced by the one depicted in [the original text]. Since no other users have joined the shared content session, the pill-shaped camera 620A is displayed with a grayed-out appearance to indicate that other users have not yet joined the shared content session provided via the link sent in message 642-4A. Figure 6J In the implementation described, John's device 600A has started a content sharing session, but playback of the selected content (e.g., track 3) has not yet started automatically. In some implementations, playback of the selected content starts automatically after the content sharing session has started.

[0243] In some implementations, message notification 648 includes text 648-1 indicating the sender of the invitation, the recipient of the invitation, the activity to be shared in the shared content session, the content selected to be shared in the shared content session, and / or instructions or prompts to join the shared content session. In response to detecting input 605-12 selecting message notification 648, Jane's device 600B displays message interface 640B, such as... Figure 6KAs shown. Message interface 640B is similar to message interface 640A and includes a message dialog area 642B, which includes messages 642-4B, including a link 645B for joining a shared content session with the climbers' group and status information 647B similar to status information 647A. Figure 6K In this context, status information 647B also indicates that a person (e.g., John) is active in a shared content session.

[0244] exist Figure 6K In the middle, John's device 600A responded to the detection Figure 6J The control area 615A is displayed via input 605-11 on the pill-shaped camera 620A. Since live communication is not enabled for the shared content session, the control area 615A has a light-colored appearance and includes audio call option 615-8A and video call option 615-9A instead of speaker option 615-3A, mic option 615-4A, and camera option 615-5A. Audio call option 615-8A and video call option 615-9A can be selected to enable live communication for the shared content session at John's device 600A. Specifically, audio call option 615-8A can be selected to initiate an audio call for the shared content session (without a live video channel), and video call option 615-9A can be selected to initiate a video call for the shared content session (optionally including a live audio channel). The status area 615-1A indicates that no user (other than John) has joined the shared content session.

[0245] exist Figure 6LIn this context, Jane's device 600B joins a shared content session in response to the detection of input 605-13 selecting link 645B. Since the shared content session is initiated via asynchronous communication (e.g., by selecting link 645B sent in text message communication or via other input), Jane's device 600B joins the shared content session even when real-time communication is disabled, similar to John's device 600A. Therefore, Jane's device 600B displays a control area 615B with a light-colored appearance and includes audio call option 615-8B and video call option 615-9B instead of speaker option 615-3B, mic option 615-4B, and camera option 615-5B. Audio call option 615-8B and video call option 615-9B are similar to audio call option 615-9A and video call option 615-9A, respectively, and can be selected to enable real-time communication for the shared content session at Jane's device 600B. Status area 615-1B (and status information 647B) indicates that two people other than Jane (e.g., John and Emily) have joined the content sharing session, but are not currently sharing content with any of the participants in the content sharing session.

[0246] exist Figure 6L In the middle, John's device 600A updates status area 615-1A (and status information 647A) to indicate that two people other than John (e.g., Jane and Emily) have joined the content-sharing session, but are not currently sharing content with any participant in the content-sharing session. John's device 600A displays banner 650, which prompts John to start playing back the content selected for sharing (e.g., track 3). Banner 650 is similar to banner 634 and includes option 650-1, which allows selection to start playing back track 3 for any participant in the content-sharing session. Figure 6L In the implementations depicted, John's device 600A automatically displays banner 650 and option 650-1 in response to detecting a threshold number of participants joining the shared content session. For example, banner 650 and option 650-1 are automatically displayed when the first participant (other than John) joins the shared content session. In some implementations, John's device 600A displays banner 650 when initiating a shared content session (e.g., in response to input 605-10 or other input), but does not display option 650-1 (or option 650-1 is not selectable) until the threshold number of participants join the shared content session or until input is received on banner 650. In some implementations, pill-shaped camera 620A is displayed in green when the first participant (other than John) (or the threshold number of participants) joins the shared content session.

[0247] John's device 600A detects input 605-14 for selection option 650-1 and, in response, begins playing track 3 for the participants in the shared content session, as indicated by audio output 636A at John's device 600A and audio output 636B at Jane's device 600B. Figure 6M As shown. In some implementations, John's device 600A may respond to a playback enable signal 638 (e.g., as shown in the diagram). Figure 6H The selection (shown) or other input in response to the content being played allows for the playback of track 3 to participants in the shared content session. Since content (e.g., track 3) is being shared via the shared content session, sharing options 615-6A and 615-6B are shown as shaded areas in control areas 615A and 615B, respectively. Additionally, status areas 615-1A and 615-1B, as well as status information 647A and 647B, are updated to indicate that track 3 is being played for members of the climber group. Because live communication is not enabled for the shared content session at John's device 600A and Jane's device 600B, John and Jane cannot interact with other participants in the shared content session via live communication.

[0248] exist Figure 6M In the middle, John's device 600A detects input 605-15 for selecting sharing option 615-6A, and in response, displays the sharing menu 655, such as Figure 6N As shown. The shared menu 655 includes various options for controlling the operations, parameters, and / or settings of the shared content session. Figure 6N In the implementation described herein, the sharing menu 655 includes a screen sharing option 652, an auto-playback option 654, a manual playback option 656, an end option 657, and an application area 658. This application area includes an application download option 662 and a list of applications 660 that can provide content that can be shared during a content sharing session. The application area 658 also includes the application download option 662. Screen sharing option 652 can be selected to begin sharing content displayed on John's device 600A. When auto-playback option 654 is selected, as... Figure 6NAs shown, content that can be shared within the shared content session is automatically shared with participants in the shared content session without prompting the user to confirm the participants' playback. When the manual playback option 656 is selected, the user is prompted to select content playback for the participants in the shared content session. The end option 657 can be selected to end the playback of content being shared in the shared content session. In some embodiments, the end option 657 is not displayed when no content is shared in the shared content session. In some embodiments, the sharing menu 655 includes an option to display the shared content session settings. In some embodiments, the sharing menu 655 includes an option to display the shared content session settings of the corresponding application.

[0249] Application zone 658 provides users with quick access to various applications that support sharing content within a shared content session (e.g., synchronized content). For example, in Figure 6N In this context, John's device 600A includes a TV application icon 660-1, a music application icon 660-2, a short video application icon 660-3, and an application icon 660-4 partially displayed on the screen. Application icons can be selected to launch the corresponding application, as discussed in more detail below. The list of applications 660 can be scrolled (e.g., in response to scroll input 605-16 or other input) to fully display application icon 660-4 and other application icons provided in the list. In some embodiments, the order in which applications and / or application icons are listed in the list of applications 660 is determined based on various criteria, such as, for example, participants in a content-sharing session, the application's historical usage in the content-sharing session, the participant's rights / privileges for viewing content in the respective application, and / or the availability of applications on John's device 600A. The applications displayed in the list of applications 660 include those downloaded and / or installed on John's device 600A, and in some embodiments, those not currently downloaded and / or installed but capable of being downloaded and / or installed on John's device 600A.

[0250] exist Figure 6O In the middle, John's device 600A responded to the detection of selection Figure 6NInputting application download option 662 into input 605-17 displays application download interface 664. Application download interface 664 includes a list of applications 666 that can provide content that can be shared in a shared content session (e.g., synchronized content) and can be obtained by purchasing, downloading, and / or installing the corresponding application at John's device 600A. Application 666 represents a subset of a larger set of available applications, and applications in this subset are filtered from the larger set of applications based on their ability to provide content for a shared content session. Figure 6O As shown, the applications are not currently downloaded and / or installed on John's device 600A, but can be downloaded and / or installed on John's device 600A, where they are accessible from the list of applications 660 in John's home screen and / or application area 658. For example, in response to input 605-18 selecting download icon 668-1, animation application 666-1 can be downloaded / installed on John's device 600A. In response to input 605-19 selecting download icon 668-2, game application 666-2 can be downloaded / installed on John's device 600A. Similarly, in response to input 605-20 selecting download icon 668-3, movie application 666-3 can be downloaded / installed on John's device 600A. In some embodiments, some applications require prior purchase before they can be downloaded, installed on John's device 600A, and / or accessed on John's device. In such embodiments, the application is downloaded / installed on John's device 600A after purchase. In some implementations, certain applications require specific privileges and / or rights to access content within the respective application. In such implementations, after acquiring (e.g., purchasing and / or granting) these privileges and / or rights, access to the content within the respective application becomes available for playback and for sharing in shared content sessions.

[0251] exist Figure 6P In the middle, John's device 600A responded to the detection of selection Figure 6N The TV application icon 660-1 is entered into 605-21, which displays the TV application interface 670. The TV application interface 670 provides the ability to share content, such as shows and movies, within a shared content session. Figure 6P In the middle, indicator 672 indicates the ability to share football program 674 in a shared content session. In response to input 605-22 selecting football program 674, John's device 600A displays media interface 676, such as... Figure 6QAs shown. John's device 600A detects input 605-23 to select play button 678, which initiates playback of the climbers' group football program, as... Figure 6R As shown. Because in Figure 6N John selected the automatic playback option 654, so his device 600A automatically started playing the replay of the climbers' soccer program without prompting John to confirm that he wanted to share the content in the shared content session. However, if in Figure 6N If manual playback option 656 is selected, John's device 600A will display a prompt in response to input 605-23, which will provide John with the options to play the football program only on John's device 600A (without starting the playback of the program for the climbers) and to play the football program for the climbers.

[0252] exist Figure 6R In this scenario, John's device 600A has begun replaying a soccer program for the mountaineering group. When the soccer program replay begins, John's device 600A displays a media PiP 680A and playback controls 681A in a media playback interface 679. Playback controls 681A present information about the content's playback and provide various controls that can be selected to control the playback of the content displayed on the media PiP 680A. For example, playback controls 681A indicate the playback status of the content (such as paused or actively playing), indicate the playback status relative to the duration of the media content (e.g., elapsed playback time), and can be selected to browse the media content (e.g., moving the playback position of the media content proportionally to input). The media PiP 680A displays the media content being played on John's device 600A. The Media PiP 680A can have a fixed position in extended or full-screen views (or use all screens except for a portion designated for system status information and / or system control), as shown in the Media Playback Interface 679, or be displayed as a PiP that can be positioned on various user interfaces as discussed herein. Figure 6R In the image, media PiP 680A is displayed in extended view, while John's device 600A is in portrait orientation. However, in some implementations, if John's device 600A is rotated to landscape orientation while media PiP 680A is in extended view, then media PiP 680A expands to full-screen view or larger. Figure 6R The enlarged view depicted is shown below. For simplicity, the media shown is referred to as Media PiP 680A below, which may be used to refer to media in the extended view or in PiP format, depending on the context.

[0253] like Figure 6RAs shown, media PiP 680A is displaying the content of a football program, and audio 682A associated with the football program is being output at John's device 600A (e.g., using speaker 600-7A). John's device 600A also displays a control area 615A on the media playback interface 679, where the status area 615-1A has been updated to indicate that the climbers are now watching the football program. Since live communication is not enabled for the shared content session, the control area 615A is displayed with a light-colored appearance and includes audio call options 615-8A and video call options 615-9A.

[0254] Because the soccer program started for the mountaineers, Jane's 600B stopped playing track 3 and started playing the soccer program, such as... Figure 6R As shown. Therefore, Jane's device 600B displays the media PiP 680B (similar to the media PiP 680A) overlaying the message interface 640B, and outputs the football program audio 682B using the speaker 600-7B. Additionally, the status information 647B and status area 615-1B are updated to indicate that the climbers are currently watching a football program. The football program playback is synchronized on John's device 600A, Jane's device 600B, and the devices of the other members of the climbers. Jane's device 600B detects input 605-24 (which is a gesture to display the main screen 622) and displays the main screen 622 in response to input 605-24, as shown. Figure 6S As shown. While displaying the main screen 622, Jane's device 600B continues to display media PiP 680B, which is shown as moving to different positions on the display and covering the main screen 622.

[0255] Figures 6S to 6AC Depicting the corresponding Figure 6R The interfaces of various implementations of inputs 605-25, 605-26, 605-27, and 605-28 depicted in the diagram illustrate the selection of options in control area 615A. In response to input 605-25 selecting message option 615-2A, John's device 600A displays message interface 640A overlaying media playback interface 679. When message interface 640A is displayed as an overlay, John's device 600A disconnects media PiP 680A from media playback interface 679 and displays media PiP 680A on message interface 640A, as shown... Figure 6SAs shown. John's device 600A displays the media PiP 680A on the monitor below the receiver indicator 640-1A and above the most recent messages (e.g., messages 642-3A and 642-4A) in the message conversation area 642A, allowing John to see who he is messaging and the latest (and possibly most relevant) messages in the conversation, while still being able to continue watching the football program on the media PiP 680A. Figure 6S In the implementation described, John can interact with the messaging interface 640A by sending messages using the keyboard 610 and scrolling through messages in the messaging dialog area 642A (e.g., via inputs 605-29 or other inputs). John can also interact with the media PiP 680A when it is displayed on the messaging interface 640A. For example, in Figure 6S In the middle, John uses pinch gestures provided via concurrent inputs 605-30A and 605-30B to resize the media PiP 680A. John can also move, minimize, expand, or otherwise interact with the media PiP 680A, including tapping the media PiP 680A to display controls for controlling the replay of football programs (e.g., similar to replay control 681A). Figure 6T The image depicts John's device 600A after resizing the media PiP 680A, sending messages 642-5A, and scrolling through messages in the message dialog area 642A. The overlay including the message interface 640A can be deactivated using various gestures or inputs, including, for example, swipe gestures provided via inputs 605-31 or 605-32 to select complete, close, or cancel a power indicator. In some embodiments, when the message interface 640A is deactivated, John's device 600A displays as shown below. Figure 6T The media playback interface 679 shown may be a media PiP 680A that displays different user interfaces (e.g., TV application interface 670, media interface 676, or home screen interface). In some embodiments, the message interface overlay completely covers the underlying application interface on certain device types, while not covering or only partially covering the underlying application interface on other device types. For example, in some embodiments, the message interface overlay completely covers the underlying application interface on devices with smaller screen sizes (e.g., telephones or wearable devices), while not covering (or partially covering) the underlying application interface on devices with larger screen sizes (e.g., tablets or laptops).

[0256] Figures 6U to 6W It depicts John passing through Figure 6RThe interface for various implementations of initiating an audio call is accessed via input 605-26, which selects audio call option 615-8A. In response to detecting input 605-26 selecting audio call option 615-8A, John's device 600A enables real-time communication for the shared content session and initiates an audio call with participants in the climbing group. Therefore, John's device 600A changes the appearance of the control area 615A to a dark appearance, stops displaying audio call option 615-8A and video call option 615-9A, and displays speaker option 615-3A, mic option 615-4A, and camera option 615-5A. Since the audio call includes an active audio channel but no active video channel, speaker option 615-3A and mic option 615-4A are enabled (e.g., as indicated by the shadow) and camera option 615-5A is disabled (e.g., as indicated by the absence of the shadow).

[0257] Jane's device 600B receives an incoming audio call initiated by John's selection of audio call option 615-8A. For example... Figure 6U As shown, Jane's device 600B displays an incoming call notification 683, indicating that John has initiated an audio call for the shared content session. The incoming call notification 683 includes a reject option 683-1 and an accept option 683-2. An incoming call can be accepted by selecting the accept option 683-2 (e.g., via input 605-34 or other optional inputs). An incoming call can be rejected by selecting the reject option 683-1 (e.g., via input 605-33 or other optional inputs) or, in some embodiments, by failing to select the accept option 683-2 within a predetermined amount of time. If Jane rejects the audio call, Jane's device 600B remains in the shared content session with live communication disabled. If Jane accepts the audio call invitation, Jane's device 600B remains in the shared content session and live communication is enabled via the active audio channel.

[0258] Figure 6V An implementation in which Jane's device 600B rejects an incoming call in response to detecting input 605-33 on rejection option 683-1 is described. Therefore, Jane's device 600B continues to share content sessions (continue playing football programs) even when real-time communication is disabled, as at least by Figure 6VThe appearance of control area 615B is indicated by this. In some embodiments, Jane can join the audio feed for the shared content session by selecting audio call option 615-8B (e.g., via input 605-35 or other selection inputs). Although real-time audio is enabled at John's device 600A (as indicated at least by the appearance of control area 615A) and John's speaker and mic are enabled, real-time communication is not enabled at Jane's device 600B, and therefore real-time audio is not provided from John's device 600A to Jane's device 600B. Therefore, as John speaks, as indicated by voice 633-1, audio from John's speech is not output at Jane's device 600B. However, it should be understood that John's audio can be output at other devices where real-time communication for the shared content session is enabled. For example, when John selects audio call option 615-8A, an incoming call notification similar to notification 683 is displayed at Emily's device. If Emily accepts an incoming call, the audio channel is enabled for Emily's device, and audio from John's speech will be output to Emily's device (assuming the speaker is enabled on Emily's device).

[0259] Figure 6W The device 600B depicted in which Jane has responded to the detection of selection Figure 6U The input of option 683-2 in the middle is 605-34 or in response to the detection of selection. Figure 6V The implementation scheme enables real-time communication by inputting 605-35 to the audio call option 615-8B. Figure 6W In this configuration, Jane's device 600B has real-time audio enabled, as indicated by the dark appearance of the control area 615B and the display of speaker option 615-3B, mic option 615-4B, and camera option 615-5B. Since the audio channel is active while the video channel is inactive, speaker option 615-3B and mic option 615-4B are enabled, and camera option 615-5B is disabled. Because real-time audio is enabled at John's device 600A and Jane's device 600B, when John speaks (e.g., as indicated by voice 633-2), audio from John's speech is output at Jane's device, as indicated by output audio 635-1.

[0260] Figure 6X and 6Y It depicts John passing through Figure 6RThe interface for various implementations of initiating a video call is accessed via input 605-27, which selects video call option 615-9A. In response to detecting input 605-27 selecting video call option 615-9A, John's device 600A enables real-time communication for the shared content session and initiates a video call with the participants in the climbing group. Therefore, John's device 600A changes the appearance of the control area 615A to a dark appearance, stops displaying audio call option 615-8A and video call option 615-9A, and displays speaker option 615-3A, mic option 615-4A, and camera option 615-5A. Since a video call includes an active audio channel and an active video channel, speaker option 615-3A, mic option 615-4A, and camera option 615-5A are enabled (e.g., as indicated by the shaded area). John's device 600A also displays video feed 686, which currently shows John's self-view because other participants have not yet joined the real-time communication session. In some implementations, John's device 600A selectively positions the video feed 686 to avoid overlap between the playback controls 681A and the media PiP 680A. In some implementations, for example, the video feed 686 is displayed within the media PiP 680A when the media PiP 680A is decoupled from the media playback interface 679.

[0261] Jane's device 600B receives an incoming video call initiated by John's selection of video call option 615-9A. For example... Figure 6X As shown, Jane's device 600B displays an incoming call notification 684, indicating that John has initiated a video call for the shared content session. Incoming call notification 684 is similar to notification 616 and includes a reject option 684-1 and an accept option 684-2. An incoming video call can be accepted by selecting accept option 684-2 (e.g., via input 605-36 or other optional inputs). An incoming video call can be rejected by selecting reject option 684-1 (e.g., via input 605-37 or other optional inputs) or, in some embodiments, by failing to select accept option 684-2 within a predetermined amount of time. If Jane rejects the video call, Jane's device 600B remains in the shared content session with live communication disabled. If Jane accepts the video call invitation, Jane's device 600B remains in the shared content session and enables live communication via the active video channel and optionally the active audio channel.

[0262] Figure 6Y The device 600B depicted in which Jane has responded to the detection of selection Figure 6XThe implementation scheme enables real-time communication by accepting option 684-2 and inputting 605-36. Figure 6Y In this configuration, Jane's device 600B has real-time audio and real-time video enabled, as indicated by the dark appearance of the control area 615B, the display of speaker option 615-3B, mic option 615-4B, and camera option 615-5B, and the display of video feed 685. Since the audio and video channels are active, speaker option 615-3B, mic option 615-4B, and camera option 615-5B are enabled. Because real-time audio is enabled at John's device 600A and Jane's device 600B, when John speaks (e.g., as indicated by voice 633-3), audio from John's speech is output at Jane's device, as indicated by output audio 635-2. Because real-time video is enabled on both devices (and both devices have cameras enabled), Jane's device 600B displays video feed 685 showing John's video feed, and John's device 600A displays Jane's video feed in video feed 686. With the football program continuing to be broadcast and real-time communication enabled, both devices continue to display the Media PiP 680, allowing participants in a shared content session to interact with each other while watching the football program.

[0263] Figures 6Z to 6AC The interface depicts various implementations where John shares his screen with participants in a content-sharing session. In response to the detection of a selection... Figure 6R In the sharing option 615-6 input 605-28A, John's device 600A displays the sharing menu 655, such as... Figure 6Z As shown. John's device 600A detects input 605-38 selecting screen sharing option 652, and in response, enables real-time communication for the shared content session and initiates an audio call with the participants in the climbing group. Therefore, John's device 600A changes the appearance of the control area 615A to a dark appearance, stops displaying audio call option 615-8A and video call option 615-9A, and displays speaker option 615-3A, mic option 615-4A, and camera option 615-5A. Since the audio call includes an active audio channel but not an active video channel, speaker option 615-3A and mic option 615-4A are enabled (e.g., as indicated by the shadow) and camera option 615-5A is disabled (as indicated by the absence of the shadow). John's device 600A also temporarily displays countdown 687 instead of sharing option 615-6A, which provides a countdown of the amount of time remaining until John's device 600A begins sharing the content of display 600-1A in the shared content session (also referred to herein as screen sharing content).

[0264] Screen-shared content replaces the playback of other content currently being shared in the sharing session. Therefore, if a participant in the sharing session accepts an invitation to view John's screen-shared content, the screen-shared content will replace the replay of the football program on the participant's device. If the participant declines the invitation to view John's screen-shared content, the participant's device remains in the sharing session but does not continue outputting the content shared in the sharing session, which is the screen-shared content.

[0265] Jane's device 600B receives an incoming audio call initiated by John's selection of screen sharing option 652. The audio call is provided in conjunction with John's screen sharing and serves as an invitation to view the content shared on John's screen. Figure 6AA As shown, Jane's device 600B displays an incoming call notification 688 (similar to notification 683) instructing John to invite the climbing group to view his shared screen. The incoming call notification 688 includes a decline option 688-1 and an accept option 688-2. The invitation to view John's screen can be accepted by selecting accept option 688-2 (e.g., via input 605-40 or another optional input) and declined by selecting decline option 688-1 (e.g., via input 605-39 or another optional input), or in some embodiments by failing to select accept option 688-2 within a predetermined time period. If Jane declines the invitation, Jane's device 600B remains in the shared content session with live communication disabled and stops displaying media PiP 680B. If Jane accepts the invitation, Jane's device 600B remains in the shared content session, enables live communication via the active audio channel, and displays a PiP with screen-shared content from John's device 600A.

[0266] exist Figure 6AB In this scenario, John's device 600A displays the main screen 621 in response to the detection of input 605-41 (a gesture that causes device 600A to display the main screen 621). After countdown 687 expires, John's device 600A begins sharing the content of the display 600-1A, which serves as the main screen 621. In some embodiments, the control area 615A is not included as part of the screen-sharing content. John's device 600A updates the status area 615-1A to indicate that John is sharing his screen's content with the climbing group.

[0267] exist Figure 6AB In the middle, Jane's device 600B responded to the detection Figure 6AAJane declined the invitation to view John's screen-sharing content by entering 605-39 on the decline option 688-1. Jane's device 600B displays notification 689, informing Jane that John is sharing his screen as a participant in the content sharing session and prompting Jane to join the screen-sharing content sharing. Because Jane declined the invitation to view John's screen-sharing content, Jane's device 600B does not enable live communication and remains in the content sharing session without displaying John's screen-sharing content or media PiP 680B (which was previously used to display the football program). Furthermore, because Jane's device 600B remains in the content sharing session, Jane can replace the shared content with other content (e.g., John's current screen-sharing content). For example, Jane can resume the replay of the football program (or choose other content for replay), which will replace John's screen-sharing content with the football program, thus switching the participants in the content sharing session from viewing John's screen-sharing content to viewing the football program.

[0268] exist Figure 6AC In this scenario, Jane's device 600B responds to input 605-40 to select accept option 688-2 or input 605-42 to select notification 689 to view John's screen-shared content. In some implementations, Jane's device 600B may select audio call option 615-8B (or video call option 615-9B) to enable live communication and view John's screen-shared content. Figure 6AC In the implementation described, Jane's device 600B enables real-time communication via an active audio channel and displays a screen-sharing PiP 690 with screen-sharing content shared from John's device 600A, including a representation 621' of John's main screen 621. Jane's device 600B updates the control area 615B based on the enabled real-time communication session, including updating the status area 615-1B to indicate that she is viewing John's screen in a shared content session.

[0269] In the above implementation, screen-sharing content is provided in conjunction with audio calls. However, it should be understood that in some implementations, screen-sharing content may be provided in conjunction with video calls. In such implementations, the real-time communication session may include video feeds shared with participants in the content-sharing session as John's device shares content on the display 600-1A.

[0270] Figures 6AD to 6AH The interface depicts various implementations where John ends the shared content session and Jane displays information about the shared content session. Figure 6ADIn the image, a climber is watching a football program in a shared content session. John's device 600A is watching the program in the shared content session with live communication enabled, while Jane's device 600B is watching the program in the shared content session with live communication disabled. John's device detects and selects input 605-43 of the sharing option 615-6A, while Jane's device detects and selects input 605-44 of the status area 615-1B of the control area 615B.

[0271] exist Figure 6AE In the middle, John's device 600A displays the sharing menu 655 and detects input 605-45 for selecting the end option 657, which can be selected to end the playback of the content being shared in the sharing session. In response to detecting input 605-44, Jane's device 600B displays the group card interface 691, which provides information about the sharing session. For example... Figure 6AE As shown, the group interface 691 includes a list 692 of invited participants and status information for each participant. The status information includes indications of the participant's status regarding the shared content session, and whether the user has enabled real-time communication for the shared content session. For example, list 692 includes John 692-1, which has status information 693-1 indicating that John is watching content in the shared content session, and an indicator 694-1 indicating that John has enabled real-time communication. In some embodiments, indicator 694-1 indicates that John has joined the shared content session via synchronous communication (e.g., a video call). List 692 also includes Jane 692-2, which has status information 693-2 indicating that Jane is watching content in the shared content session, and an indicator 694-2 indicating that Jane has not yet enabled real-time communication. In some embodiments, indicator 694-2 indicates that Jane has joined the shared content session via asynchronous communication (e.g., a message invitation). List 692 includes Alan 692-3, which has status information 693-3 indicating that Alan has been invited to join a shared content session and has not yet accepted the invitation. The group card interface 691 also includes content information 695, which indicates, for example, content currently being shared, previously shared, or suggested for sharing in a shared content session with the climber group. In some embodiments, content information 695 includes options such as option 695-1, which can be selected to begin playback of content in the shared content session. In some embodiments, the group card interface 691 has different appearances depending on whether the device displaying the group card interface 691 has real-time communication enabled. For example, in Figure 6AEIn this embodiment, the group card interface 691 is shown with a light-colored appearance because Jane's device 600B has not yet enabled live communication; however, if Jane's device 600B does enable live communication, the group card interface 691 will be displayed with a dark-colored appearance. In some implementations, the group card interface 691 includes options for enabling or disabling live communication for shared content sessions (e.g., similar to audio call option 615-8 and / or video call option 615-9).

[0272] In response to detecting input 605-45 selecting the end option 657, John's device 600A terminates the live communication session at John's device 600A while remaining in the shared content session and continuing to play the shared content (e.g., a football program). John's device 600A also displays a continue notification 696 and, optionally, stops displaying the control area 615A, as shown. Figure 6AF As shown. Continuing notification 696 asks John if he wants to continue playing the shared content. Continuing notification 696 includes a continue option 696-1 and an end session option 696-2. Continue option 696-1 allows selection to remain in the shared content session and continue sharing activities (without enabling live communication). End session option 696-2 allows selection to end the playback of the shared content. In some implementations, the option to remain in the shared content session when live communication is disabled (e.g., via end option 657 and / or continuing notification 696) is only available if John started the shared content session from asynchronous communication. When John's device 600A terminates its live communication session, Jane's device 600B updates John's status in the group card interface 691 to indicate that John has not enabled live communication, as shown in indicator 694-1. In some implementations, John can re-enable live communication for the shared content session by selecting link 645A in message 642-4A or by selecting audio call option 615-8A or video call option 615-9A.

[0273] exist Figure 6AG In the middle, John's device 600A responded to the detection of selection Figure 6AF Entering option 605-47 to end the session (696-2) displays confirmation screen 697. Confirmation screen 697 includes options 697-1 and 697-2. Option 697-1 allows you to end the playback of shared content (e.g., a football program) for John's device 600A without ending the playback of content for other participants in the shared content session. Option 697-2 allows you to end the playback of shared content for both John's device 600A and other participants in the shared content session.

[0274] exist Figure 6AH In response to the detection of selection Figure 6AF With the continuation option 696-1 input 605-46, John's device 600A continues playing football programs on the Media PiP 680A even though live communication is disabled. Because live communication is disabled, John's device 600A displays a control area 615A with a light-colored appearance and includes audio call option 615-8A and video call option 615-9A.

[0275] Figure 7 This is a flowchart illustrating a method for initiating a shared content session using asynchronous communication with a computer system, according to some implementation schemes. Method 700 is performed at a computer system (e.g., 100, 300, 500 and / or 600) (e.g., smartphone, tablet, desktop computer, laptop computer and / or head-mounted device (e.g., head-mounted augmented reality and / or extended reality device)) that communicates with one or more display generating components (e.g., 600-1) (e.g., display controller, touch-sensitive display system, speaker, bone conduction audio output device, haptic output generator, projector, holographic display and / or head-mounted display system) and one or more input devices (e.g., 600-1, 600-2 and / or 600-3) (e.g., touch-sensitive surface, keyboard, mouse, touchpad, microphone, one or more optical sensors for detecting gestures, one or more capacitive sensors for detecting hover input, and / or accelerometer / gyroscope / inertial measurement unit) (e.g., including the one or more display generating components and the one or more input devices and / or connected to the one or more display generating components and the one or more input devices). 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.

[0276] As described below, method 700 provides an intuitive way to initiate shared content sessions using asynchronous communication. This method reduces the cognitive burden on users managing shared content sessions, thereby creating a more efficient human-computer interface. For battery-powered computing devices, it enables users to initiate shared content sessions faster and more efficiently using asynchronous communication, saving power and increasing the time interval between battery charges.

[0277] At method 700, a user interface (e.g., 606, 608, and / or 640) is displayed via one or more display generating components (e.g., 600-1) (e.g., display controller, touch-sensitive display system, speaker, bone conduction audio output device, haptic output generator, projector, holographic display, and / or head-mounted display system) for initiating a shared content session with an external computer system (e.g., 600B) (e.g., one or more external computer systems (e.g., computer systems associated with a remote user (e.g., operated by the remote user and / or logged into a user account associated with the remote user)). This interface includes one or more options for selecting participants to join the shared content session and / or for sending invitations to join the shared content session via synchronous or asynchronous communication, and / or has one or more options for initiating the shared content session. When the computer system (e.g., 600A) (e.g., smartphone, tablet, desktop computer, laptop computer and / or head-mounted device (e.g., head-mounted augmented reality and / or extended reality device)) receives (702) a first set of one or more inputs (e.g., 605-1, 605-2, 605-3, 605-4 and / or 605-10) corresponding to a request to initiate a shared content session with one or more external computer systems (e.g., 600B) via one or more input devices (e.g., 600-1, 600-2, and / or 600-3) (e.g., touch-sensitive surface, keyboard, mouse, touchpad, microphone, one or more optical sensors for detecting gestures, one or more capacitive sensors for detecting hover input, and / or accelerometer / gyroscope / inertial measurement unit)) via one or more input devices (e.g., 600-1, 605-2, 605-3, 605-4 and / or 605-10).

[0278] In response to receiving a first set of one or more inputs corresponding to a request to initiate a shared content session with one or more external computer systems, a computer system (e.g., 600A) initiates (704) a shared content session with one or more external computer systems (e.g., 600B) (e.g., creating a shared content session, activating a shared content session, and / or generating a link for the shared content session), wherein the shared content session, when active, enables the computer system to output corresponding content (e.g., synchronized content (e.g., audio and / or video data output synchronously at the computer system and the external computer system) and / or screen-shared content (e.g., image data generated by a device (e.g., the computer system or the external computer system) providing a real-time representation of image or video content currently displayed at the device), while the corresponding content is being output by one or more external computer systems. In some embodiments, during the shared content session, the corresponding content is output simultaneously at both the computer system (e.g., 600A) and the external computer system (e.g., 600B). In some embodiments, the corresponding content is screen-shared content from a computer system (e.g., 690) (e.g., content displayed on the computer system's monitor), which is transmitted to an external computer system such that both computer systems simultaneously output the screen-shared content from the computer system. In some embodiments, the corresponding content is screen-shared content from an external computer system (e.g., content displayed on the external computer system's monitor), which is transmitted to the computer system such that both computer systems simultaneously output the screen-shared content from the external computer system. In some embodiments, the corresponding content is synchronized content output at both the computer system and the external computer system (e.g., 636 and / or 680). In some embodiments, the computer system and the external computer system each access corresponding content (e.g., video, movie, TV program, or song) from a remote server and synchronize their respective outputs of the corresponding content, such that the content is output at both computer systems (e.g., via a local application on the respective computer system), while each computer system accesses the corresponding content from the remote server. In some implementations, the computer system and the external computer system access the corresponding content (e.g., synchronized content) respectively in response to an option received at the computer system or at the external computer system to request the output of the corresponding content.

[0279] A computer system (e.g., 600A) initiates a shared content session with one or more external computer systems (e.g., 600B), including initiating (706) a shared content session in a first mode based on determining that the shared content session is initiated via (e.g., using and / or combining) asynchronous communication (e.g., 642-4A and / or 642-4B) (e.g., using a messaging application operating at the computer system to send messages to the external computer system and / or using an email application operating at the computer system to send emails to the external computer system). Figure 6J , Figure 6K and / or Figure 6L As shown), a set of real-time communication features (e.g., live camera feeds and / or live audio feeds between the computer system and an external computer system) are disabled (e.g., turned off, initially disabled, and / or temporarily disabled) for the shared content session. Based on the determination that the shared content session is initiated via asynchronous communication, initiating a shared content session in a first mode, in which a set of real-time communication features are disabled for the shared content session, enables the computer system to initiate the shared content session based on a user-selected communication style or preference even when real-time communication is disabled, without requiring the user to provide additional input to indicate preferences and disable real-time communication controls. In some embodiments, initiating a shared content session includes sending an invitation (e.g., 645B) to the external computer system to join the shared content session via asynchronous communication (e.g., 642-4B).

[0280] In some implementations, a computer system (e.g., 600A) initiates a content-sharing session with one or more external computer systems (e.g., 600B) by determining that the content-sharing session is via (e.g., using and / or combining) synchronous communication (e.g., as...). Figure 6C and / or Figure 6D The shared content session is initiated in a second mode where a set of real-time communication features are enabled for the shared content session, as shown (e.g., the shared content session is initiated via real-time communication such as video calls, video chat, and / or audio calls, and / or real-time communication applications such as video call applications, video chat applications, and / or audio call applications). Initiating the shared content session in the second mode, where a set of real-time communication features are enabled for the shared content session, based on the determination that the shared content session is initiated via synchronous communication, enables the computer system to initiate the shared content session when real-time communication is enabled, without requiring the user to provide additional input to indicate preferences and enable real-time communication controls. In some embodiments, initiating a shared content session includes sending an invitation to join the shared content session to an external computer system via synchronous communication (e.g., 616, 683, 684, and / or 688).

[0281] In some implementations, a user interface (e.g., 608) for initiating a shared content session with an external computer system (e.g., 600B) includes displaying (e.g., simultaneously displaying) a first option (e.g., 614 and / or 646) (e.g., messaging and / or email options) selectable (e.g., via one or more inputs (e.g., 605-4 and / or 605-10)) to initiate a shared content session via asynchronous communication (e.g., 642-4) and a second option (e.g., 612) (e.g., video call option and / or audio call option) selectable (e.g., via one or more inputs (e.g., 605-3)) to initiate a shared content session via synchronous communication (e.g., real-time communication session and / or communication session in which live audio feed and / or live video feed communicate with the external computer system). The user interface for initiating a shared content session (including a first option to select an asynchronous communication session and a second option to select a real-time communication session) reduces the amount of input required to initiate a shared content session when the real-time communication feature is enabled or disabled by providing control over enabling or disabling real-time communication when initiating a shared content session via a specific communication style.

[0282] In some implementations (e.g., as part of initiating a shared content session with one or more external computer systems (e.g., 600B)), in response to receiving a first set of one or more inputs corresponding to a request to initiate a shared content session with one or more external computer systems, and based on determining that the first set of one or more inputs corresponding to the request to initiate a shared content session with one or more external computer systems includes a selection of a first option (e.g., 614) (e.g., messaging options and / or email options) (e.g., 605-4), the computer system (e.g., 600A) displays a message composing user interface (e.g., 640A and / or 644A) (e.g., a messaging application interface) via one or more display generation components (e.g., 600-1A). The device automatically displays a user interface that enables a user to send an invitation to join the shared content session and to provide additional communication to one or more external computer systems, without displaying additional controls requiring additional input to display the message composing user interface. In some implementations, the message composing user interface is displayed as part of initiating a shared content session via asynchronous communication. In some embodiments, the message composing user interface includes a user interface for a messaging application operating on a computer system (e.g., 640A). In some embodiments, the messaging application interface includes a message composing area (e.g., 644A) that includes a displayed invitation (e.g., 645A) that can be sent via the messaging application to one or more recipients (e.g., 600B) to join a shared content session via asynchronous communication (e.g., an invitation sent via the messaging application). In some embodiments, initiating a shared content session with one or more external computer systems includes initiating the shared content session via a real-time communication session (e.g., using synchronous communication) based on determining a first set of one or more inputs corresponding to a request to initiate a shared content session with one or more external computer systems, including a selection of a second option (e.g., 612) (e.g., 605-3).

[0283] In some implementations, a computer system (e.g., 600A) initiates a shared content session with one or more external computer systems (e.g., 600B) by initiating playback (e.g., outputting the content to the computer system and the external computer systems that have joined the shared content session) of the corresponding content (e.g., 636, 680, and / or 682) in the shared content session, based on the determination that the number of one or more external computer systems that have joined the shared content session meets (e.g., greater than or equal to or greater than) a threshold number (e.g., a non-zero number of external computer systems (such as one, two, three, five, or ten) and / or a non-zero percentage of invited external computer systems (such as 5%, 10%, 25%, 50%, 75%, 90%, 95%, or 100%). In some implementations, initiating a shared content session with one or more external computer systems by a computer system includes abandoning the initiation of playback of the corresponding content if the number of one or more external computer systems that have joined the shared content session does not meet (e.g., less than or equal to or less than) a threshold number. This involves preventing the output of the corresponding content at both the computer system and the external computer systems until the threshold number of external computer systems have joined the shared content session. Initiating playback of the corresponding content in the shared content session based on the determination that at least the threshold number of one or more external computer systems have joined, and abandoning the initiation of playback based on the determination that less than the threshold number of one or more external computer systems have joined, improves the user experience of the shared content session by delaying the start of the corresponding content until multiple participants have joined.

[0284] In some implementations, when initiating a shared content session (e.g., when the shared content session is active) and displaying a first display state (e.g., as shown in the image), the first display state is displayed. Figure 6D After a graphical object (e.g., 620A) (e.g., icon, indicator, and / or graphical element) (e.g., a first color such as gray or purple, and / or a de-emphasized or blurred appearance represented by the outline or shadow of the graphical object) has joined the shared content session, and based on a determined (or in response to a determined) threshold number (e.g., a non-zero number of external computer systems (e.g., one, two, three, five, or ten) and / or a non-zero percentage of invited external computer systems (e.g., 5%, 10%, 25%, 50%, 75%, 90%, 95%, or 100%) has joined the session, the computer system displays a state different from the first display state (e.g., as shown in the image)... Figure 6FA graphical object (e.g., 620A) in a second display state (e.g., a second color such as green or blue, and / or an emphasized or unblurred appearance represented by the absence of outlines or shadows of the graphical object). Displaying a graphical object with a second display state different from the first display state, based on a determined threshold number of one or more external computer systems that have joined the shared content session, provides feedback on the state of the computer system (e.g., the state that multiple participants have been detected joining the shared content session). In some embodiments, the computer system changes the graphical object from the first display state to the second display state when a first user joins the shared content session.

[0285] In some implementations, after initiating a shared content session (and before any external computer system has joined the shared content session), a computer system (e.g., 600A) detects a first external computer system (e.g., 600B) joining the shared content session (before any other external computer system has joined the shared content session). In some implementations, in response to detecting the first external computer system joining the shared content session, the computer system displays a notification (e.g., 634, 634-1, 650, and / or 650-1) via one or more display generation components (e.g., 600-1A) that allows selection (e.g., via one or more inputs (e.g., 605-9 or 605-14)) to enable playback of content (e.g., relevant content) for the shared content session (e.g., banners, text, and / or graphic warnings). Displaying a notification that allows selection to enable playback of content for the shared content session in response to detecting the first external computer system joining the shared content session reduces the amount of input required for a participant to start playback of content when the participant has joined the shared content session by automatically displaying controls for starting content playback. In some implementations, the computer system initiates playback of content for a shared content session in response to (e.g., immediately in response to) detecting a selection of a notification. In some implementations, the computer system displays options (e.g., 634-1 or 650-1) that allow selection to begin playback of the content in response to detecting a selection of a notification (e.g., 634 or 650).

[0286] In some implementations, a request to initiate a shared content session with one or more external computer systems (e.g., 600B) is associated with first content (e.g., “track 3”) (e.g., relevant content and / or content selected for the shared content session), and a notification (e.g., 634 or 650) includes a first option (e.g., 634-1 or 650-1) (e.g., “start” power indicator or “open” power indicator), which can be selected (e.g., via one or more inputs) to initiate playback of the first content for the shared content session. Displaying the first option that can be selected to initiate playback of the first content for the shared content session reduces the amount of input required for a participant to initiate playback of the first content for the shared content session by automatically displaying controls for initiating playback of the first content when the participant has joined the shared content session.

[0287] In some implementations, a request to initiate a shared content session with one or more external computer systems is associated with first content (e.g., “track 3”) (e.g., the corresponding content and / or content selected for the shared content session). In some implementations, when a notification (e.g., 634 or 650) is displayed that allows playback of the content for the shared content session (e.g., via one or more inputs), the computer system (e.g., 600A) receives input directed to that notification (e.g., 605-9 or 605-14). In some implementations, in response to receiving input directed to that notification, the computer system displays, via one or more display generation components, a second option (e.g., 634-1 or 650-1) (e.g., a “start” power-on indicator and / or an “open” power-on indicator) that allows playback of the first content (e.g., the initial selection for the shared content session and / or the corresponding content and / or content shared with external computer systems) for the shared content session (e.g., 634-1 or 650-1) for the shared content session (e.g., a “start” power-on indicator and / or an “open” power-on indicator). In response to receiving input pointing to a notification, displaying a second option that allows selection to play back the first content of a shared content session enables the computer system to automatically provide control over the playback of the first content of a participant who has started a shared content session, once the participant has joined the shared content session.

[0288] In some embodiments, after initiating a content sharing session, a computer system (e.g., 600A) displays a first control user interface (e.g., 615A) (e.g., graphical objects and / or menus) via one or more display generation components (e.g., 600-1A). In some embodiments, displaying the first control user interface via one or more display generation components includes, based on determining that the content sharing session is provided via an asynchronous communication session (e.g., 642-4) (e.g., the content sharing session is in a first mode, the content sharing session is in a first state, and / or the communication session associated with the content sharing session is currently an asynchronous communication session or a communication session in which real-time communication features (such as live video feeds and / or live audio feeds) are disabled), displaying a first control user interface with a first set of one or more control options (e.g., 615-8A and / or 615-9A) (e.g., selectable graphical elements, icons, text, and / or display representations) (e.g., messaging options, audio call options, video call options, and / or sharing options). In some implementations, displaying a first control user interface via one or more display generation components includes, based on determining that the shared content session is provided via a real-time communication session (e.g., the shared content session is in a mode different from a first mode, the shared content session is in a second state, and / or the communication session associated with the shared content session is currently a synchronous communication session or a communication session in which real-time communication features such as live video feeds and / or live audio feeds are enabled), displaying a first control user interface with a second set of one or more control options (e.g., 615-3, 615-4, and / or 615-5) that is different from the first set of one or more control options (e.g., messaging options, audio routing options, mic on / off options, speaker on / off options, camera on / off options, and / or sharing options). Displaying a first control user interface with a first set of one or more control options based on determining that the shared content session is provided via an asynchronous communication session, and displaying a first control user interface with a second set of one or more control options based on determining that the shared content session is provided via a real-time communication session, enables the computer system to automatically provide control for the shared content session based on the communication type of the shared content session.In some implementations, the control user interface includes information associated with a shared content session (e.g., 615-1), information associated with a communication session (e.g., 615-1), one or more selectable communication session function options (e.g., 615-2, 615-3, 615-4, 615-5, 615-6, 615-7, 615-8 and / or 615-9) that, when selected, cause the computer system to perform a corresponding function associated with the shared content session, and / or one or more selectable shared content session function options (e.g., 615-2, 615-3, 615-4, 615-5, 615-6, 615-7, 615-8 and / or 615-9).

[0289] In some implementations, after initiating a content sharing session, the computer system (e.g., 600A) displays a second control user interface (e.g., 615A) with a first appearance (e.g., graphical objects and / or menus) via one or more display generation components (e.g., 600-1A) while the content sharing session is in a first mode (e.g., 615A, such as...). Figure 6R (As shown) (e.g., a mode in which the shared content session is provided via an asynchronous communication session and / or a mode in which real-time communication features are disabled for the shared content session). In some implementations, the computer system detects a change in the shared content session from a first mode to a third mode different from the first mode (e.g., as shown). Figure 6U , Figure 6X and / or Figure 6AA (as shown) (e.g., a mode in which the shared content session is provided via a synchronous communication session and / or a mode in which real-time communication features are enabled for the shared content session). In some embodiments, in response to detecting a change in the shared content session from a first mode to a third mode, the computer system displays a second control user interface with a second appearance different from the first appearance (e.g., Figure 6U , Figure 6X and / or Figure 6AA (e.g., instructing a shared content session to change from a first mode to a third mode) (e.g., changing the appearance of a second control user interface from a first appearance to a second appearance). Displaying a second control user interface with a second appearance different from the first appearance in response to detecting a change in a shared content session from a first mode to a third mode enables the computer system to automatically update the second control user interface based on the mode of the shared content session and provide feedback on the state of the computer system (e.g., the state where real-time communication features are enabled for the shared content session).

[0290] In some implementations, the computer system (e.g., 600A) displays a second control user interface with a first appearance (e.g., Figure 6R 615A includes displaying (e.g., in a second control user interface) a first group of one or more optional control options (e.g., 615-8A and / or 615-9A) (e.g., optional graphical elements, icons, text, and / or display indicators), and displaying a second control user interface with a second appearance (e.g., Figure 6U , Figure 6X and / or Figure 6AA The computer system of 615A includes displaying (e.g., in a second control user interface) a second set of one or more optional control options that differs from a first set of one or more optional control options (e.g., 615-3, 615-4, and / or 615-5). Displaying the first set of one or more optional control options when the second control user interface has a first appearance, and displaying the second set of one or more optional control options when the second control user interface has a second appearance, enables the computer system to automatically update the control options provided in the second control user interface based on the pattern of the shared content session. In some embodiments, when the second control user interface has a first appearance, the control user interface includes audio calling options (e.g., 615-8) and video calling options (e.g., 615-9), and does not include mic on / off options (e.g., 615-4), speaker on / off options (e.g., 615-3), or camera on / off options (e.g., 615-5). In some implementations, when the second control user interface has a second appearance, the control user interface includes a mic on / off option (e.g., 615-4), a speaker on / off option (e.g., 615-3), and a camera on / off option (e.g., 615-5), but does not include an audio call option (e.g., 615-8) or a video call option (e.g., 615-9).

[0291] In some implementations, the computer system (e.g., 600A) displays a second control user interface with a first appearance (e.g., Figure 6R 615A) includes displaying (e.g., in a second control user interface) a background of a second control user interface having a first state (e.g., a first background color (e.g., a light color such as white or yellow) and / or a first shaded state (e.g., no shadow or light shadow state)), and the computer system displays a second control user interface having a second appearance (e.g., Figure 6U , Figure 6X and / or Figure 6AA615A of the standard includes a background for displaying a second control user interface having a second state different from the first state (e.g., a second background color (e.g., a dark color such as gray or black) and / or a second shaded state (e.g., a shadow or dark shadow state)). Displaying the background of the second control user interface with the first state when the second control user interface has a first appearance, and displaying the background of the second control user interface with the second state when the second control user interface has a second appearance, provides feedback on the state of the computer system (e.g., the state of the shared content session at the computer system). In some embodiments, the control user interface is displayed with different background colors depending on the mode of the shared content session. For example, when the shared content session is provided via an asynchronous communication session, the control user interface background has a light color, and when the shared content session is provided via a synchronous (e.g., real-time) communication session, the control user interface background has a dark color. In some embodiments, the computer system displays the background of the second control user interface changing from the first background to the second background and vice versa in response to detecting a change in the shared content session from a first mode to a third mode.

[0292] In some implementations, the third mode is a mode in which one or more real-time communication features (e.g., live camera feeds and / or live audio feeds between a computer system and an external computer system) are enabled for the shared content session, and when the shared content session transitions from the first mode (e.g., in...) Figure 6R (in) change to the third mode (e.g., in) Figure 6U , Figure 6X and / or Figure 6AA When the shared content session changes from the first mode to the third mode, the appearance of the second control user interface changes based on changes in the state of the computer system (e.g., 600A) (e.g., and vice versa) (e.g., and not based on the state of the shared content session of the external computer system participating in the shared content session). Changing the appearance of the second control user interface based on changes in the state of the computer system when the shared content session changes from the first mode to the third mode provides feedback on the state of the computer system (e.g., the state of the shared content session at the computer system).

[0293] In some implementations, initiating a shared content session involves sending (e.g., sharing and / or transmitting) a link (e.g., 645) to one or more external computer systems (e.g., 600B) for joining the shared content session (e.g., displayed in a message in the message UI (e.g., 640)). By providing a convenient and easily accessible link for joining the shared content session at one or more external computer systems, sending a link to one or more external computer systems for joining the shared content session reduces the amount of input required to join the shared content session.

[0294] In some implementations, the link (e.g., displayed in a message (e.g., 642-4)) includes a join option (e.g., 645) (e.g., a "Join" or "Open" option). In some implementations, the computer system detects one or more inputs (e.g., 605-13) corresponding to a selection of a join option (e.g., 645A or 645B) via one or more input devices. In some implementations, in response to the detection of one or more inputs corresponding to a selection of a join option, the computer system (e.g., 600A and / or 600B) initiates a process for joining a shared content session (e.g., joining an ongoing shared content session, rejoining an ongoing shared content session, and / or initiating a new shared content session). Initiating a process for joining a shared content session in response to the detection of one or more inputs corresponding to a selection of a join option allows the computer system to join a shared content session without displaying additional controls, providing additional control options without cluttering the user interface. In some implementations, the link (e.g., 645A) is displayed at the computer system (e.g., 600A). In some implementations, the link (e.g., 645B) is displayed at one or more external computer systems (e.g., 600B). In some implementations, the content (e.g., 645 and / or 647) in a message (e.g., 642-4) (at the computer system and / or one or more external computer systems) changes over time to indicate the state of the content-sharing session. For example, the message may include an indication (e.g., 647) that relevant content was output during the content-sharing session, and this indication changes over time as the relevant content changes. As another example, when the computer system is participating in a content-sharing session, the selectable option displayed in the message (e.g., 645) may change from "Join" to "Leave". As yet another example, the message may include an indication of the state of the content-sharing session, such as an indication of an ongoing activity (e.g., watching a movie or listening to a song), which may be updated as the activity changes.

[0295] In some embodiments, after initiating a shared content session with one or more external computer systems (e.g., 600), the computer system (e.g., 600) displays a status user interface (e.g., 691) via one or more display generation components (e.g., 600-1) that includes calling options (e.g., 615-8 and / or 615-9) (e.g., video calling options and / or audio calling options). This user interface (e.g., a user interface with status information about the shared content session (e.g., a group card), such as, for example, the user, user status, and / or content associated with the shared content session). In some embodiments, when displaying the status user interface including the calling options, the computer system detects one or more inputs corresponding to the selection of a calling option via one or more input devices (e.g., 600-1). In some embodiments, in response to detecting one or more inputs corresponding to the selection of a calling option, the computer system initiates a process for enabling real-time communication for the shared content session (e.g., initiating an audio call to establish an audio feed for the shared content session and / or initiating a video call to establish a video feed and optionally establish an audio feed for the shared content session). The process of initiating real-time communication to enable a shared content session in response to detecting one or more inputs corresponding to a selection of call options enables the computer system to enable real-time communication for the shared content session without displaying additional controls, which provides additional control options without cluttering the user interface.

[0296] In some implementations, after initiating a shared content session with one or more external computer systems, the computer system (e.g., 600) displays a user status interface (e.g., 691) via one or more display generation components (e.g., 600-1) (e.g., a user interface with status information about the shared content session (e.g., a group card), such as, for example, the user, user status, and / or content associated with the shared content session). This user status interface includes indications of the participants in the shared content session (e.g., one or more users and / or user accounts associated with the external computer system) who are engaged in the shared content session when real-time communication is enabled (e.g., one or more real-time communication features such as live audio feeds and / or live video feeds are enabled). Figure 6AE In accordance with 694-1 (e.g., text, graphic indicators, icons, and / or indications) and instructions for participants in a shared content session when real-time communication is disabled (e.g., no real-time communication and / or no real-time communication features are enabled), the participants in a shared content session shall be instructed to participate in the shared content session (e.g., Figure 6AE(e.g., text, graphical indicators, icons, and / or power indicators). The user status interface, which displays instructions for participants in a shared content session that includes enabling live communication and instructions for participants in a shared content session that includes disabling live communication, provides feedback on the status of participants in the shared content session.

[0297] In some implementations, when the shared content session is in a first mode at a computer system (e.g., 600) (e.g., real-time communication features are disabled for the shared content session on the computer system), and in response to a second external computer system (e.g., 600) enabling real-time communication of the shared content session at the second external computer system, the computer system displays an incoming communication user interface (e.g., 616, 683, 684, and / or 688) including accept options (e.g., 616-2, 683-2, 684-2, and / or 688-2) (e.g., "Join" and / or "Accept" options) (e.g., a banner or alert indicating an incoming invitation (e.g., an audio call and / or a video call) to enable real-time communication of the shared content session at the computer system). In some implementations, when the incoming communication user interface including the accept option is displayed, the computer system detects one or more inputs corresponding to the selection of the accept option (e.g., 605-6, 605-34, 605-36, and / or 605-40) via one or more input devices (e.g., 600-1). In some implementations, in response to detecting one or more inputs corresponding to a selection of an accept option, the computer system initiates a process for enabling real-time communication for the shared content session at the computer system level (e.g., establishing a real-time communication session with a second external computer system and, in some implementations, with other participants in the shared content session). Initiating this process for enabling real-time communication for the shared content session at the computer system level in response to detecting one or more inputs corresponding to a selection of an accept option allows the computer system to enable real-time communication for the shared content session at the computer system level without displaying additional controls, providing additional control options without cluttering the user interface.

[0298] In some implementations, the shared content session is in a fourth mode in which a set of real-time communication features are enabled for the shared content session (e.g., Figure 6AEWhen the shared content session is in a fourth mode (e.g., 600A), the computer system (e.g., 600A) receives a request to switch the shared content session from a fourth mode (e.g., 605-43, 605-45, 605-47, selection of option 697-1, and / or selection of option 697-2) via one or more input devices (e.g., 1 or more sets of inputs corresponding to a request to end real-time communication of the shared content session, 1 or more sets of inputs corresponding to a request to end the shared content session, and / or 1 or more sets of inputs corresponding to a request to switch the shared content session from the fourth mode to the first mode). In some embodiments, when the shared content session is in a fourth mode in which a set of real-time communication features are enabled for the shared content session, and in response to receiving a request to switch the shared content session from the fourth mode, the computer system displays a session options user interface (e.g., 696 and / or 697) via one or more display generation components (e.g., 600-1). In some implementations, the session options user interface includes termination options (e.g., via one or more inputs) for terminating the shared content session at the computer system (e.g., 696-2, 697-1, and / or 697-2) (e.g., "Leave" option, "End Session" option, icon, power indicator, and / or graphical element). In some implementations, the session options user interface includes continue options (e.g., 696-1) for continuing the shared content session at the computer system (e.g., where real-time communication features are disabled or enabled) (e.g., "Continue" option, "Cancel" option (e.g., in confirmation interface 697), icon, power indicator, and / or graphical element). In response to receiving a request to switch the shared content session from a fourth mode, displaying a session options user interface including termination options for terminating the shared content session at the computer system and continue options for continuing the shared content session at the computer system causes the computer system to automatically display options for continuing or terminating the shared content session upon receiving a request to switch the shared content session from a fourth mode. In some implementations, the computer system detects the selection of a termination option (e.g., 696-2) via one or more input devices (e.g., 605-47). In some implementations, when a termination option (e.g., 696-2 and / or 697-1) is selected, the shared content session is terminated at the computer system (e.g., 600A), while the shared content session continues for other participants (e.g., 600B). In some implementations, when a termination option (e.g., 696-2 and / or 697-2) is selected, the shared content session is terminated for all participants in the shared content session.In some implementations, when a termination option is selected (e.g., 696-2), the computer system displays an option to terminate the shared content session for all participants or only for the computer system (e.g., 697, 697-1, and / or 697-2).

[0299] In some implementations, in response to receiving a request to switch the shared content session from a fourth mode (e.g., 605-46), the computer system (e.g., 600A) stops displaying the third control user interface for the shared content session (e.g., in...). Figure 6AF The 615A interface is no longer displayed (e.g., graphical objects and / or menus) (e.g., the third control user interface is replaced with a session options user interface). In some implementations, the computer system is compared with the previous (e.g., in...) Figure 6AE The session options user interface (e.g., 696) is displayed at a location that at least partially overlaps with the location where the third control user interface (e.g., 615A) is displayed. In some embodiments, the third control user interface includes information associated with a shared content session, information associated with a communication session, one or more selectable communication session function options that, when selected, cause the computer system to perform a corresponding function associated with the communication session, and / or one or more selectable shared content session function options that, when selected, cause the computer system to perform a corresponding function associated with the shared content session.

[0300] In some implementations, the computer system (e.g., 600A) receives a selection (e.g., 605-46) of a continue option (e.g., 696-1) via one or more input devices (e.g., 600-1) (e.g., a set of one or more inputs pointing to the continue option). In some implementations, in response to receiving a selection of the continue option, the computer system transitions the shared content session from a fourth mode to a first mode (e.g., as...). Figure 6AH (As shown) (for example, continuing the content sharing session when this set of real-time communication features is disabled). Responding to receiving a selection to continue, switching the content sharing session from the fourth mode to the first mode causes the computer system to automatically continue the content sharing session in the first mode.

[0301] In some embodiments, the computer system (e.g., 600A) displays a session options user interface (e.g., 696) including, based on determining that the shared content session was initiated via asynchronous communication, displaying a continue option (e.g., 696 and / or 696-1) that allows selection to continue the shared content session at the computer system. In some embodiments, the computer system displays a session options user interface including, based on determining that the shared content session was not initiated via asynchronous communication, abandoning the display of the continue option that allows selection to continue the shared content session at the computer system. Displaying the continue option based on determining that the shared content session was initiated via asynchronous communication, and abandoning the display of the continue option based on determining that the shared content session was not initiated via asynchronous communication, causes the computer system to automatically display the option to continue the shared content session in a first mode when the shared content session was initiated via asynchronous communication. In some embodiments, the option to continue the shared content session when real-time communication features are disabled is only available when the shared content session was initiated via asynchronous communication. In some embodiments, when the shared content session was not initiated by asynchronous communication, the computer system continues the shared content session in a fourth mode (e.g., where real-time communication features are enabled) in response to the selection of a continue option. In some implementations, when the content sharing session is not initiated via asynchronous communication, the computer system does not display the option to continue the content sharing session.

[0302] In some implementations, after the shared content session is switched from mode 4 to mode 1 (e.g., as...), Figure 6AH(As shown) (e.g., after real-time communication at the computer system is disabled for a shared content session), the computer system (e.g., 600A) receives one or more sets of inputs (e.g., 605-25) via one or more input devices (e.g., 600-1A) corresponding to a request to display a message user interface (e.g., 640A) (e.g., the user interface of a messaging application at the computer system). In some embodiments, in response to receiving one or more sets of inputs corresponding to a request to display a message user interface, the computer system displays the message user interface (e.g., 640A) via one or more display generation components. In some embodiments, displaying the message user interface via one or more display generation components includes displaying, in the message user interface (e.g., in a message within the message user interface), a selectable (e.g., via one or more inputs) rejoin option (e.g., 645A) (e.g., graphical elements, icons, and / or display representations) to switch the shared content session at the computer system from a first mode to a fourth mode (e.g., re-enabling real-time communication features for the shared content session) in the message user interface (e.g., within a message in the message user interface). Displaying a rejoin option that allows switching a shared content session from mode one to mode four enables the device to provide users with the option to switch modes of a shared content session without having to display additional controls for the shared content session.

[0303] In some implementations, asynchronous communication includes text-based messaging communication (e.g., 642-4) (e.g., instant messaging, text messaging, SMS, MMS, and / or email).

[0304] In some implementations, when the first content (e.g., a first movie, show, and / or music) is being output as the corresponding content of a shared content session (e.g., in...), Figure 6Q While “Track 3” is playing, a computer system (e.g., 600A) receives a request (e.g., 605-23) via one or more input devices (e.g., 600-1A) to initiate playback of second content (e.g., a “football program”) (e.g., a second movie, program, and / or music), wherein the second content differs from the first content. In some embodiments, in response to receiving the request to initiate playback of the second content at the computer system, the computer system outputs the second content (e.g., 680) as the corresponding content for the shared content session (e.g., and stops outputting the first content as the corresponding content for the shared content session). Outputting the second content as the corresponding content for the shared content session in response to receiving the request to initiate playback of the second content at the computer system causes the computer system to automatically update the corresponding content of the shared content session based on the content selected for playback at the computer system.

[0305] In some implementations, when the content sharing session is active and the first user interface is displayed (e.g., Figure 6R When 679 is received, the computer system (e.g., 600A) receives a request (e.g., 605-25) via one or more input devices (e.g., 600-1) to display a message user interface (e.g., to select message options (e.g., 615-2A) in a control user interface (e.g., 615A)). In some embodiments, in response to receiving a request to display a message user interface (e.g., a user interface for a messaging application at the computer system), the computer system will display the message user interface (e.g., 600-1) via one or more input devices (e.g., 600-1). Figure 6S The message user interface (640A) is displayed on at least a portion of the first user interface (e.g., partially or completely overlapping the first user interface). Displaying the message user interface on at least a portion of the first user interface in response to receiving a request to display the message user interface causes the computer system to automatically display the message user interface for communicating with other users during shared content session activity.

[0306] In some implementations, it is displayed on at least a portion of the first user interface (e.g., 679) (e.g., in...). Figure 6S When the message user interface (e.g., 640A) is displayed, the computer system (e.g., 600A) receives one or more inputs (e.g., 605-31 and / or 605-32) via one or more input devices corresponding to a request to close the message user interface (e.g., tap input, swipe gesture from a corresponding location or area of ​​the display generating component, selection of a graphical element such as a completion function, icon, and / or text). In some embodiments, in response to receiving one or more inputs corresponding to a request to close the message user interface (and / or optionally, based on determining that the one or more inputs meet a set of criteria (e.g., a set of criteria for closing the message user interface)), the computer system stops displaying the message user interface (e.g., 640A) and displays a first user interface (e.g., 679) (e.g., continuing to display at least a portion of the first user interface and / or redisplaying at least a portion of the first user interface). The computer system automatically closes the message user interface and displays the first user interface in response to receiving one or more inputs corresponding to a request to close the message user interface.

[0307] In some embodiments, the first user interface (e.g., 679) includes a representation (e.g., a window or PiP displaying the output content) of media (e.g., 680A) as the corresponding content output of a shared content session. In some embodiments, the computer system (e.g., 600A) displays a representation of the media (e.g., 680A) on at least a portion of the first user interface (e.g., 679). This includes displaying a representation of the media (e.g., 680A) at a location that at least partially overlaps with the message user interface area but not with the receiver area (e.g., 640-1A) of the message user interface (e.g., the area of ​​the message user interface indicating one or more recipients of messages in the message user interface) and not with at least a portion of the message display area (e.g., 642A) of the message user interface (e.g., the area of ​​the message user interface including one or more messages (e.g., 642-4 and / or 642-5) transmitted as part of a message session). Displaying a media representation at a location that at least partially overlaps with the message user interface area but not with the recipient area of ​​the message user interface and not with at least a portion of the message display area of ​​the message user interface enhances the user experience of shared content sessions by allowing users to continue viewing the relevant content while also being able to communicate with other users (including being able to view the message recipients) via the message user interface.

[0308] In some embodiments, the computer system (e.g., 600A) displaying a message user interface (e.g., 640A) on at least a portion of a first user interface (e.g., 679) includes, based on determining that the computer system is a first type of device (e.g., a tablet, laptop, and / or desktop computer), displaying the message user interface simultaneously with at least a portion of the first user interface (e.g., the message user interface partially covers the first user interface). In some embodiments, the computer system displaying a message user interface on at least a portion of the first user interface includes, based on determining that the computer system is a second type of device (e.g., a smartphone and / or wearable device), displaying the message user interface without displaying at least a portion of the first user interface (e.g., the message user interface completely covers the first user interface).

[0309] In some implementations, the shared content session is in a first mode (e.g., as...). Figure 6R and / or Figure 6ZWhen (e.g., real-time communication features are disabled), the computer system (e.g., 600A) receives one or more sets of inputs (e.g., 605-28 and / or 605-38) corresponding to a request to select screen shared content (e.g., the screen and / or application interface being displayed by the computer system) as the appropriate content for a shared content session. In some embodiments, in response to receiving one or more sets of inputs corresponding to a request to select screen shared content as the appropriate content for a shared content session, the computer system selects screen shared content as the appropriate content for a shared content session (in some embodiments, this includes outputting screen shared content as the appropriate content for a shared content session) and transitions the shared content session from a first mode to a fifth mode in which a real-time audio channel (e.g., audio feed) is active for the shared content session (e.g., as shown). Figure 6AA (As shown). Selecting screen-shared content as the appropriate content for a shared content session and, in response to receiving one or more inputs corresponding to the request to select screen-shared content as the appropriate content for the shared content session, switching the shared content session from a first mode to a fifth mode causes the computer system to automatically enable real-time communication for the shared content session when the appropriate content is screen-shared content. In some implementations, when the shared content session is in the fifth mode, the audio channel is active while the real-time video channel is inactive. In some implementations, when the shared content session is in the fifth mode, both the real-time audio channel and the real-time video channel are active.

[0310] It should be noted that the above description is in contrast to the process described in method 700 (e.g., Figure 7 The details of the above also apply in a similar manner to the methods described below. For example, any of the methods 800, 900, and 1100 may optionally include one or more of the characteristics of the various methods described above with reference to method 700. For example, any aspect discussed with respect to method 700 for initiating a shared content session using asynchronous communication may be applied to the shared content session described with respect to any aspect of methods 800, 900, and / or 1100. For the sake of brevity, these details will not be repeated.

[0311] Figure 8This is a flowchart illustrating a method for managing real-time communication features for shared content sessions using a computer system, according to some implementation schemes. Method 800 is performed at a computer system (e.g., 100, 300, 500 and / or 600) (e.g., smartphone, tablet, desktop computer, laptop computer and / or head-mounted device (e.g., head-mounted augmented reality and / or extended reality device)) that communicates with one or more display generating components (e.g., 600-1) (e.g., display controller, touch-sensitive display system, speaker, bone conduction audio output device, haptic output generator, projector, holographic display and / or head-mounted display system) and one or more input devices (e.g., 600-1, 600-2 and / or 600-3) (e.g., touch-sensitive surface, keyboard, mouse, touchpad, microphone, one or more optical sensors for detecting gestures, one or more capacitive sensors for detecting hover input, and / or accelerometer / gyroscope / inertial measurement unit) (e.g., including the one or more display generating components and the one or more input devices and / or connected to the one or more display generating components and the one or more input devices). Some operations in method 800 may be arbitrarily combined, the order of some operations may be arbitrarily changed, and some operations may be arbitrarily omitted.

[0312] As described below, method 800 provides an intuitive way to manage real-time communication characteristics for shared content sessions. This method reduces the cognitive burden on users managing the real-time communication characteristics of shared content sessions, thereby creating a more efficient human-computer interface. For battery-powered computing devices, it enables users to manage the real-time communication characteristics of shared content sessions faster and more efficiently, saving power and increasing the time interval between battery charges.

[0313] At method 800, a computer system (e.g., 600B) (e.g., a smartphone, tablet, desktop computer, laptop computer, and / or head-mounted device (e.g., a head-mounted augmented reality and / or extended reality device)) is in which synchronized content is enabled to be shared with an external computer system (e.g., 600A) (e.g., one or more external computer systems (e.g., a computer system associated with a remote user (e.g., being operated by the remote user and / or logged into a user account associated with the remote user)) (e.g., such as...). Figure 6U , Figure 6X and Figure 6AA(As shown) (e.g., in a shared content session that is enabled and / or selected for sharing when outputting to an external computer system, or enabled and / or selected for sharing when not outputting to an external computer system (e.g., synchronized content is added to the shared content session but not actively output to the external computer system because the remote user has not yet started playback, paused playback, or stopped playback)), and when a real-time communication session (e.g., a communication session in which live audio feeds and / or live video feeds communicate with an external computer system) is not enabled (e.g., as shown) Figure 6U , Figure 6X and / or Figure 6AA (As shown) (e.g., the shared content session is in a first mode in which a set of real-time communication features (e.g., live camera feed and / or live audio feed between the computer system and an external computer system) are disabled (e.g., temporarily disabled or turned off) for the shared content session), the computer system receives (802) an invitation to join a real-time communication session (e.g., a real-time communication session with an external computer system, and optionally a different computer system) (e.g., 683, 684 and / or 688) (in some embodiments, the real-time communication session is provided as part of the shared content session) and displays (804) (e.g., in response to receiving an invitation to join a real-time communication session) options (e.g., 683-2, 684-2 and / or 688-2) (e.g., selectable graphical elements, icons, text and / or display representations) via one or more display generation components (e.g., 600-1B) (e.g., display controller, touch-sensitive display system, speaker, bone conduction audio output device, haptic output generator, projector, holographic display and / or head-mounted display system) to accept the invitation to join the real-time communication session (e.g., 683-2, 684-2 and / or 688-2) (e.g., selectable graphical elements, icons, text and / or display representations). In some implementations, a shared content session, when active, enables the computer system to output content while the external computer system is outputting content (e.g., synchronized content and / or screen-shared content). In some implementations, an invitation to join a real-time communication session is an invitation to initiate and / or join a new real-time communication session. In some implementations, an invitation to join a real-time communication session is an invitation to join an ongoing real-time communication session. In some implementations, the computer system displays a representation of the invitation (e.g., 683, 684, and / or 688). In some implementations, the representation of the invitation includes an option to accept the invitation to join the real-time communication session.

[0314] At step 806 of method 800, after receiving an invitation to join a real-time communication session (and in some embodiments, after displaying the invitation) and based on determining that an option to accept the invitation to join the real-time communication session has been selected (e.g., 683-2, 684-2, and / or 688-2) (e.g., in response to detecting the selection of the option to accept the invitation to join the real-time communication session (e.g., 605-34, 605-36, and / or 605-40)), the computer system (e.g., 600B) joins (808) the real-time communication session (e.g., as shown in the image). Figure 6W , Figure 6Y and / or Figure 6AC (As shown) (In some embodiments, the content sharing session continues simultaneously, where content can be optionally synchronized for sharing with an external computer system). In some embodiments, joining a real-time communication session includes enabling a set of real-time communication features for the content sharing session (e.g., live camera feeds and / or live audio feeds between the computer system and an external computer system).

[0315] At step 806 of method 800, after receiving an invitation to join a real-time communication session and based on determining that an option to accept the invitation to join the real-time communication session has not yet been selected (e.g., 683-2, 684-2, and / or 688-2) (e.g., the option has not been selected after a predetermined amount of time and / or the computer system has received one or more inputs including instructions to withdraw the invitation, ignore the invitation, and / or reject the invitation (e.g., 605-33, 605-37, and / or 605-39)), the computer system abandons (810) joining the real-time communication session (e.g., as shown in step 806 of method 800). Figure 6V (As shown in 6AB) (in some embodiments, the shared content session continues simultaneously, wherein the content is selected to be synchronized for sharing with an external computer system). Joining a real-time communication session based on the option to accept the invitation to join, and declining to join based on the option not to accept the invitation, allows the user to join or decline a real-time communication session while in a shared content session without having to display additional controls.

[0316] In some implementations, a computer system (e.g., 600) displays, simultaneously with one or more display generation components (e.g., 600-1) and an option to accept an invitation to join a live communication session (e.g., 683-2, 684-2, and / or 688-2), a set of controls (e.g., 615) selectable (e.g., via one or more inputs) for displaying a shared content session (e.g., a control user interface) using graphical objects (e.g., icons, indicator lights, and / or graphical elements). Displaying the option to accept an invitation to join a live communication session simultaneously with a set of controls selectable for displaying a shared content session allows a user to join a live communication session while already in a shared content session, without having to display the set of controls for the shared content session.

[0317] In some implementations (e.g., after and / or simultaneously with receiving an invitation to join a real-time communication session), the computer system (e.g., 600B) displays options for declining the invitation to join the real-time communication session (e.g., 683-1, 684-1, and / or 688-1) via one or more display generation components (e.g., 600-1B) (e.g., selectable graphical elements, icons, text, and / or display representations). In some implementations, after receiving an invitation to join the real-time communication session and based on determining that an option to decline the invitation to join the real-time communication session has been selected (e.g., 605-33, 605-37, and / or 605-39) (e.g., in response to detecting the selection of the option to decline the invitation to join the real-time communication session), the computer system declines (e.g., terminates and / or stops displaying) the invitation to join the real-time communication session (e.g., does not join the real-time communication session) (in some implementations, while continuing the shared content session, wherein synchronized content is selected for sharing with external computer systems). In some implementations, after receiving an invitation to join a live communication session and based on the determination that an option to decline the invitation has not yet been selected, the computer system abandons the attempt to decline the invitation (e.g., continues to display the invitation to join the live communication session at least temporarily). Declining the invitation based on the option to decline the invitation, and abandoning the attempt to decline the invitation based on the determination that an option to decline the invitation has not yet been selected, allows the user to decline the invitation to join a live communication session while in a shared content session without having to display additional controls.

[0318] In some implementations, upon receiving an invitation to join a real-time communication session and based on the determination that no option to accept the invitation has been selected within at least a threshold time period (e.g., 5 seconds, 7 seconds, or 10 seconds), the computer system (e.g., 683-2, 684-2, and / or 688-2), stops displaying invitations to join a real-time communication session (e.g., 683, 684, and / or 688) (e.g., does not join the real-time communication session) (in some implementations, while a shared content session continues, wherein synchronized content is selected for sharing with an external computer system). Stopping the display of invitations to join a real-time communication session based on the determination that no option to accept the invitation has been selected within at least a threshold time period causes the computer system to automatically stop displaying (and in some implementations, reject) invitations to join a real-time communication session within the shared content session when the invitation is not accepted within the threshold time period. In some implementations, based on the determination that no option to accept the invitation has been selected within at least a threshold time period, the computer system rejects the invitation to join a real-time communication session.

[0319] In some implementations, in response to receiving an invitation to join a real-time communication session, a computer system (e.g., 600B) displays a notification (e.g., 648, 683, 684, and / or 688) corresponding to the invitation (e.g., a representation and / or indication thereof) via one or more display generation components (e.g., 600-1B). Displaying the notification corresponding to the invitation provides feedback on the status of the computer system (e.g., the status of having received the invitation). In some implementations, the notification includes options for accepting the invitation to join the real-time communication session (e.g., 683-2, 684-2, and / or 688-2) (and / or declining (e.g., options 683-1, 684-1, and / or 688-1)).

[0320] In some implementations, when a notification (e.g., 648, 683, 684, and / or 688) is displayed, the computer system (e.g., 600B) receives a selection (e.g., 605-12) of the notification (e.g., a set of one or more inputs including the selection of the notification) via one or more input devices (e.g., 600-1B). In some implementations, in response to receiving a selection of the notification, the computer system displays an asynchronous communication user interface (e.g., 640B) via one or more display generation components (e.g., 600-1B) (e.g., a user interface for a messaging application at the computer system and / or a user interface for an email application at the computer system). Displaying the asynchronous communication user interface in response to receiving a selection of the notification reduces the amount of input required to display a user interface for providing asynchronous communication (e.g., to participants in a shared content session and / or to user accounts associated with an external computer system that sends an invitation to join a real-time communication session). In some implementations, the asynchronous communication user interface enables a computer system to provide asynchronous communication (e.g., text messages, SMS messages, MMS messages, and / or emails) to participants in a shared content session (e.g., 600A) and / or to user accounts associated with an external computer system that sends an invitation to join a real-time communication session. In some implementations, the asynchronous communication user interface includes instructions (e.g., 640-1) for participants in the messaging conversation (e.g., recipients of text messages, SMS messages, MMS messages, and / or emails), the content of messages sent between participants (e.g., 642-1, 642-2, 642-3, and / or 642-4), and / or a message writing user interface for composing and / or sending new messages to other participants (e.g., 644).

[0321] In some implementations, the computer system (e.g., 600B) receives an invitation to join the shared content session (e.g., 645 and / or 648) before the computer system (e.g., 600B) is in a shared content session in which synchronized content is enabled for sharing with external computer systems. In some implementations, the invitation to join the shared content session is received via asynchronous communication (e.g., 642-4B) provided using an asynchronous communication application (e.g., a messaging application or email application operating at the computer system) (e.g., an SMS message, MMS message, or email received at the computer system).

[0322] In some implementations, asynchronous communication (e.g., 642-4B) includes indications of synchronous content for a shared content session (e.g., 647B) (e.g., text, icons, and / or graphic elements representing synchronous content selected for the shared content session). Including indications of synchronous content in asynchronous communication provides feedback indicating which content is selected for sharing via the shared content session.

[0323] In some implementations, asynchronous communication (e.g., 642-4B) includes selectable (e.g., via one or more inputs) options for joining a shared content session (e.g., 645B) (e.g., selectable graphical elements, icons, text, and / or display representations). Including the option to join a shared content session with asynchronous communication reduces the amount of input required to join the session by providing an option that can be easily and conveniently selected by a user of the computer system without having to navigate to another user interface.

[0324] In some implementations, an invitation to join a real-time communication session (e.g., 683 and / or 684) is initiated via selecting a call option (e.g., 615-8A or 615-9A) (e.g., selectable graphical elements, icons, text and / or display representations) (e.g., audio call option or video call option) in a synchronous content session user interface (e.g., 615A) (e.g., a control user interface displayed on the external computer system) at the external computer system (e.g., 600A) (e.g., 605-26 or 605-27).

[0325] In some implementations, an invitation to join a real-time communication session (e.g., 688) is initiated via a selection of screen sharing options (e.g., 615-6A and / or 652) (e.g., selectable graphical elements, icons, text, and / or display representations) in a synchronized content session user interface (e.g., 615A and / or 655) (e.g., a control user interface displayed on the external computer system) at the external computer system (e.g., 600A).

[0326] In some implementations, the option to accept an invitation to join a real-time communication session (e.g., 688) includes an indication (e.g., such as) that the corresponding user is sharing screen content from an external computer system (e.g., 600A) associated with the corresponding user (e.g., image data generated by a device (e.g., the computer system; the external computer system) that provides a real-time representation of the image or video content currently displayed at the device). Figure 6AA(As shown). The indication that a user is sharing screen content from an external computer system associated with that user provides feedback on the type of content being shared with the computer system via a content-sharing session. In some implementations, the computer system displays a notification and / or banner for an incoming invitation, which includes an indication that the user is sharing their screen.

[0327] In some implementations, after abandoning the option to join a live communication session (e.g., in response to refusing to join the live communication session (e.g., rejecting input 605-39 on option 688-1) and / or in response to failing to select an option to accept an invitation to join the live communication session (e.g., 688-2), the computer system (e.g., 600B) displays, via one or more display generation components (e.g., 600-1B), indications of activities occurring in the shared content session (e.g., sharing of screen-shared content) and prompts to join the live communication session (e.g., 689) (e.g., instructing the user of the computer system that they may join the live communication session to view the text of the screen-shared content). The indications of activities occurring in the shared content session and the prompts to join the live communication session provide feedback on the status of the computer system (e.g., the status of the computer system not participating in screen-shared content but participating in shared content by joining the live communication session).

[0328] In some embodiments, after abandoning the attempt to join a live communication session (e.g., in response to refusing to join the live communication session (e.g., input 605-39 on option 688-1) and / or in response to failing to select an option to accept the invitation to join the live communication session (e.g., 688-2)), the computer system (e.g., 600B) displays a control user interface (e.g., 615B) for a shared content session (e.g., graphical objects and / or menus) via one or more display generation components (e.g., 600-1B), the control user interface having first control options (e.g., 615-8B and / or 615-9B) (e.g., selectable graphical elements, icons, text and / or display representations) (e.g., messaging options, audio call options, video call options and / or sharing options). In some embodiments, the computer system receives one or more inputs via one or more input devices (e.g., 600-1B), including a selection of the first control option (e.g., 605-35). In some implementations, in response to receiving one or more inputs, including a selection of a first control option, the computer system initiates a process for joining a real-time communication session (e.g., as...). Figure 6W(As shown in the illustration) (e.g., joining or rejoining an ongoing audio call to establish an audio feed for a shared content session and / or joining or rejoining an ongoing video call to establish a video feed and optionally establish an audio feed for a shared content session). The process of initiating a process for joining a live communication session in response to receiving one or more inputs, including a selection of a first control option, enables the computer system to automatically join a live communication session after the user has given up on joining. In some embodiments, after being refused or unable to join a live communication session, the computer system may join the live communication session in response to a selection of options (e.g., audio call options and / or video call options) in a control user interface displayed for the shared content session. In some embodiments, after joining a live communication session, the computer system enables the user to communicate with participants in the shared content session using live communication such as live audio feeds and / or live video feeds.

[0329] It should be noted that the above is relative to method 800 (e.g., Figure 8 The details of the process described herein also apply in a similar manner to the methods described above and / or below. For example, methods 700, 900, and 1100 optionally include one or more characteristics of the various methods described above with reference to method 800. For example, any aspect of method 800 concerning real-time communication characteristics for managing shared content sessions may be applied to shared content sessions described with respect to any aspect of methods 700, 900, and / or 1100. For the sake of brevity, these details will not be repeated.

[0330] Figure 9This is a flowchart illustrating a method for managing shared content sessions using a computer system, according to some implementation schemes. Method 900 is performed at a computer system (e.g., 100, 300, 500 and / or 600) (e.g., smartphone, tablet, desktop computer, laptop computer and / or head-mounted device (e.g., head-mounted augmented reality and / or extended reality device)) that communicates with one or more display generating components (e.g., 600-1) (e.g., display controller, touch-sensitive display system, speaker, bone conduction audio output device, haptic output generator, projector, holographic display and / or head-mounted display system) and one or more input devices (e.g., 600-1, 600-2 and / or 600-3) (e.g., touch-sensitive surface, keyboard, mouse, touchpad, microphone, one or more optical sensors for detecting gestures, one or more capacitive sensors for detecting hover input, and / or accelerometer / gyroscope / inertial measurement unit) (e.g., including the one or more display generating components and the one or more input devices and / or connected to the one or more display generating components and the one or more input devices). Some operations in method 900 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

[0331] As described below, Method 900 provides an intuitive way to manage shared content sessions. This method reduces the cognitive burden on users managing shared content sessions, thereby creating a more efficient human-computer interface. For battery-powered computing devices, it enables users to manage shared content sessions faster and more efficiently, saving power and increasing the time interval between battery charges.

[0332] At method 900, when the computer system (e.g., 600A) is in a communication session (e.g., a real-time communication session, an asynchronous communication session, and / or a shared content session) with an external computer system (e.g., 600B) (e.g., one or more external computer systems) (e.g., a computer system associated with a remote user (e.g., operated by the remote user and / or logged into a user account associated with the remote user)), and optionally, when the computer system is in a shared content session with an external computer system, the computer system (e.g., a smartphone, tablet, desktop computer, laptop computer, and / or head-mounted device (e.g., a head-mounted augmented reality device and / or...) An extended reality device displays (902) a control user interface (e.g., 615A) (e.g., graphical objects and / or menus) for controlling one or more settings of a communication session via one or more display generating components (e.g., 600-1A) (e.g., display controller, touch-sensitive display system, speaker, bone conduction audio output device, haptic output generator, projector, holographic display and / or head-mounted display system). The control user interface includes first control options (e.g., 615-6A) (e.g., optional graphical elements, icons, text and / or display representations) (e.g., sharing options and / or options for displaying information associated with a shared content session). In some embodiments, the control user interface for controlling one or more settings of a communication session includes information associated with the communication session, information associated with a shared content session, one or more selectable communication session function options that, when selected, cause the computer system to perform a corresponding function associated with the communication session, and / or one or more selectable shared content session function options that, when selected, cause the computer system to perform a corresponding function associated with the shared content session.

[0333] When a computer system (e.g., 600A) is in a communication session with an external computer system (e.g., 600B), the computer system detects (904) a set of one or more inputs (e.g., 605-15, 605-28 and / or 605-43) directed to a control user interface (e.g., 615A) via one or more input devices (e.g., 600-1A) (e.g., touch-sensitive surface, keyboard, mouse, touchpad, one or more optical sensors for detecting gestures, one or more capacitive sensors for detecting hover inputs, and / or accelerometer / gyroscope / inertial measurement unit), wherein the set of one or more inputs includes the selection of a first control option (e.g., 615-6A).

[0334] When a computer system (e.g., 600A) is in a communication session with an external computer system (e.g., 600B) and in response to detecting a selection of a first control option (e.g., 615-6A) (e.g., 605-15, 605-28, and / or 605-43), the computer system displays (906) a representation of one or more applications available on the computer system (e.g., downloaded, stored, and / or installed) (e.g., 660, 660-1, 660-2, 660-3, and / or 660-4) (e.g., graphical elements, icons, text, and / or display representations). The one or more applications are configured to provide content that can be played (e.g., output, immediately shared, and / or added to a queue) as synchronous content (e.g., audio and / or video data of corresponding content (e.g., programs, movies, videos, songs, albums, games, browsing experiences, or other interactive experiences) synchronously output at the computer system and one or more external computer systems during a communication session (e.g., simultaneously with and / or as part of the communication session). In response to detecting a selection of a first control option, displaying a representation of one or more applications available on the computer system that are configured to provide content that can be played as synchronous content during a communication session enables the computer system to automatically provide the user with a set of applications that support playback of synchronous content without requiring additional input to filter applications or determining such applications through a trial-and-error process. In some embodiments, the computer system abandons displaying a representation of applications that are not configured to provide content that can be played as synchronous content during a communication session (e.g., in a shared content session and / or a real-time communication session). In some implementations, among the applications available on the computer system, some applications are configured to provide content that can be played in a shared content session, while others are not configured to provide content that can be played in a shared content session. In some implementations, one or more applications configured to provide content that can be played as synchronized content are a subset of applications available on the computer system, wherein the applications in this subset correspond to applications capable of streaming content such as synchronized content. In some implementations, the representation of one or more applications includes a representation of one or more applications associated with a user of the computer system (e.g., applications corresponding to a user account the user has or applications the user previously used, even if these applications are not currently downloaded to the computer system).

[0335] In some implementations, in response to the detection of a selection of a first control option (e.g., 615-6A) (e.g., 605-15, 605-28, and / or 605-43), the computer system (e.g., 600A) displays screen sharing options (e.g., 652) (e.g., selectable graphical elements, icons, text, and / or display representations) via one or more display generation components (e.g., 600-1A, via one or more inputs (e.g., 605-38)) to initiate a process for selecting screen sharing content (e.g., 690) (e.g., the screen and / or application interface displayed by the computer system) for a communication session (e.g., the communication session is a shared content session, and screen sharing content is selected for sharing in the shared content session). In response to the detection of a selection of the first control option, displaying screen sharing options that can be selected to initiate a process for selecting screen sharing content for the communication session causes the computer system to automatically display controls for sharing the display content of the computer system's screen in the communication session. In some implementations, the screen sharing option is a second control option (e.g., 615-6A) in the control user interface (e.g., 615A).

[0336] In some embodiments, in response to detecting a selection of a first control option (e.g., 615-6A), a computer system (e.g., 605-15, 605-28, and / or 605-43) displays selectable (e.g., via one or more inputs) settings options (e.g., selectable graphical elements, icons, text, and / or display representations) for displaying settings controls (e.g., controls for enabling, disabling, and / or modifying settings of an application configured to provide content for a shared content session and / or provide or enable one or more features of the communication session (e.g., real-time audio, real-time video, and / or messaging) associated with the communication session) for displaying settings controls for displaying settings controls for the application associated with the communication session in response to detecting a selection of the first control option causes the computer system to automatically display controls for enabling, disabling, and / or modifying one or more settings of the communication session. In some embodiments, the settings controls are applied globally to the shared content session at the computer system. In some implementations, the settings control is applied to a specific application that operates on the computer system and is configured to provide content fo...

Claims

1. A method for a content-sharing session, comprising: At a computer system that communicates with one or more display generation components and one or more input devices: When a user interface for initiating a shared content session with an external computer system is displayed via the one or more display generation components, a first set of one or more inputs corresponding to the request to initiate a shared content session with one or more external computer systems are received via the one or more input devices; as well as In response to receiving one or more inputs corresponding to a request to initiate a shared content session with one or more external computer systems, a shared content session with one or more external computer systems is initiated, wherein the shared content session, when active, enables the computer system to output the corresponding content while the one or more external computer systems are outputting the corresponding content, wherein initiating the shared content session with the one or more external computer systems includes: Based on the determination that the shared content session was initiated via asynchronous communication, the shared content session is initiated in a first mode, in which a set of real-time communication features are disabled for the shared content session; Based on the determination that the shared content session was initiated via synchronous communication, the shared content session is initiated in a second mode, in which a set of real-time communication features are enabled for the shared content session; Based on the determination that the number of one or more external computer systems that have joined the shared content session meets a threshold number, playback of the corresponding content is initiated in the shared content session, including displaying an option that can be selected to initiate playback of the corresponding content in the shared content session; and If the number of external computer systems that have joined the shared content session does not meet the threshold number, the initiation of playback of the corresponding content is abandoned.

2. The method of claim 1, wherein displaying the user interface for initiating the shared content session with the external computer system includes displaying a first option and a second option, the first option being selectable to initiate the shared content session via asynchronous communication, and the second option being selectable to initiate the shared content session via synchronous communication.

3. The method according to claim 2, further comprising: In response to receiving the first set of one or more inputs corresponding to a request to initiate a shared content session with one or more external computer systems: The first set of one or more inputs, corresponding to the request to determine and initiate a shared content session with one or more external computer systems, includes the selection of the first option, and the message is displayed via the one or more display generation components to create a user interface.

4. The method according to any one of claims 1 to 2, further comprising: After initiating the shared content session and displaying the graphical object with the first display state: Based on a determined threshold number of external computer systems that have joined the shared content session, the graphical object is displayed in a second display state that is different from the first display state.

5. The method according to any one of claims 1 to 2, further comprising: After initiating the shared content session, detect the first external computer system that has joined the shared content session; as well as In response to detecting that the first external computer system has joined the shared content session, a notification is displayed via the one or more display generation components, allowing selection to enable playback of the content of the shared content session.

6. The method of claim 5, wherein the request to initiate the shared content session with the one or more external computer systems is associated with the first content, and wherein the notification includes a first option to select to initiate playback of the first content of the shared content session.

7. The method of claim 5, wherein the request to initiate the shared content session with the one or more external computer systems is associated with the first content, the method further comprising: When the notification is displayed, allowing the user to select to enable playback of the content from the shared content session, input directed to the notification is received. as well as In response to receiving the input directed to the notification, a second option is displayed via the one or more display generation components, allowing selection to initiate playback of the first content of the shared content session.

8. The method according to any one of claims 1 to 2, further comprising: After initiating the shared content session, a first control user interface is displayed via the one or more display generation components, including: Based on the determination that the shared content session is provided via an asynchronous communication session, the first control user interface with a first set of one or more control options is displayed; and Based on the determination that the shared content session is provided via a real-time communication session, the first control user interface displays a second group of one or more control options that are different from the first group of one or more control options.

9. The method according to any one of claims 1 to 2, further comprising: After the shared content session is initiated, a second control user interface with a first appearance is displayed via one or more display generation components when the shared content session is in the first mode. The shared content session is detected to change from the first mode to a third mode that is different from the first mode; as well as In response to detecting that the shared content session has changed from the first mode to the third mode, a second control user interface with a second appearance that is different from the first appearance is displayed.

10. The method of claim 9, wherein displaying the second control user interface having the first appearance includes displaying a first group of one or more optional control options, and wherein displaying the second control user interface having the second appearance includes displaying a second group of one or more optional control options different from the first group of one or more optional control options.

11. The method of claim 9, wherein displaying the second control user interface having the first appearance includes displaying a background of the second control user interface having a first state, and wherein displaying the second control user interface having the second appearance includes displaying the background of the second control user interface having a second state different from the first state.

12. The method of claim 9, wherein the third mode is a mode in which one or more real-time communication features are enabled for the shared content session, and wherein when the shared content session changes from the first mode to the third mode, the appearance of the second control user interface changes based on a change in the state of the computer system.

13. The method of any one of claims 1 to 2, wherein the request to initiate the shared content session includes sending a link to the one or more external computer systems for joining the shared content session.

14. The method of claim 13, wherein the link includes an add option, and the method further includes: Detect one or more user inputs corresponding to the selection of the add option via the one or more input devices; as well as In response to detecting one or more inputs corresponding to the selection of the join option, a process for joining the shared content session is initiated.

15. The method according to any one of claims 1 to 2, further comprising: After initiating the shared content session with one or more external computer systems, a status user interface including call options is displayed via the one or more display generation components; When the status user interface including the call option is displayed, one or more inputs corresponding to the selection of the call option are detected via the one or more input devices; as well as In response to detecting one or more inputs corresponding to the selection of the call option, a process for enabling real-time communication for the shared content session is initiated.

16. The method according to any one of claims 1 to 2, further comprising: After initiating the shared content session with one or more external computer systems, a user status interface is displayed via the one or more display generation components. The user status interface includes indications of the participants in the shared content session when real-time communication is enabled and indications of the participants in the shared content session when real-time communication is disabled.

17. The method according to any one of claims 1 to 2, further comprising: When the shared content session is in the first mode at the computer system, and in response to the second external computer system enabling real-time communication for the shared content session at the second external computer system, an incoming communication user interface including an accept option is displayed; When the incoming communication user interface including the accept option is displayed, one or more inputs corresponding to the selection of the accept option are detected via the one or more input devices; as well as In response to detecting one or more inputs corresponding to the selection of the accept option, a process for enabling real-time communication for the shared content session is initiated on the computer system.

18. The method according to any one of claims 1 to 2, further comprising: When the shared content session is in a fourth mode in which the set of real-time communication features is enabled for the shared content session: Receive a request via the one or more input devices to switch the shared content session from the fourth mode; and In response to receiving the request to switch the shared content session from the fourth mode, a session options user interface is displayed via the one or more display generation components, wherein the session options user interface includes: Termination options, wherein the termination options can be selected to terminate the shared content session at the computer system; and A continue option allows users to continue the shared content session on the computer system.

19. The method of claim 18, further comprising: In response to receiving the request to switch the shared content session from the fourth mode, the display of the third control user interface for the shared content session is stopped.

20. The method of claim 18, further comprising: Receive the selection of the continue option via the one or more input devices; as well as In response to receiving the selection of the continue option, the shared content session is switched from the fourth mode to the first mode.

21. The method of claim 18, wherein displaying the session options user interface comprises: Based on the determination that the shared content session was initiated via asynchronous communication, the continue option is displayed, which allows selection to continue the shared content session at the computer system; as well as If it is determined that the shared content session was not initiated via asynchronous communication, the option to continue the shared content session at the computer system is abandoned.

22. The method of claim 18, further comprising: After switching the shared content session from the fourth mode to the first mode, a set of one or more inputs corresponding to the request to display the message user interface are received via the one or more input devices; as well as In response to receiving one or more inputs corresponding to a request to display a message user interface, displaying the message user interface via the one or more display generation components includes: The message user interface displays a rejoin option that allows users to switch the shared content session on the computer system from the first mode to the fourth mode.

23. The method according to any one of claims 1 to 2, wherein the asynchronous communication includes text-based message communication.

24. The method according to any one of claims 1 to 2, further comprising: When the first content is output as the corresponding content of the shared content session, a request to play back the second content at the computer system is received via the one or more input devices, wherein the second content is different from the first content; as well as In response to receiving the request to play back the second content at the computer system, the second content is output as the corresponding content of the shared content session.

25. The method according to any one of claims 1 to 2, further comprising: While the shared content session is active and the first user interface is displayed, a request to display the message user interface is received via the one or more input devices; as well as In response to receiving the request to display the message user interface, the message user interface is displayed on at least a portion of the first user interface.

26. The method of claim 25, further comprising: When the message user interface is displayed on at least a portion of the first user interface, a set of one or more inputs corresponding to a request to close the message user interface are received via the one or more input devices; as well as In response to receiving one or more inputs corresponding to a request to close the message user interface, the message user interface is stopped from being displayed and the first user interface is displayed.

27. The method of claim 25, wherein the first user interface includes a representation of media output as the corresponding content of the shared content session, and wherein displaying the message user interface on at least a portion of the first user interface includes: The representation of the media is displayed at a location that at least partially overlaps with the message user interface but not with the recipient area of ​​the message user interface and not with at least a portion of the message display area of ​​the message user interface.

28. The method of claim 25, wherein displaying the message user interface on at least a portion of the first user interface comprises: Based on the determination that the computer system is a first type of device, the message user interface is displayed simultaneously with at least a portion of the first user interface; as well as Based on the determination that the computer system is a second type of device, the message user interface is displayed without displaying at least a portion of the first user interface.

29. The method according to any one of claims 1 to 2, further comprising: When the shared content session is in the first mode, receive one or more sets of inputs corresponding to a request to select screen shared content as the corresponding content of the shared content session; and In response to receiving one or more inputs corresponding to a request to select screen shared content as the corresponding content of the shared content session, the screen shared content is selected as the corresponding content of the shared content session and the shared content session is switched from the first mode to the fifth mode, in which the real-time audio channel is active for the shared content session.

30. A computer system configured to communicate with one or more display generation components and one or more input devices, the computer system comprising: Apparatus for performing the method according to any one of claims 1 to 29.

31. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with one or more display generation components and one or more input devices, the one or more programs comprising instructions for performing the method according to any one of claims 1 to 29.

32. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with one or more display generating components and one or more input devices, the one or more programs including instructions for performing the method according to any one of claims 1 to 29.

33. A computer system configured to communicate with one or more display generation components and one or more input devices, the computer system comprising: One or more processors; as well as 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 29.

Citation Information

Patent Citations

  • Method and apparatus for integrating manual input

    US20020015024A1

  • Acceleration-based theft detection system for portable electronic devices

    US20050190059A1

  • Methods and apparatuses for operating a portable device based on an accelerometer

    US20060017692A1

  • Gestures for touch sensitive input devices

    US20060026521A1

  • Gestures for touch sensitive input devices

    US20060026536A1