Sharing content session user interface

By utilizing input devices to detect and output corresponding notifications and content when establishing a shared content session between a computer system and an external system, the user interface is simplified, solving the problem of complex and inefficient shared content sessions in the prior art, and achieving more efficient communication and energy-saving effects.

CN121985161APending Publication Date: 2026-05-05APPLE INC
View PDF 18 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
APPLE INC
Filing Date
2022-05-13
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

Existing technologies for communication and information sharing in electronic devices often result in complex and inefficient user interfaces, leading to wasted time and energy, particularly in battery-powered devices.

Method used

By utilizing input devices to detect content output requests and outputting corresponding notifications and content when establishing a shared content session between a computer system and an external computer system, the user interface is simplified, cognitive load is reduced, and power is saved.

Benefits of technology

It enables faster and more efficient shared content session management, reducing the burden on users and saving energy consumption of battery-powered devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121985161A_ABST
    Figure CN121985161A_ABST
Patent Text Reader

Abstract

The present disclosure generally relates to user interfaces for managing shared content sessions. In some embodiments, content is shared with a group of users participating in a shared content session. In some embodiments, the content is screen shared content shared from a device to other participants of the shared content session. In some embodiments, the content is synchronized content as the output of the content is synchronized between participants of the shared content session.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of patent application No. 202280035321.8, filed on May 13, 2022, entitled "Shared Content Session User Interface". Cross-references to related applications

[0002] This application claims U.S. Provisional Patent Application Serial No. 63 / 189,156, filed May 15, 2021, entitled “SHARED-CONTENT SESSION USER INTERFACES”; U.S. Provisional Patent Application Serial No. 63 / 197,445, filed June 6, 2021, entitled “SHARED-CONTENT SESSION USER INTERFACES”; U.S. Provisional Patent Application Serial No. 63 / 302,511, filed January 24, 2022, entitled “SHARED-CONTENT SESSION USER INTERFACES”; U.S. Provisional Patent Application Serial No. 17 / 483,542, filed September 23, 2021, entitled “SHARED-CONTENT SESSION USER INTERFACES”; and U.S. Provisional Patent Application Serial No. 63 / 189,156, filed June 6, 2021, entitled “SHARED-CONTENT SESSION USER INTERFACES”. U.S. Patent Application Serial No. 17 / 483,564 entitled “SHARED-CONTENT SESSION USER INTERFACES”, filed September 23, 2021; U.S. Patent Application Serial No. 17 / 483,549 entitled “SHARED-CONTENT SESSION USER INTERFACES”, filed September 23, 2021; U.S. Patent Application Serial No. 17 / 483,679 entitled “SHARED-CONTENT SESSION USER INTERFACES”, filed September 23, 2021; U.S. Patent Application Serial No. 17 / 483,582 entitled “SHARED-CONTENT SESSION USER INTERFACES”, filed September 24, 2021; U.S. Patent Application Serial No. 17 / 484,899 entitled “SHARED-CONTENT SESSION USER INTERFACES”, filed April 28, 2022; and U.S. Patent Application Serial No. 17 / 483,899 entitled “SHARED-CONTENT SESSION USER INTERFACES”, filed April 28, 2022. The prior art of this patent application is U.S. Patent Application Serial No. 17 / 732,204, concerning “INTERFACES”. The contents of these patent applications are incorporated herein by reference in their entirety. Technical Field

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

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

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

[0006] This technology provides electronic devices with faster and more efficient methods and interfaces 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 more effective human-computer interfaces. For battery-powered computing devices, such methods and interfaces save power and increase the time interval between battery charging sessions.

[0007] According to some embodiments, a method is described. The method is performed at a computer system communicating with one or more output generation components and one or more input devices. The method includes: detecting a first set of one or more inputs corresponding to a request for output content via the one or more input devices; and in response to detecting the first set of one or more inputs corresponding to a request for outputting the content: determining that an active shared content session exists between the computer system and an external computer system, wherein when the shared content session is active, enabling the computer system to output the corresponding content, while the corresponding content is output by the external computer system: outputting a first notification via one of the one or more output generation components, the first notification including an indication that the content will be output by the external computer system when the content is output by the computer system; and outputting the content via one of the one or more output generation components.

[0008] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: detecting a first set of one or more inputs corresponding to a request for output content via the one or more input devices; and in response to detecting the first set of one or more inputs corresponding to a request for outputting the content: based on determining that an active shared content session exists between the computer system and an external computer system, wherein when the shared content session is active, enabling the computer system to output the corresponding content, while the corresponding content is output by the external computer system: outputting a first notification via one of the one or more output generation components, the first notification including an indication that the content will be output by the external computer system when the content is output by the computer system; and outputting the content via one of the one or more output generation components.

[0009] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: detecting a first set of one or more inputs corresponding to a request for output content via the one or more input devices; and in response to detecting the first set of one or more inputs corresponding to a request for outputting the content: based on determining that an active shared content session exists between the computer system and an external computer system, wherein when the shared content session is active, enabling the computer system to output the corresponding content, while the corresponding content is output by the external computer system: outputting a first notification via one of the one or more output generation components, the first notification including an indication that the content will be output by the external computer system when the content is output by the computer system; and outputting the content via one of the one or more output generation components.

[0010] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more output generation components and one or more input devices. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: detecting a first set of one or more inputs corresponding to a request for output content via the one or more input devices; and in response to detecting the first set of one or more inputs corresponding to a request for outputting the content: determining that an active shared content session exists between the computer system and an external computer system, wherein when the shared content session is active, enabling the computer system to output the corresponding content, while the corresponding content is output by the external computer system: outputting a first notification via one of the one or more output generation components, the first notification including an indication that the content will be output by the external computer system when the content is output by the computer system; and outputting the content via one of the one or more output generation components.

[0011] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more output generation components and one or more input devices. The computer system includes: means for detecting a first set of one or more inputs corresponding to a request for output content via the one or more input devices; and means for: in response to detecting the first set of one or more inputs corresponding to a request to output the content; determining that an active shared content session exists between the computer system and an external computer system, wherein when the shared content session is active, enabling the computer system to output the corresponding content, while the corresponding content is output by the external computer system; outputting a first notification via one of the one or more output generation components, the first notification including an indication that the content will be output by the external computer system when the content is output by the computer system; and outputting the content via one of the one or more output generation components.

[0012] According to some embodiments, a computer program product is described. The 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 output generation components and one or more input devices. The one or more programs include instructions for: detecting a first set of one or more inputs corresponding to a request for output content via the one or more input devices; and in response to detecting the first set of one or more inputs corresponding to a request for outputting the content: based on determining that an active shared content session exists between the computer system and an external computer system, wherein when the shared content session is active, enabling the computer system to output the corresponding content, while the corresponding content is output by the external computer system: outputting a first notification via one of the one or more output generation components, the first notification including an indication that the content will be output by the external computer system when the content is output by the computer system; and outputting the content via one of the one or more output generation components.

[0013] According to some embodiments, a method is described that is performed at a computer system communicating with one or more output generation components and one or more input devices. The method includes: during a shared content session activity between the computer system and an external computer system, while displaying a first user interface via an output generation component of the one or more output generation components: receiving an indication that first content has been selected for the shared content session at the external computer system, wherein the first content is associated with a first application on the computer system; and in response to receiving the indication that the first content has been selected for the shared content session, outputting a first notification via the output generation component of the one or more output generation components, the first notification being generated by a second application different from the first application associated with the first content; and after outputting the first notification and during a shared content session activity between the computer system and the external computer system, outputting the first content using the first application associated with the first content via the output generation component of the one or more output generation components.

[0014] According to some embodiments, a non-transitory computer-readable storage medium is described. This non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: during a shared content session activity between the computer system and an external computer system, while displaying a first user interface via an output generation component of the one or more output generation components: receiving an indication that first content has been selected for the shared content session at the external computer system, wherein the first content is associated with a first application on the computer system; and in response to receiving the indication that the first content has been selected for the shared content session, outputting a first notification via an output generation component of the one or more output generation components, the first notification being generated by a second application different from the first application associated with the first content; and after outputting the first notification and during a shared content session activity between the computer system and the external computer system, outputting the first content using the first application associated with the first content via the output generation component of the one or more output generation components.

[0015] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: during a shared content session activity between the computer system and an external computer system, while displaying a first user interface via an output generation component of the one or more output generation components: receiving an indication that first content has been selected for the shared content session at the external computer system, wherein the first content is associated with a first application on the computer system; and in response to receiving the indication that the first content has been selected for the shared content session, outputting a first notification via the output generation component of the one or more output generation components, the first notification being generated by a second application different from the first application associated with the first content; and after outputting the first notification and during a shared content session activity between the computer system and the external computer system, outputting the first content using the first application associated with the first content via the output generation component of the one or more output generation components.

[0016] According to some embodiments, a computer system configured to communicate with one or more output generation components and one or more input devices is described. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: during a shared content session activity between the computer system and an external computer system, while displaying a first user interface via an output generation component of the one or more output generation components: receiving an indication that first content has been selected for the shared content session at the external computer system, wherein the first content is associated with a first application on the computer system; and in response to receiving the indication that the first content has been selected for the shared content session, outputting a first notification via the output generation component of the one or more output generation components, the first notification being generated by a second application different from the first application associated with the first content; and after outputting the first notification and during a shared content session activity between the computer system and the external computer system, outputting the first content using the first application associated with the first content via the output generation component of the one or more output generation components.

[0017] According to some embodiments, a computer system configured to communicate with one or more output generation components and one or more input devices is described. The computer system includes: means for: during a shared content session activity between the computer system and an external computer system, while displaying a first user interface via an output generation component of the one or more output generation components: receiving an indication that first content has been selected for the shared content session on the external computer system, wherein the first content is associated with a first application on the computer system; and in response to receiving the indication that the first content has been selected for the shared content session, outputting a first notification via the output generation component of the one or more output generation components, the first notification being generated by a second application different from the first application associated with the first content; and means for: after outputting the first notification and during a shared content session activity between the computer system and the external computer system, outputting the first content via the output generation component of the one or more output generation components using the first application associated with the first content.

[0018] According to some embodiments, a computer program product is described. The 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 output generation components and one or more input devices. The one or more programs include instructions for: during a shared content session activity between the computer system and an external computer system, while displaying a first user interface via an output generation component of the one or more output generation components: receiving an indication that first content has been selected for the shared content session at the external computer system, wherein the first content is associated with a first application on the computer system; and in response to receiving the indication that the first content has been selected for the shared content session, outputting a first notification via the output generation component of the one or more output generation components, the first notification being generated by a second application different from the first application associated with the first content; and after outputting the first notification and during a shared content session activity between the computer system and the external computer system, outputting the first content using the first application associated with the first content via the output generation component of the one or more output generation components.

[0019] According to some embodiments, a method is described. The method is performed at a computer system communicating with one or more output generation components and one or more input devices. The method includes: receiving, via the one or more input devices, input corresponding to a request to add first content to a shared content session between the computer system and an external computer system; and in response to receiving the input: based on determining that the first content is content of a first type, and before adding the first content to the shared content session, outputting a warning that the first content will be added to the shared content session, wherein the warning includes an option to cancel adding the first content to the shared content session before adding the first content to the shared content session; based on determining that the first content is content of a second type different from the first type, adding the first content to the shared content session without outputting the warning that the first content will be added to the shared content session before adding the first content to the shared content session.

[0020] According to some embodiments, a non-transitory computer-readable storage medium is described. This non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: receiving input via the one or more input devices corresponding to a request to add first content to a shared content session between the computer system and an external computer system; and in response to receiving the input: based on determining that the first content is content of a first type, and before adding the first content to the shared content session, outputting a warning that the first content is to be added to the shared content session, wherein the warning includes an option to cancel adding the first content to the shared content session before adding the first content to the shared content session; and based on determining that the first content is content of a second type different from the first type, adding the first content to the shared content session without outputting the warning that the first content is to be added to the shared content session before adding the first content to the shared content session.

[0021] According to some embodiments, a transient computer-readable storage medium is described. This transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: receiving input via the one or more input devices corresponding to a request to add first content to a shared content session between the computer system and an external computer system; and in response to receiving the input: based on determining that the first content is content of a first type, and before adding the first content to the shared content session, outputting a warning that the first content is to be added to the shared content session, wherein the warning includes an option to cancel adding the first content to the shared content session before adding the first content to the shared content session; and based on determining that the first content is content of a second type different from the first type, adding the first content to the shared content session without outputting the warning that the first content is to be added to the shared content session before adding the first content to the shared content session.

[0022] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more output generation components and one or more input devices. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: receiving input via the one or more input devices corresponding to a request to add first content to a shared content session between the computer system and an external computer system; and in response to receiving the input: based on determining that the first content is content of a first type, and before adding the first content to the shared content session, outputting a warning that the first content is to be added to the shared content session, wherein the warning includes an option to cancel adding the first content to the shared content session before adding the first content to the shared content session; and based on determining that the first content is content of a second type different from the first type, adding the first content to the shared content session without outputting the warning that the first content is to be added to the shared content session before adding the first content to the shared content session.

[0023] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more output generation components and one or more input devices. The computer system includes: means for: receiving input via the one or more input devices corresponding to a request to add first content to a shared content session between the computer system and an external computer system; and means for: in response to receiving the input: based on determining that the first content is content of a first type, and before adding the first content to the shared content session, outputting a warning that the first content will be added to the shared content session, wherein the warning includes an option to cancel adding the first content to the shared content session before adding the first content to the shared content session; based on determining that the first content is content of a second type different from the first type, adding the first content to the shared content session without outputting the warning that the first content will be added to the shared content session before adding the first content to the shared content session.

[0024] According to some embodiments, a computer program product is described. The 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 output generation components and one or more input devices. The one or more programs include instructions for: receiving input via the one or more input devices corresponding to a request to add first content to a shared content session between the computer system and an external computer system; and in response to receiving the input: based on determining that the first content is content of a first type, and before adding the first content to the shared content session, outputting a warning that the first content is to be added to the shared content session, wherein the warning includes an option to cancel adding the first content to the shared content session before adding the first content to the shared content session; and based on determining that the first content is content of a second type different from the first type, adding the first content to the shared content session without outputting the warning that the first content is to be added to the shared content session before adding the first content to the shared content session.

[0025] According to some embodiments, a method is described. The method is performed at a computer system communicating with one or more output generation components and one or more input devices. The method includes: receiving input via the one or more input devices corresponding to a request to display a first user interface of a first application; and in response to receiving the input: determining that a first set of criteria is met, wherein the first set of criteria is met when a shared content session between the computer system and an external computer system is active, and the first application is capable of playing content that can be added to the shared content session, wherein when the shared content session is active, the computer system is capable of outputting the corresponding content, which is also output by the external computer system, outputting an indication via the output generation component of the one or more output generation components that the first application is capable of playing the content that can be added to the shared content session, and outputting a first user interface for the first application; and determining that the first set of criteria is not met, outputting the first user interface for the first application without outputting the indication that the first application is capable of playing the content that can be added to the shared content session.

[0026] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: receiving input via the one or more input devices corresponding to a request to display a first user interface of a first application; and in response to receiving the input: determining that a first set of criteria is satisfied, wherein the first set of criteria is satisfied when a shared content session between the computer system and an external computer system is active, and that the first application is capable of playing content that can be added to the shared content session, wherein when the shared content session is active, the computer system is able to output the corresponding content, which is also output by the external computer system, outputting an indication via the output generation component of the one or more output generation components that the first application is capable of playing the content that can be added to the shared content session, and outputting a first user interface for the first application; and determining that the first set of criteria is not satisfied, outputting the first user interface for the first application without outputting an indication that the first application is capable of playing the content that can be added to the shared content session.

[0027] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: receiving input via the one or more input devices corresponding to a request to display a first user interface of a first application; and in response to receiving the input: determining that a first set of criteria is satisfied, wherein the first set of criteria is satisfied when a shared content session between the computer system and an external computer system is active, and that the first application is capable of playing content that can be added to the shared content session, wherein when the shared content session is active, the computer system is able to output the corresponding content, which is also output by the external computer system, outputting an indication via the output generation component of the one or more output generation components that the first application is capable of playing the content that can be added to the shared content session, and outputting a first user interface for the first application; and determining that the first set of criteria is not satisfied, outputting the first user interface for the first application without outputting an indication that the first application is capable of playing the content that can be added to the shared content session.

[0028] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more output generation components and one or more input devices. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: receiving input via the one or more input devices corresponding to a request to display a first user interface of a first application; and in response to receiving the input: determining that a first set of criteria is satisfied, wherein the first set of criteria is satisfied when a shared content session between the computer system and an external computer system is active, and the first application is capable of playing content that can be added to the shared content session, wherein when the shared content session is active, the computer system is able to output the corresponding content, while the corresponding content is output by the external computer system, outputting an indication via the output generation component of the one or more output generation components that the first application is capable of playing the content that can be added to the shared content session, and outputting a first user interface for the first application; and determining that the first set of criteria is not satisfied, outputting the first user interface for the first application, without outputting the indication that the first application is capable of playing the content that can be added to the shared content session.

[0029] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more output generation components and one or more input devices. The computer system includes: means for receiving input via the one or more input devices corresponding to a request to display a first user interface of a first application; and means for operating in response to receiving the input: based on determining that a first set of criteria is satisfied, wherein the first set of criteria is satisfied when a shared content session between the computer system and an external computer system is active, and the first application is capable of playing content that can be added to the shared content session, wherein when the shared content session is active, the computer system is capable of outputting the corresponding content, which is also output by the external computer system, outputting an indication via the output generation component of the one or more output generation components that the first application is capable of playing the content that can be added to the shared content session, and outputting a first user interface for the first application; and based on determining that the first set of criteria is not satisfied, outputting the first user interface for the first application without outputting the indication that the first application is capable of playing the content that can be added to the shared content session.

[0030] According to some embodiments, a computer program product is described. The computer program product includes one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: receiving input via the one or more input devices corresponding to a request to display a first user interface of a first application; and in response to receiving the input: determining that a first set of criteria is satisfied, wherein the first set of criteria is satisfied when a shared content session between the computer system and an external computer system is active, and that the first application is capable of playing content that can be added to the shared content session, wherein when the shared content session is active, the computer system is capable of outputting the corresponding content, which is also output by the external computer system, outputting an indication via the output generation component of the one or more output generation components that the first application is capable of playing the content that can be added to the shared content session, and outputting a first user interface for the first application; and determining that the first set of criteria is not satisfied, outputting the first user interface for the first application without outputting the indication that the first application is capable of playing the content that can be added to the shared content session.

[0031] According to some embodiments, a method is described. The method is performed at a computer system communicating with one or more output generation components and one or more input devices. The method includes: receiving first data associated with a request to add first content to an external computer system and a shared content session between the computer system and the external computer system; and in response to receiving the first data associated with the request to add the first content to the shared content session: determining that the content output criteria are met based on whether the content is available for output by the computer system in a predetermined manner, outputting the first content via an output generation component of the one or more output generation components; and determining that the content output criteria are not met, outputting a notification via an output generation component of the one or more output generation components that the first content has been added to the shared content session, without outputting the first content at the computer system.

[0032] According to some embodiments, a non-transitory computer-readable storage medium is described. This non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: receiving first data associated with a request to add first content to an external computer system and a shared content session between the computer system and the external computer system; and in response to receiving the first data associated with the request to add the first content to the shared content session: determining that the content output criteria are met based on whether the content is available for output by the computer system in a predetermined manner, outputting the first content via an output generation component of the one or more output generation components; and determining that the content output criteria are not met, outputting a notification via an output generation component of the one or more output generation components that the first content has been added to the shared content session, without outputting the first content at the computer system.

[0033] According to some embodiments, a transient computer-readable storage medium is described. This transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: receiving first data associated with a request to add first content to an external computer system and a shared content session between the computer system; and in response to receiving the first data associated with the request to add the first content to the shared content session: determining that the content output criteria are met based on whether the content is available for output by the computer system in a predetermined manner, outputting the first content via an output generation component of the one or more output generation components; and determining that the content output criteria are not met, outputting a notification via an output generation component of the one or more output generation components that the first content has been added to the shared content session, without outputting the first content at the computer system.

[0034] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more output generation components and one or more input devices. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: receiving first data associated with a request to add first content to an external computer system and a shared content session between the computer system; and in response to receiving the first data associated with the request to add the first content to the shared content session: determining that content output criteria are met based on whether the content is available for output by the computer system in a predetermined manner, outputting the first content via an output generation component of the one or more output generation components; and determining that the content output criteria are not met, outputting a notification via an output generation component of the one or more output generation components that the first content has been added to the shared content session, without outputting the first content at the computer system.

[0035] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more output generation components and one or more input devices. The computer system includes: means for receiving first data associated with a request to add first content to an external computer system and a shared content session between the computer system; and means for: in response to receiving the first data associated with the request to add the first content to the shared content session; outputting the first content via an output generation component of the one or more output generation components based on whether the content is available for output by the computer system in a predetermined manner to meet content output criteria; and outputting a notification via an output generation component of the one or more output generation components that the first content has been added to the shared content session, without outputting the first content at the computer system, based on the determination that the content output criteria are not met.

[0036] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: receiving first data associated with a request to add first content to an external computer system and a shared content session between the computer system; and in response to receiving the first data associated with the request to add the first content to the shared content session: determining that the content output criteria are met based on whether the content is available for output by the computer system in a predetermined manner, outputting the first content via an output generation component of the one or more output generation components; and determining that the content output criteria are not met, outputting a notification via an output generation component of the one or more output generation components that the first content has been added to the shared content session, without outputting the first content at the computer system.

[0037] According to some embodiments, a method is described. The method is performed at a computer system communicating with one or more output generation components and one or more input devices. The method includes: displaying a messaging interface for a corresponding message conversation via one of the one or more output generation components, the display including simultaneously displaying: a message display area of ​​the corresponding message conversation between two or more participants in the corresponding message conversation, the message display area including multiple messages from different participants in the message conversation to other participants; and a graphical representation of an ongoing shared content conversation with one or more participants in the message conversation, wherein the graphical representation of the ongoing shared content conversation includes first information about one or more parameters of the shared content conversation, including content in the shared content conversation and participant status in the shared content conversation; and displaying the messaging interface... Subsequently, and after one or more parameters of an ongoing shared content session have changed, a request is received to display a portion of a graphical representation of the corresponding message conversation, including the shared content session; and in response to receiving the request to display that portion of the graphical representation of the corresponding message conversation, including the shared content session, a graphical representation of multiple messages from different participants in the message conversation to other participants and an update of the ongoing shared content session is displayed, wherein the updated representation of the ongoing shared content session includes second information about one or more parameters of the shared content session, which differs from the first information, including different content in the shared content session and / or the status of different participants in the shared content session.

[0038] According to some embodiments, a non-transitory computer-readable storage medium is described. This non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: displaying a messaging interface for a corresponding message conversation via one of the one or more output generation components, the display including simultaneously displaying: a message display area for the corresponding message conversation between two or more participants in the corresponding message conversation, the message display area including multiple messages from different participants in the message conversation to other participants; and a graphical representation of an ongoing shared content conversation with one or more participants in the message conversation, wherein the graphical representation of the ongoing shared content conversation includes first information about one or more parameters of the shared content conversation, including... The content of the shared content session and the participant status in the shared content session; after the messaging interface is displayed and after one or more parameters of the ongoing shared content session have changed, receiving a request to display a portion of the graphical representation of the corresponding message conversation including the shared content session; and in response to receiving the request to display that portion of the graphical representation of the corresponding message conversation including the shared content session, displaying multiple messages from different participants in the message conversation to other participants and an updated graphical representation of the ongoing shared content session, wherein the updated representation of the ongoing shared content session includes second information about one or more parameters of the shared content session, which differs from the first information, including different content in the shared content session and / or different participant statuses in the shared content session.

[0039] According to some embodiments, a transient computer-readable storage medium is described. This transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: displaying a messaging interface for a corresponding message conversation via one of the one or more output generation components, the display including simultaneously displaying: a message display area for the corresponding message conversation between two or more participants in the corresponding message conversation, the message display area including multiple messages from different participants in the message conversation to other participants; and a graphical representation of an ongoing shared content conversation with one or more participants in the message conversation, wherein the graphical representation of the ongoing shared content conversation includes first information about one or more parameters of the shared content conversation, including... The content of the shared content session and the participant status in the shared content session; after the messaging interface is displayed and after one or more parameters of the ongoing shared content session have changed, receiving a request to display a portion of the graphical representation of the corresponding message conversation including the shared content session; and in response to receiving the request to display that portion of the graphical representation of the corresponding message conversation including the shared content session, displaying multiple messages from different participants in the message conversation to other participants and an updated graphical representation of the ongoing shared content session, wherein the updated representation of the ongoing shared content session includes second information about one or more parameters of the shared content session, which differs from the first information, including different content in the shared content session and / or different participant statuses in the shared content session.

[0040] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more output generation components and one or more input devices. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a messaging interface for a corresponding message conversation via an output generation component among the one or more output generation components, the display including simultaneously displaying: a message display area for the corresponding message conversation between two or more participants in the corresponding message conversation, the message display area including multiple messages from different participants in the message conversation to other participants; and a graphical representation of an ongoing shared content conversation with one or more participants in the message conversation, wherein the graphical representation of the ongoing shared content conversation includes first information about one or more parameters of the shared content conversation, including content within the shared content conversation. The system includes: 1) displaying the participant status in the shared content session; 2) after displaying the messaging interface and after one or more parameters of the ongoing shared content session have changed, receiving a request to display a portion of the graphical representation of the corresponding message conversation including the shared content session; and 3) in response to receiving the request to display that portion of the graphical representation of the corresponding message conversation including the shared content session, displaying multiple messages from different participants in the message conversation to other participants and an updated graphical representation of the ongoing shared content session, wherein the updated representation of the ongoing shared content session includes second information about one or more parameters of the shared content session, which differs from the first information, including different content in the shared content session and / or different participant statuses in the shared content session.

[0041] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more output generation components and one or more input devices. The computer system includes: means for displaying a messaging interface for a corresponding message conversation via one of the one or more output generation components, the display including simultaneously displaying: a message display area for the corresponding message conversation between two or more participants in the corresponding message conversation, the message display area including multiple messages from different participants in the message conversation to other participants; and a graphical representation of an ongoing shared content conversation with one or more participants in the message conversation, wherein the graphical representation of the ongoing shared content conversation includes first information about one or more parameters of the shared content conversation, including content in the shared content conversation and participant status in the shared content conversation; and means for displaying the message... After the interface is transmitted and after one or more parameters of the ongoing shared content session have changed, a request is received to display a portion of a graphical representation of the corresponding message conversation, including the shared content session; and means for: in response to receiving the request to display the portion of the graphical representation of the corresponding message conversation, including the shared content session, displaying multiple messages from different participants in the message conversation to other participants and an updated graphical representation of the ongoing shared content session, wherein the updated representation of the ongoing shared content session includes second information about one or more parameters of the shared content session, the second information being different from the first information, including different content in the shared content session and / or the status of different participants in the shared content session.

[0042] According to some embodiments, a computer program product is described. The 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 output generation components and one or more input devices. The one or more programs include instructions for: displaying a messaging interface for a corresponding message conversation via one of the one or more output generation components, the display including simultaneously displaying: a message display area for the corresponding message conversation between two or more participants in the corresponding message conversation, the message display area including multiple messages from different participants in the message conversation to other participants; and a graphical representation of an ongoing shared content conversation with one or more participants in the message conversation, wherein the graphical representation of the ongoing shared content conversation includes first information about one or more parameters of the shared content conversation, including the shared content conversation parameters. The message sending interface is displayed, and after one or more parameters of the ongoing shared content session have changed, a request is received to display a portion of the graphical representation of the corresponding message conversation that includes the shared content session; and in response to receiving the request to display that portion of the graphical representation of the corresponding message conversation that includes the shared content session, a graphical representation of multiple messages from different participants in the message conversation to other participants and an update of the ongoing shared content session is displayed, wherein the updated representation of the ongoing shared content session includes second information about one or more parameters of the shared content session, which differs from the first information, including different content in the shared content session and / or different participant states in the shared content session.

[0043] According to some embodiments, a method is described. The method is performed at a computer system communicating with one or more output generation components and one or more input devices. The method includes: during a shared content session activity between the computer system and one or more external computer systems: receiving, via the one or more input devices, a request to display information associated with the shared content session; and in response to receiving the request to display information associated with the shared content session: displaying, via the output generation component of one or more of the one or more output generation components, an instruction to display one or more participants in the shared content session and one or more users who have been invited to the shared content session but have not yet joined the shared content session; based on determining that the shared content session includes first content, displaying, via the output generation component of one or more of the one or more output generation components, a representation of the first content; and based on determining that the shared content session includes second content different from the first content, displaying, via the output generation component of one or more of the one or more output generation components, a representation of the second content different from the representation of the first content.

[0044] According to some embodiments, a non-transitory computer-readable storage medium is described. This non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: during a shared content session activity between the computer system and one or more external computer systems: receiving a request via the one or more input devices to display information associated with the shared content session; and in response to receiving the request to display information associated with the shared content session: displaying instructions via the output generation component of the one or more output generation components to display one or more participants in the shared content session and one or more users who have been invited to the shared content session but have not yet joined the shared content session; displaying a representation of the first content via the output generation component of the one or more output generation components based on a determination that the shared content session includes first content; and displaying a representation of second content, different from the representation of the first content, via the output generation component of the one or more output generation components based on a determination that the shared content session includes second content different from the first content.

[0045] According to some embodiments, a transient computer-readable storage medium is described. This transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: during a shared content session activity between the computer system and one or more external computer systems: receiving a request via the one or more input devices to display information associated with the shared content session; and in response to receiving the request to display information associated with the shared content session: displaying instructions via the output generation component of the one or more output generation components to display one or more participants in the shared content session and one or more users who have been invited to the shared content session but have not yet joined the shared content session; displaying a representation of the first content via the output generation component of the one or more output generation components based on a determination that the shared content session includes first content; and displaying a representation of second content, different from the representation of the first content, via the output generation component of the one or more output generation components based on a determination that the shared content session includes second content different from the first content.

[0046] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more output generation components and one or more input devices. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: during a shared content session activity between the computer system and one or more external computer systems: receiving a request via the one or more input devices to display information associated with the shared content session; and in response to receiving the request to display information associated with the shared content session: displaying instructions via the output generation component of one or more output generation components to display one or more participants in the shared content session and one or more users who have been invited to the shared content session but have not yet joined the shared content session; displaying a representation of the first content via the output generation component of one or more output generation components based on determining that the shared content session includes first content; and displaying a representation of second content via the output generation component of one or more output generation components that is different from the representation of the first content based on determining that the shared content session includes second content different from the first content.

[0047] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more output generation components and one or more input devices. The computer system includes means for: during a shared content session activity between the computer system and one or more external computer systems: receiving, via the one or more input devices, a request to display information associated with the shared content session; and in response to receiving the request to display information associated with the shared content session: displaying, via the output generation component of one or more of the one or more output generation components, an indication of one or more participants in the shared content session and one or more users who have been invited to the shared content session but have not yet joined the shared content session; displaying, via the output generation component of one or more of the one or more output generation components, a representation of the first content based on a determination that the shared content session includes first content; and displaying, via the output generation component of one or more of the one or more output generation components, a representation of second content different from the representation of the first content based on a determination that the shared content session includes second content different from the first content.

[0048] According to some embodiments, a computer program product is described. The 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 output generation components and one or more input devices. The one or more programs include instructions for: during a shared content session activity between the computer system and one or more external computer systems: receiving a request via the one or more input devices to display information associated with the shared content session; and in response to receiving the request to display information associated with the shared content session: displaying instructions via the output generation component of one or more output generation components to display one or more participants in the shared content session and one or more users who have been invited to the shared content session but have not yet joined the shared content session; displaying a representation of the first content via the output generation component of one or more output generation components based on a determination that the shared content session includes first content; and displaying a representation of second content, different from the representation of the first content, via the output generation component of one or more output generation components based on a determination that the shared content session includes second content different from the first content.

[0049] According to some embodiments, a method is described that is executed at a computer system communicating with one or more output generation components and one or more input devices. The method includes: during a shared content session between the computer system and one or more external computer systems, and while multiple application interface areas are simultaneously displayed in a user interface, wherein the multiple application interface areas include at least a portion of a first application interface area and at least a portion of a second application interface area, wherein when the shared content session is active, the computer system is able to output corresponding content, which is also output by the one or more external computer systems; receiving a set of one or more inputs via the one or more input devices corresponding to a request to add an application interface to the shared content session; and in response to receiving a first input from the set of one or more inputs, displaying a first graphical interface object in the user interface at a location visually associated with the first application interface area, the first graphical interface object being selectable to add the first application interface area to the shared content session without adding a second application interface area to the shared content session, wherein the first graphical interface object is not visually associated with the second application interface area.

[0050] According to some embodiments, a non-transitory computer-readable storage medium is described. This non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: when a shared content session is active between the computer system and one or more external computer systems, and when multiple application interface areas are simultaneously displayed in a user interface, wherein the multiple application interface areas include at least a portion of a first application interface area and at least a portion of a second application interface area, wherein when the shared content session is active, the computer system is able to output corresponding content, which is also output by the one or more external computer systems; receiving a set of one or more inputs via the one or more input devices corresponding to a request to add an application interface to the shared content session; and in response to receiving a first input from the set of one or more inputs, displaying a first graphical interface object in the user interface at a location visually associated with the first application interface area, the first graphical interface object being selectable to add the first application interface area to the shared content session without adding a second application interface area to the shared content session, wherein the first graphical interface object is not visually associated with the second application interface area.

[0051] According to some embodiments, a transient computer-readable storage medium is described. This transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: when a shared content session is active between the computer system and one or more external computer systems, and when multiple application interface areas are simultaneously displayed in a user interface, wherein the multiple application interface areas include at least a portion of a first application interface area and at least a portion of a second application interface area, wherein when the shared content session is active, the computer system is able to output corresponding content, which is also output by the one or more external computer systems; receiving a set of one or more inputs via the one or more input devices corresponding to a request to add an application interface to the shared content session; and in response to receiving a first input from the set of one or more inputs, displaying a first graphical interface object in the user interface at a location visually associated with the first application interface area, the first graphical interface object being selectable to add the first application interface area to the shared content session without adding a second application interface area to the shared content session, wherein the first graphical interface object is not visually associated with the second application interface area.

[0052] According to some embodiments, a computer system configured to communicate with one or more output generation components and one or more input devices is described. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: during a shared content session between the computer system and one or more external computer systems, and when multiple application interface areas are simultaneously displayed in a user interface, wherein the multiple application interface areas include at least a portion of a first application interface area and at least a portion of a second application interface area, wherein when the shared content session is active, the computer system is able to output corresponding content, which is also output by the one or more external computer systems; receiving a set of one or more inputs via the one or more input devices corresponding to a request to add an application interface to the shared content session; and in response to receiving a first input from the set of one or more inputs, displaying a first graphical interface object in the user interface at a location visually associated with the first application interface area, the first graphical interface object being selectable to add the first application interface area to the shared content session without adding a second application interface area to the shared content session, wherein the first graphical interface object is not visually associated with the second application interface area.

[0053] According to some embodiments, a computer system configured to communicate with one or more output generation components and one or more input devices is described. The computer system includes means for: when a shared content session is active between the computer system and one or more external computer systems, and when multiple application interface areas are simultaneously displayed in a user interface, wherein the multiple application interface areas include at least a portion of a first application interface area and at least a portion of a second application interface area, wherein when the shared content session is active, the computer system is able to output corresponding content, which is also output by the one or more external computer systems; receiving a set of one or more inputs via the one or more input devices corresponding to a request to add an application interface to the shared content session; and in response to receiving a first input from the set of one or more inputs, displaying a first graphical interface object in the user interface at a location visually associated with the first application interface area, the first graphical interface object being selectable to add the first application interface area to the shared content session without adding a second application interface area to the shared content session, wherein the first graphical interface object is not visually associated with the second application interface area.

[0054] According to some embodiments, a computer program product is described. The 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 output generation components and one or more input devices. The one or more programs include instructions for: when a shared content session is active between the computer system and one or more external computer systems, and when multiple application interface areas are simultaneously displayed in a user interface, wherein the multiple application interface areas include at least a portion of a first application interface area and at least a portion of a second application interface area, wherein when the shared content session is active, the computer system is able to output corresponding content, which is also output by the one or more external computer systems; receiving a set of one or more inputs via the one or more input devices corresponding to a request to add an application interface to the shared content session; and in response to receiving a first input from the set of one or more inputs, displaying a first graphical interface object in the user interface at a location visually associated with the first application interface area, the first graphical interface object being selectable to add the first application interface area to the shared content session without adding a second application interface area to the shared content session, wherein the first graphical interface object is not visually associated with the second application interface area.

[0055] According to some embodiments, a method is described that is executed at a computer system communicating with one or more output generation components and one or more input devices. The method includes: during a shared content session activity between the computer system and one or more external computer systems, wherein when the shared content session is active, the computer system is enabled to output corresponding content, which is also output by the one or more external computer systems: receiving data indicating that first content has been selected for use in the shared content session at the external computer system; and in response to receiving the data indicating that the first content has been selected for use in the shared content session, displaying a display area including a representation of the first content via an output generation component of the one or more output generation components, the display including: displaying a representation of the first content having one or more controls of a first set for controlling the visual appearance of the display area, wherein the first set of one or more controls is visually associated with the representation of the first content, based on a determination that a first set of criteria is not met; and displaying a representation of the first content without the first set of one or more controls for controlling the visual appearance of the display area, based on a determination that the first set of criteria is met.

[0056] According to some embodiments, a non-transitory computer-readable storage medium is described. This non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: during a shared content session between the computer system and one or more external computer systems, wherein when the shared content session is active, enabling the computer system to output corresponding content, which is also output by the one or more external computer systems: receiving data indicating that first content has been selected for the shared content session at the external computer system; and in response to receiving the data indicating that the first content has been selected for the shared content session, displaying a display area including a representation of the first content via an output generation component of the one or more output generation components, the display including: displaying a representation of the first content having one or more controls of a first set for controlling the visual appearance of the display area, wherein the first set of one or more controls is visually associated with the representation of the first content, based on a determination that a first set of criteria is not met; and displaying a representation of the first content without the first set of one or more controls for controlling the visual appearance of the display area, based on a determination that the first set of criteria is met.

[0057] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: during a shared content session between the computer system and one or more external computer systems, wherein when the shared content session is active, enabling the computer system to output corresponding content, which is also output by the one or more external computer systems: receiving data indicating that first content has been selected for the shared content session at the external computer system; and in response to receiving the data indicating that the first content has been selected for the shared content session, displaying a display area including a representation of the first content via an output generation component of one or more of the one or more output generation components, the display including: displaying a representation of the first content having one or more controls of a first set for controlling the visual appearance of the display area, wherein the first set of one or more controls is visually associated with the representation of the first content, based on a determination that a first set of criteria is not met; and displaying a representation of the first content without the first set of one or more controls for controlling the visual appearance of the display area, based on a determination that the first set of criteria is met.

[0058] According to some embodiments, a computer system configured to communicate with one or more output generation components and one or more input devices is described. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: during a shared content session between the computer system and one or more external computer systems, wherein when the shared content session is active, the computer system is able to output corresponding content, which is also output by the one or more external computer systems; receiving data indicating that first content has been selected for the shared content session at the external computer system; and in response to receiving the data indicating that the first content has been selected for the shared content session, displaying a display area including a representation of the first content via an output generation component of one or more of the one or more output generation components, the display including: displaying a representation of the first content having one or more controls of a first set for controlling the visual appearance of the display area, wherein the first set of one or more controls is visually associated with the representation of the first content, based on a determination that a first set of criteria is not met; and displaying a representation of the first content without the first set of one or more controls for controlling the visual appearance of the display area, based on a determination that the first set of criteria is met.

[0059] According to some embodiments, a computer system configured to communicate with one or more output generation components and one or more input devices is described. The computer system includes means for: during a shared content session between the computer system and one or more external computer systems, wherein when the shared content session is active, enabling the computer system to output corresponding content, which is also output by the one or more external computer systems: receiving data indicating first content selected for the shared content session at the external computer system; and in response to receiving the data indicating the first content selected for the shared content session, displaying a display area including a representation of the first content via an output generation component of one or more of the one or more output generation components, the display including: displaying a representation of the first content having one or more controls of a first set for controlling the visual appearance of the display area, wherein the first set of one or more controls is visually associated with the representation of the first content, based on a determination that a first set of criteria is not met; and displaying a representation of the first content without the first set of one or more controls for controlling the visual appearance of the display area, based on a determination that the first set of criteria is met.

[0060] According to some embodiments, a computer program product is described. The 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 output generation components and one or more input devices. The one or more programs include instructions for: during a shared content session activity between the computer system and one or more external computer systems, wherein when the shared content session is active, enabling the computer system to output corresponding content, which is also output by the one or more external computer systems: receiving data indicating that first content has been selected for the shared content session at the external computer system; and in response to receiving the data indicating that the first content has been selected for the shared content session, displaying a display area including a representation of the first content via an output generation component of the one or more output generation components, the display including: displaying a representation of the first content having one or more controls of a first set for controlling the visual appearance of the display area, wherein the first set of one or more controls is visually associated with the representation of the first content, based on a determination that a first set of criteria is not met; and displaying a representation of the first content without the first set of one or more controls for controlling the visual appearance of the display area, based on a determination that the first set of criteria is met.

[0061] According to some embodiments, a method is described. The method is performed at a computer system communicating with one or more output generation components and one or more input devices. The method includes: displaying a first user interface via the one or more output generation components, the display including simultaneously displaying in the first user interface: a view of content of a shared content session displayed as an overlay on a background user interface; and a first representation of a participant in a real-time communication session, wherein the first representation of the participant in the real-time communication session is displayed at a first corresponding position relative to the view of the content of the shared content session; receiving a request to move the view of the content in the first user interface while displaying the first user interface; in response to receiving the request to move the view of the content, moving the view of the content and moving the first representation of the participant according to the request, such that the first representation of the participant is displayed at a first corresponding position relative to the view of the content of the shared content session; after moving the view of the content and the first representation of the participant, detecting a request to stop displaying the view of the content of the shared content session on the background user interface; and in response to detecting the request to stop displaying the view of the content of the shared content session on the background user interface, displaying a view of the content not displayed on the background user interface via the one or more output generation components, without displaying the representation of the participant at the first corresponding position relative to the view of the content of the shared content session.

[0062] According to some embodiments, a non-transitory computer-readable storage medium is described. This non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: displaying a first user interface via the one or more output generation components, the display including simultaneously displaying: a view of content of a shared content session displayed as an overlay on a background user interface; and a first representation of a participant in a real-time communication session, wherein the first representation of the participant in the real-time communication session is displayed at a first corresponding position relative to the view of the content of the shared content session; receiving a request to move the view of the content in the first user interface while displaying the first user interface; and responding to receiving a request to move... The request to view the content, according to the request, moves the view of the content and moves the first representation of the participant, such that the first representation of the participant is displayed at the first corresponding position relative to the view of the content of the shared content session; after moving the view of the content and the first representation of the participant, a request to stop displaying the view of the content of the shared content session on the background user interface is detected; and in response to detecting the request to stop displaying the view of the content of the shared content session on the background user interface, a view of the content not displayed on the background user interface is displayed via the one or more output generation components, without displaying the participant's representation at the first corresponding position relative to the view of the content of the shared content session.

[0063] According to some embodiments, a transient computer-readable storage medium is described. This transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: displaying a first user interface via the one or more output generation components, the display including simultaneously displaying: a view of content of a shared content session displayed as an overlay on a background user interface; and a first representation of a participant in a real-time communication session, wherein the first representation of the participant in the real-time communication session is displayed at a first corresponding position relative to the view of the content of the shared content session; receiving a request to move the view of the content in the first user interface while displaying the first user interface; and responding to receiving a request to move the view of the content. The request to view the content is made to move the view of the content and the first representation of the participant, such that the first representation of the participant is displayed at a first corresponding position relative to the view of the content of the shared content session; after moving the view of the content and the first representation of the participant, a request to stop displaying the view of the content of the shared content session on the background user interface is detected; and in response to detecting the request to stop displaying the view of the content of the shared content session on the background user interface, a view of the content not displayed on the background user interface is displayed via the one or more output generation components, without displaying the participant's representation at the first corresponding position relative to the view of the content of the shared content session.

[0064] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more output generation components and one or more input devices. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a first user interface via the one or more output generation components, the display including simultaneously displaying: a view of content of a shared content session displayed as an overlay on a background user interface; and a first representation of a participant in a real-time communication session, wherein the first representation of the participant in the real-time communication session is displayed at a first corresponding position relative to the view of the content of the shared content session; receiving a request to move the view of the content in the first user interface while displaying the first user interface; and responding to receiving the request to move the view of the content... The request involves moving the view of the content and the first representation of the participant, such that the first representation of the participant is displayed at a first corresponding position relative to the view of the content of the shared content session; after moving the view of the content and the first representation of the participant, detecting a request to stop displaying the view of the content of the shared content session on the background user interface; and in response to detecting the request to stop displaying the view of the content of the shared content session on the background user interface, displaying a view of the content not displayed on the background user interface via the one or more output generation components, without displaying the participant's representation at the first corresponding position relative to the view of the content of the shared content session.

[0065] According to some implementations, a computer system is described. The computer system is configured to communicate with one or more output generation components and one or more input devices. The computer system includes: means for displaying a first user interface via the one or more output generation components, the display including simultaneously displaying in the first user interface: a view of content of a shared content session displayed as an overlay on a background user interface; and a first representation of a participant in a real-time communication session, wherein the first representation of the participant in the real-time communication session is displayed at a first corresponding position relative to the view of the content of the shared content session; means for receiving a request to move a view of the content in the first user interface while displaying the first user interface; means for moving the view of the content and the first representation of the participant according to the request to move the view of the content in response to receiving the request to move the view of the content, such that the first representation of the participant is displayed at a first corresponding position relative to the view of the content of the shared content session; means for detecting a request to stop displaying a view of the content of the shared content session on the background user interface after moving the view of the content and the first representation of the participant; and means for displaying a view of the content not displayed on the background user interface via the one or more output generation components in response to detecting a request to stop displaying a view of the content of the shared content session on the background user interface, without displaying the representation of the participant at the first corresponding position relative to the view of the content of the shared content session.

[0066] According to some embodiments, a computer program product is described. The 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 output generation components and one or more input devices. The one or more programs include instructions for: displaying a first user interface via the one or more output generation components, the display including simultaneously displaying: a view of content of a shared content session displayed as an overlay on a background user interface; and a first representation of a participant in a real-time communication session, wherein the first representation of the participant in the real-time communication session is displayed at a first corresponding position relative to the view of the content of the shared content session; receiving a request to move the view of the content in the first user interface while displaying the first user interface; and responding to receiving a request to move the view of the content. The request to view the content, according to the request, moves the view of the content and moves the first representation of the participant, such that the first representation of the participant is displayed at the first corresponding position relative to the view of the content of the shared content session; after moving the view of the content and the first representation of the participant, a request to stop displaying the view of the content of the shared content session on the background user interface is detected; and in response to detecting the request to stop displaying the view of the content of the shared content session on the background user interface, a view of the content not displayed on the background user interface is displayed via the one or more output generation components, without displaying the participant's representation at the first corresponding position relative to the view of the content of the shared content session.

[0067] According to some embodiments, a method is described that is performed at a computer system communicating with one or more output generation components and one or more input devices. The method includes: displaying a user interface of a video communication application via the one or more output generation components, the display including simultaneously displaying: dynamic visual content; and one or more representations of participants in a video communication session, wherein the one or more representations of the participants in the video communication session are displayed in a first arrangement; detecting a change in the size and / or position of the dynamic visual content, the change in the size and / or position of the dynamic visual content causing a change in the amount by which the user interface of the video communication application is covered by the dynamic visual content; and in response to detecting the change in the size and / or position of the dynamic visual content, displaying the one or more representations of the participants in the video communication session in a second arrangement via the one or more output generation components in the user interface of the video communication application, wherein the second arrangement differs from the first arrangement and is based on the change in the size and / or position of the dynamic visual content.

[0068] According to some embodiments, a non-transitory computer-readable storage medium is described. This non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: displaying a user interface of a video communication application via the one or more output generation components, the display including simultaneously displaying: dynamic visual content; and one or more representations of participants in a video communication session, wherein the one or more representations of the participants in the video communication session are displayed in a first arrangement; detecting a change in the size and / or position of the dynamic visual content, the change in the size and / or position of the dynamic visual content causing a change in the amount by which the user interface of the video communication application is covered by the dynamic video content; and in response to detecting the change in the size and / or position of the dynamic visual content, displaying the one or more representations of the participants in the video communication session in a second arrangement via the one or more output generation components in the user interface of the video communication application, wherein the second arrangement differs from the first arrangement and is based on the change in the size and / or position of the dynamic visual content.

[0069] According to some embodiments, a transient computer-readable storage medium is described. This transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output generation components and one or more input devices. The one or more programs include instructions for: displaying a user interface of a video communication application via the one or more output generation components, the display including simultaneously displaying: dynamic visual content; and one or more representations of participants in a video communication session, wherein the one or more representations of the participants in the video communication session are displayed in a first arrangement; detecting a change in the size and / or position of the dynamic visual content, the change in the size and / or position of the dynamic visual content causing a change in the amount by which the user interface of the video communication application is covered by the dynamic video content; and in response to detecting the change in the size and / or position of the dynamic visual content, displaying the one or more representations of the participants in the video communication session in a second arrangement via the one or more output generation components in the user interface of the video communication application, wherein the second arrangement differs from the first arrangement and is based on the change in the size and / or position of the dynamic visual content.

[0070] According to some embodiments, a computer system configured to communicate with one or more output generation components and one or more input devices is described. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a user interface of a video communication application via the one or more output generation components, the display including simultaneously displaying: dynamic visual content; and one or more representations of participants in a video communication session, wherein the one or more representations of participants in the video communication session are displayed in a first arrangement; detecting a change in the size and / or position of the dynamic visual content, the change in the size and / or position of the dynamic visual content causing a change in the amount by which the user interface of the video communication application is covered by the dynamic video content; and in response to detecting the change in the size and / or position of the dynamic visual content, displaying the one or more representations of participants in the video communication session in a second arrangement via the one or more output generation components in the user interface of the video communication application, wherein the second arrangement differs from the first arrangement and is based on the change in the size and / or position of the dynamic visual content.

[0071] According to some embodiments, a computer system configured to communicate with one or more output generation components and one or more input devices is described. The computer system includes: means for displaying a user interface of a video communication application via the one or more output generation components, the display including simultaneously displaying: dynamic visual content; and one or more representations of participants in a video communication session, wherein the one or more representations of the participants in the video communication session are displayed in a first arrangement; means for: detecting a change in the size and / or position of the dynamic visual content, the change in the size and / or position of the dynamic visual content causing a change in the amount by which the user interface of the video communication application is covered by the dynamic visual content; and means for: in response to detecting a change in the size and / or position of the dynamic visual content, displaying the one or more representations of the participants in the video communication session in a second arrangement via the one or more output generation components in the user interface of the video communication application, wherein the second arrangement differs from the first arrangement and is based on the change in the size and / or position of the dynamic visual content.

[0072] According to some embodiments, a computer program product is described. The 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 output generation components and one or more input devices. The one or more programs include instructions for: displaying a user interface of a video communication application via the one or more output generation components, the display including simultaneously displaying: dynamic visual content; and one or more representations of participants in a video communication session, wherein the one or more representations of the participants in the video communication session are displayed in a first arrangement; detecting a change in the size and / or position of the dynamic visual content, the change in the size and / or position of the dynamic visual content causing a change in the amount by which the user interface of the video communication application is covered by the dynamic video content; and in response to detecting the change in the size and / or position of the dynamic visual content, displaying the one or more representations of the participants in the video communication session in a second arrangement via the one or more output generation components in the user interface of the video communication application, wherein the second arrangement differs from the first arrangement and is based on the change in the size and / or position of the dynamic visual content.

[0073] According to some implementations, a method is performed at a computer system that communicates with one or more display generation components and one or more input devices. The method includes: while displaying a representation of first content via one or more display generating components, receiving one or more inputs via one or more input devices corresponding to a request to display an option associated with the first content; in response to receiving the one or more inputs corresponding to the request to display an option associated with the first content, displaying a corresponding user interface associated with the first content via the one or more display generating components, the corresponding user interface including: a first graphical user interface object, the first graphical user interface object being selectable to initiate a process for performing a first operation associated with the first content, wherein the first operation includes sharing the first content in a real-time communication session; and a second graphical user interface object, the second graphical user interface object being selectable to initiate a process for performing a second operation associated with the first content, wherein the second operation is different from the first operation; while displaying the corresponding user interface, receiving a selection input pointing to the corresponding user interface; and in response to receiving the selection input pointing to the corresponding user interface: initiating a process for sharing the first content in a real-time communication session without initiating a process for performing the second operation based on determining that the selection input corresponds to a selection of the first graphical user interface object; and initiating a process for performing the second operation without initiating a process for sharing the first content in a real-time communication session based on determining that the selection input corresponds to a selection of the second graphical user interface object.

[0074] According to some embodiments, a non-transitory computer-readable storage medium is described. This non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generating components and one or more input devices. The one or more programs include instructions for: receiving one or more inputs via the one or more input devices corresponding to a request to display an option associated with the first content when displaying a representation of first content via the one or more display generating components; and, in response to receiving the one or more inputs corresponding to the request to display an option associated with the first content, displaying a corresponding user interface associated with the first content via the one or more display generating components. The corresponding user interface includes: a first graphical user interface object, which can be selected to initiate the execution of a first... The operation process includes: a first operation comprising sharing first content in a real-time communication session; and a second graphical user interface object, which can be selected to initiate a process for performing a second operation associated with the first content, wherein the second operation is different from the first operation; receiving selection input pointing to the corresponding user interface when the corresponding user interface is displayed; and in response to receiving the selection input pointing to the corresponding user interface: initiating a process for sharing the first content in the real-time communication session without initiating a process for performing the second operation based on determining that the selection input corresponds to a selection of the first graphical user interface object; and initiating a process for performing the second operation without initiating a process for sharing the first content in the real-time communication session based on determining that the selection input corresponds to a selection of the second graphical user interface object.

[0075] According to some embodiments, a transient computer-readable storage medium is described. This transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generating components and one or more input devices. The one or more programs include instructions for: receiving one or more inputs via the one or more input devices corresponding to a request to display an option associated with the first content when displaying a representation of first content via the one or more display generating components; and, in response to receiving the one or more inputs corresponding to the request to display an option associated with the first content, displaying a corresponding user interface associated with the first content via the one or more display generating components. The corresponding user interface includes: a first graphical user interface object, which can be selected to initiate the execution of a first... The operation process includes: a first operation comprising sharing first content in a real-time communication session; and a second graphical user interface object, which can be selected to initiate a process for performing a second operation associated with the first content, wherein the second operation is different from the first operation; receiving selection input pointing to the corresponding user interface when the corresponding user interface is displayed; and in response to receiving the selection input pointing to the corresponding user interface: initiating a process for sharing the first content in the real-time communication session without initiating a process for performing the second operation based on determining that the selection input corresponds to a selection of the first graphical user interface object; and initiating a process for performing the second operation without initiating a process for sharing the first content in the real-time communication session based on determining that the selection input corresponds to a selection of the second graphical user interface object.

[0076] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more display generation components and one or more input devices. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: receiving one or more inputs via the one or more input devices corresponding to a request to display an option associated with the first content while displaying a representation of first content via the one or more display generation components; and, in response to receiving the one or more inputs corresponding to the request to display an option associated with the first content, displaying a corresponding user interface associated with the first content via the one or more display generation components, the corresponding user interface including: a first graphical user interface object, the first graphical user interface object being selectable to initiate a process for performing a first operation associated with the first content, wherein the first... The operation includes sharing first content in a real-time communication session; and a second graphical user interface object, which can be selected to initiate a process for performing a second operation associated with the first content, wherein the second operation is different from the first operation; receiving selection input pointing to the corresponding user interface when the corresponding user interface is displayed; and in response to receiving the selection input pointing to the corresponding user interface: initiating a process for sharing the first content in the real-time communication session without initiating a process for performing the second operation based on determining that the selection input corresponds to a selection of the first graphical user interface object; and initiating a process for performing the second operation without initiating a process for sharing the first content in the real-time communication session based on determining that the selection input corresponds to a selection of the second graphical user interface object.

[0077] According to some embodiments, a computer system is described. The computer system is configured to communicate with one or more display generating components and one or more input devices. The computer system includes: means for operating to receive one or more inputs via the one or more input devices corresponding to a request to display an option associated with the first content while displaying a representation of first content via the one or more display generating components; and means for operating to display a corresponding user interface associated with the first content via the one or more display generating components in response to receiving the one or more inputs corresponding to the request to display an option associated with the first content, the corresponding user interface including: a first graphical user interface object, the first graphical user interface object being selectable to initiate a process for performing a first operation associated with the first content, wherein the first operation includes sharing the first content in a real-time communication session; and a second graphical user interface... The interface includes: a face object, wherein the second graphical user interface object can be selected to initiate a process for performing a second operation associated with the first content, wherein the second operation is different from the first operation; means for receiving a selection input directed to the corresponding user interface when the corresponding user interface is displayed; and means for performing the following operations in response to receiving the selection input directed to the corresponding user interface: initiating a process for sharing the first content in a real-time communication session without initiating a process for performing the second operation based on determining that the selection input corresponds to a selection of the first graphical user interface object; and initiating a process for performing the second operation without initiating a process for sharing the first content in a real-time communication session based on determining that the selection input corresponds to a selection of the second graphical user interface object.

[0078] In some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generating components and one or more input devices. The one or more programs include instructions for: receiving one or more inputs via the one or more input devices corresponding to a request to display an option associated with the first content while displaying a representation of first content via the one or more display generating components; and, in response to receiving the one or more inputs corresponding to the request to display an option associated with the first content, displaying a corresponding user interface associated with the first content via the one or more display generating components. The corresponding user interface includes: a first graphical user interface object selectable to initiate a first operation associated with the first content. The process includes: a first operation comprising sharing first content in a real-time communication session; a second graphical user interface object, which can be selected to initiate a process for performing a second operation associated with the first content, wherein the second operation is different from the first operation; receiving selection input pointing to the corresponding user interface when the corresponding user interface is displayed; and in response to receiving the selection input pointing to the corresponding user interface: initiating a process for sharing the first content in the real-time communication session without initiating a process for performing the second operation based on determining that the selection input corresponds to a selection of the first graphical user interface object; and initiating a process for performing the second operation without initiating a process for sharing the first content in the real-time communication session based on determining that the selection input corresponds to a selection of the second graphical user interface object.

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

[0080] 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0099] Figures 14A to 14AG An exemplary user interface for managing shared content sessions is shown according to some implementation schemes.

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

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

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

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

[0104] Figures 19A to 19AB An exemplary user interface for managing shared content sessions is shown according to some implementation schemes.

[0105] Figures 20A to 20B A flowchart illustrating a method for managing shared content sessions according to some implementation schemes is depicted. Detailed Implementation

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

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

[0108] under, Figures 1A to 1B , Figure 2 , Figure 3 , Figures 4A to 4B and Figures 5A to 5CA description is provided of an exemplary device for performing a technology for managing shared content sessions. Figures 6A to 6EQ An exemplary user interface for managing shared content sessions is shown. Figures 7 to 13 and Figures 17 to 18 This is a flowchart illustrating a method for managing shared content sessions according to some implementation schemes. Figures 6A to 6EQ The user interface in the document is used to display including Figures 7 to 13 and Figures 17 to 18 The process described below is the process in the middle. Figures 14A to 14AG An exemplary user interface for managing shared content sessions is shown. Figures 15 to 16 This is a flowchart illustrating a method for managing shared content sessions according to some implementation schemes. Figures 14A to 14AG The user interface in the document is used to display including Figures 15 to 16 The process described below is the process in the middle. Figures 19A to 19AB An exemplary user interface for managing shared content sessions is shown. Figures 20A to 20B This is a flowchart illustrating a method for managing shared content sessions according to some implementation schemes. Figures 19A to 19AB The user interface in the document is used to display including Figures 20A to 20B The process described below is the process in the middle.

[0109] The processes described below enhance device operability and make the user-device interface more efficient through various technologies (e.g., by helping users provide appropriate input and reducing user errors when operating / interacting with the device), including providing improved visual feedback to users, reducing the amount of input required to perform operations, providing additional control options without cluttering the user interface with additional display controls, performing operations without further user input and / or additional techniques when a set of conditions have been met. These technologies also reduce power consumption and extend device battery life by enabling users to use the device faster and more efficiently.

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

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

[0112] 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 “comprising” and / or “including” as used in this specification specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0113] 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]."

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

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

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

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

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

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

[0120] As used in this specification and claims, the term "haptic output" refers to a physical displacement of the device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., the housing), or a displacement of a component relative to the center of mass of the device, which is detected by the user using the user's tactile sense. For example, when the device or a component of the device comes into contact with a touch-sensitive surface (e.g., a finger, palm, or other part of the user's hand), the haptic output generated by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in the physical characteristics of the device or a component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or touchpad) may optionally be interpreted by the user as a "press-click" or "release-click" on a physically actuated button. In some cases, the user will feel a tactile sensation, such as a "press-click" or "release-click," even when a physically actuated button associated with the touch-sensitive surface, which 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.

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

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

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

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

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

[0126] 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.), dials, slide switches, joysticks, click dials, etc. In some embodiments, input controller 160 is optionally coupled to (or not coupled to) any of the following: keyboard, infrared port, USB port, and pointing device such as mouse. One or more buttons (e.g., Figure 2 Optionally, 208) includes an increase / decrease button for volume control of speaker 111 and / or microphone 113. The one or more buttons optionally include a push-button (e.g., Figure 2(Ref. 206 in the original text). In some embodiments, the electronic device is a computer system that communicates with one or more input devices (e.g., via wireless communication or via wired communication). In some embodiments, the one or more input devices include a touch-sensitive surface (e.g., a touchpad, as part of a touch-sensitive display). In some embodiments, the one or more input devices include one or more camera sensors (e.g., one or more optical sensors 164 and / or one or more depth camera sensors 175), such as for tracking user gestures (e.g., hand gestures and / or air gestures) as input. In some embodiments, the one or more input devices are integrated with the computer system. In some embodiments, the one or more input devices are separate from the computer system. In some implementations, air gestures are gestures detected without the user touching an input element that is part of the device (or independently of an input element that is part of the device) and based on the detected movement of a part of the user's body through the air (including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of the user's fingers relative to another 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)).

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

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

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

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

[0131] In some embodiments of the touchscreen 112, the touch-sensitive display optionally resembles a multi-touch touchpad described in the following U.S. patents: 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman et al.) and / or U.S. Patent Publication 2002 / 0015024A1, each of which is incorporated herein by reference in its entirety. However, the touchscreen 112 displays visual output from the device 100, while the touch-sensitive touchpad does not provide visual output.

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

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

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

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

[0136] 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 position of the optical sensor 164 can be changed by the user (e.g., by rotating the lenses and sensors in the device housing), allowing a single optical sensor 164 to be used in conjunction with the touchscreen display for both video conferencing and still image and / or video image acquisition.

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

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

[0139] 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: 11 / 241,839, entitled "Proximity Detector In Handheld Device"; 11 / 240,788, entitled "Proximity Detector In Handheld Device"; 11 / 620,702, entitled "Using Ambient Light Sensor To Augment Proximity Sensor Output"; 11 / 586,862, entitled "Automated Response To And Sensing Of User Activity In Portable Devices"; and 11 / 638,251, entitled "Methods And Systems For Automatic Configuration Of Peripherals", the entire contents of which are incorporated herein by reference. In some implementations, 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.

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

[0141] The device 100 optionally also includes 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: 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices" and 20060017692, entitled "Methods And Apparatuses For Operating A Portable DeviceBased On An Accelerometer," both of which are incorporated herein by reference in their entirety. In some embodiments, information is displayed on a touchscreen display in portrait or landscape view based on analysis of data received from one or more accelerometers. Device 100 may optionally include, in addition to the accelerometer 168, a magnetometer and a GPS (or GLONASS or other global navigation system) receiver for acquiring information about the location and orientation (e.g., portrait or landscape) of device 100.

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

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

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

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

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

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

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

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

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

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

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

[0153] Application 136 optionally includes the following modules (or instruction sets) or subsets or supersets thereof: • Contacts module 137 (sometimes called address book or contact list); • Telephone module 138; • Video conferencing module 139; • Email client module 140; • Instant Messaging (IM) module 141; • Fitness support module 142; • Camera module 143 for still images and / or video images; • Image management module 144; • Video player module; • Music player module; • Browser module 147; • Calendar module 148; • 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; • Widget creator module 150 for creating user-created widgets 149-6; • Search module 151; • Video and music player module 152, which combines a video player module and a music player module; •Notes module 153; • Map module 154; and / or • Online video module 155.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0197] In some implementations, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates phone numbers used in contact module 137 or stores video files used in video player module. In some implementations, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates new user interface objects or updates the location 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.

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

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

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

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

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

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

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

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

[0206] 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: • Signal strength indicator 402 for wireless communications such as cellular signals and Wi-Fi signals; • Time 404; • Bluetooth indicator 405; • Battery status indicator 406; • Tray 408 with icons for commonly used applications, such as: ○ 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; ○ An icon 418 labeled "Mail" in the email client module 140, which optionally includes an indicator 410 for the number of unread emails; ○ The icon 420 labeled "Browser" in browser module 147; and ○ 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 • Icons of other applications, such as: ○The icon 424 of the IM module 141 marked as "Message"; ○The calendar module 148 has an icon 426 labeled "Calendar"; ○ The icon 428 of the image management module 144 is labeled "Photo". ○ The icon 430 of camera module 143, which is labeled "camera"; ○ The icon 432 of the online video module 155, which is labeled "Online Video"; ○ The icon 434 labeled "Stock Market" in the Stock Market widget 149-2; ○The icon 436 of the map module 154 that is labeled "map"; ○The weather widget 149-1 has icon 438 labeled "weather"; ○ The alarm clock widget 149-4 has an icon 440 labeled "clock"; ○ The icon 442 of the fitness support module 142 is labeled "fitness support"; ○ The icon 444 labeled "Notes" in Notes module 153; and ○ The icon 446, labeled "Settings," is used to set the settings of the device 100 and its various applications 136.

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

[0208] 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 3 An exemplary user interface on the device 300. The device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of the sensors 359) for detecting the intensity of contact on the tactile surface 451 and / or one or more tactile output generators 357 for generating tactile outputs for the user of the device 300.

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

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

[0211] Figure 5A An exemplary personal electronic device 500 is illustrated. Device 500 includes a body 502. In some embodiments, device 500 may include components relative to devices 100 and 300 (e.g., Figures 1A to 4B 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.

[0212] 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 under 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 under WIPO Patent Publication No. WO / 2014 / 105276, each of which is incorporated herein by reference in its entirety.

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

[0214] 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 3Some 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.

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

[0216] The memory 518 of the personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by one or more computer processors 516, may cause the computer processors to perform the techniques described below, including processes 700 to 1300, 1500 to 1800, and 2000. Figures 7 to 13 , Figures 15 to 18 ,and Figures 20A to 20B A computer-readable storage medium can be any medium that can tangibly contain or store computer-executable instructions for use by or in connection with an instruction execution system, apparatus, or device. In some examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media can include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical discs based on CD, DVD, or Blu-ray technology, and persistent solid-state storage such as flash memory, solid-state drives, etc. Personal electronic devices are not limited to... Figure 5B It can be the components and configurations, or it can include other components or additional components in a variety of configurations.

[0217] 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 5BA user-interactive graphical user interface object displayed on a screen. For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) optionally each constitute a functional representation.

[0218] 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 4A In some embodiments of the touchscreen 112, a touch detected on the touchscreen acts as a "focus selector," such that when input (e.g., a press input by touch) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touchscreen display, that particular user interface element is adjusted according to the detected input. In some embodiments, focus moves from one area of ​​the user interface to another without corresponding movement of the cursor or movement of a touch on the touchscreen display (e.g., moving focus from one button to another using tab keys or arrow keys); in these embodiments, the focus selector moves according to the movement of focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is typically a user-controlled user interface element (or a touch on the touchscreen display) that delivers the user-expected interaction with the user interface (e.g., by indicating to the device the element of the user interface that the user expects to interact with). For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen), the position of the focus selector (e.g., a cursor, touch, or selection box) above the corresponding button will indicate to the user that they expect to activate the corresponding button (rather than other user interface elements shown on the device's display).

[0219] As used in the specification and claims, the term "characteristic intensity" of contact refers to a characteristic of contact based on one or more intensities of 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 contact is optionally based on one or more of the following: the maximum value of contact intensity, the mean value of contact intensity, the average value of contact intensity, the value at the top 10% of contact intensity, the half maximum value of contact intensity, the 90% maximum value of contact intensity, etc. In some embodiments, the duration of contact is used when determining the characteristic intensity (e.g., when the characteristic intensity is the average value of 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.

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

[0221] 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: • The active application currently displayed on the screen of the device that is using the application; • 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 • 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.

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

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

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

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

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

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

[0228] exist Figure 5C In 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.

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

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

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

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

[0233] Figure 5C The implementation scheme depicted in the diagram represents a communication session between multiple electronic devices, including Figures 6A to 6EQ and Figures 14A to 14AG The exemplary communication session is depicted in the image. In some implementations, Figures 6A to 6EQ and Figures 14A to 14AG 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.

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

[0235] Figures 6A to 6EQ Exemplary user interfaces for managing shared content sessions are shown according to some implementation schemes. The user interfaces in these figures are used to illustrate including... Figures 7 to 13 and Figures 17 to 18 The process described below is part of the process described in some implementations. Figures 6A to 6EQ The user interface in the document can be used to display the following information about Figures 15 to 16 The process described.

[0236] 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, and / or songs) 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.

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

[0238] In some implementations, one or more audio channels are active (e.g., open) during a content-sharing session, allowing participants in the session to speak to each other in real time while the session is in progress and optionally while content is being shared via the session (e.g., screen sharing and / or syncing). In some implementations, one or more video channels are active (e.g., via a video conferencing application native to the respective device), allowing participants in the content-sharing session to engage in real-time video communication (e.g., video chat) while the session is in progress and optionally while content is being shared via the session. Various aspects of these implementations and further details of the content-sharing session are discussed below with reference to the accompanying drawings.

[0239] Figure 6AExemplary devices for participating in shared content sessions, according to some embodiments, are shown. Specifically, these devices include John's device 6000A (e.g., a smartphone) and Jane's device 6000B (e.g., a smartphone), shown side-by-side to illustrate the concurrent state of the respective devices, including the user interface and input at the respective devices. John's device 6000A includes a display 6001A, one or more cameras 6002A, one or more microphones 6003A (also referred to as mic 6003A), and one or more speakers 6007A (e.g., similar to speaker 111). Jane's device 6000B includes a display 6001B, one or more cameras 6002B, one or more microphones 6003B (also referred to as mic 6003B), and one or more speakers 6007B (e.g., similar to speaker 111). John's device 6000A is similar to Jane's device 6000B. 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 6000A and 6000B may be referred to using reference numeral 6000, meaning that reference numeral 6000 may be used herein to refer to John's device 6000A or Jane's device 6000B, or both. Other elements sharing common reference numerals may be referenced in a similar manner. For example, displays 6001A and 6001B, cameras 6002A and 6002B, microphones 6003A and 6003B, and speakers 6007A and 6007B may be referred to using reference numerals 6001, 6002, 6003, and 6007, respectively. In some embodiments, device 6000 includes one or more features of devices 100, 300, and / or 500.

[0240] In the embodiments provided herein, John's device 6000A can be described as performing a set of functions associated with a shared content session, and Jane's device 6000B 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 6000A can similarly be performed by Jane's device 6000B and the devices of other participants in the shared content session. Similarly, functions described as being performed by Jane's device 6000B can similarly be performed by John's device 6000A and the devices of other participants in the shared content session, unless otherwise specified.

[0241] Figures 6A to 6LAn exemplary implementation is shown, in which John initiates a content-sharing session for group members referred to as "the climbers." Figure 6A In this scenario, devices 6000A and 6000B are not in a shared content session (the shared content session is inactive, and the devices are not currently participating in any shared content session). John's device 6000A displays message interface 6004A via display 6001A. Jane's device 6000B does not display any content (e.g., device 6000B is locked and / or inactive). Figure 6A In the message interface 6004A, a group message dialogue is depicted, including message 6004A-1 between participants in a group referred to as "the climbers." Message 6004A-1 is displayed in the message display area 6004A-3. The message interface 6004A includes the climbers group logo displayed in the header area 6004A-2. John's device 6000A detects input 6005 (e.g., tap input, tap gesture) in the header area 6004A-2 via the display 6001A and, in response, displays as shown below. Figure 6B Option 6006 is described.

[0242] exist Figure 6B In response to the detection of input 6005, John's device 6000A expands the header area 6004A-2 to display option 6006. The options include telephone option 6006-1, video conferencing option 6006-2, sharing option 6006-3, and status option 6006-4. Telephone option 6006-1 can be selected to call members of the climbing group. Video conferencing option 6006-2 can be selected to initiate a video conference session with members of the climbing group. Sharing option 6006-3 can be selected to initiate a content-sharing session with members of the climbing group. Status option 6006-4 can be selected to view the climbing group's status card. Figure 6B In the middle, John's device 6000A detected input 6008 on sharing option 6006-3 and, in response, initiated a content sharing session with members of the climbers' group.

[0243] exist Figure 6CIn this scenario, John's device 6000A has initiated a content-sharing session with members of the climbing group. John's device 6000A displays a control area 6015A that provides information associated with the content-sharing session between John's device 6000A and other participants in the climbing group, and includes selectable options for controlling the operation, parameters, and / or settings of the content-sharing session. Additionally, John's device 6000A displays a dynamic graph 6010A in a messaging interface 6004A. The dynamic graph 6010A is displayed in a message display area with message 6004A-1, indicating that the content-sharing session has started and including the status of the session (e.g., four people have been invited to join). The dynamic graph 6010A is dynamically updated based on detected changes in various parameters of the content-sharing session and, in some embodiments, can be selected to perform various functions associated with the content-sharing session. In some embodiments, the dynamic graph 6010A is displayed in the messaging interface 6004A even if the content-sharing session is initiated from an application different from the messaging application (e.g., from a video conferencing application). In some implementations, dynamic graph 6010A may include various information such as the name and / or logo of the group participating in the content-sharing session, the names of the participants, the activities occurring in the content-sharing session, or other relevant information. In some implementations, dynamic graph 6010A may include options that can be selected to join or leave the content-sharing session. The content displayed in dynamic graph 6010A is specific to John's device 6000A. For example, in Figure 6C In the depicted implementation, dynamic diagram 6010A does not include an optional "join" option because John's device 6000A has already joined the shared content session in response to the request to initiate the shared content session.

[0244] Control area 6015A provides information associated with the shared content session. For example... Figure 6CAs depicted, at least some of this information is displayed in a status area 6015A-1, which includes an identifier 6015A-2 indicating the name of the group participating in the shared content session and the group's logo. Status area 6015A-1 also includes a status 6015A-3, which currently indicates that four participants have been invited to join the shared content session. Control area 6015A 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 6015A-4 can be selected to view message conversations between participants in the shared content session (e.g., messaging interface 6004A). In some embodiments, speaker option 6015A-5 can be selected to enable or disable audio output (or enable or disable speaker mode on John's device 6000A) via the shared content session (e.g., on speaker 6007A). In some implementations, mic option 6015A-6 can be selected to enable or disable the audio channel for the shared content session regarding John's device 6000A. mic option 6015A-6 is currently shown as enabled (e.g., bold) to indicate that mic 6003A is enabled and the audio channel of John's device 6000A is enabled for the shared content session. In some implementations, video option 6015A-7 can be selected to initiate a video conference session with participants in the shared content session, view the ongoing video conference session, enable / disable the camera, and / or select a different camera to use for the shared content session. In some implementations, sharing option 6015A-8 can be selected to initiate a screen sharing option, thereby sharing the content of John's screen with participants in the shared content session. In some implementations, leave option 6015A-9 can be selected to allow John (or John's device 6000A) to leave the shared content session, optionally without terminating the shared content session for other participants. In some implementations, the sharing option 6015A-8 can be selected to display and / or change various media playback settings.

[0245] In some implementations, the appearance of the sharing option 6015A-8 is used to indicate the playback status of content and / or playback settings of media output during the content sharing session. For example, in some implementations, when content is being output via the content sharing session (e.g., when screen-shared or synchronized content is being output), the sharing option 6015A-8 is shown in bold (or otherwise visually emphasized), and when no screen-shared or synchronized content is being output during the content sharing session, the sharing option is shown unbold (or otherwise visually deemphasized). In some implementations, the sharing option 6015A-8 is bolded or unbold to indicate various playback settings, such as settings for determining whether to prompt the user to share selected media with participants in the content sharing session, as discussed in more detail below. In some implementations, the sharing option 6015A-8 can be selected to change playback settings, as discussed in more detail below.

[0246] In response to John initiating the content-sharing session, members of the climbers' group received invitations to join. Because Jane is a member of the climbers' group, Jane's device 6000B displays invitation 6012, which contains information about the content-sharing session and invites Jane to join.

[0247] like Figure 6C As depicted, John's device 6000A detects a home screen gesture 6014, and Jane's device 6000B detects input 6016 on an invitation 6012. In response to detecting the home screen gesture 6014, John's device 6000A displays the home screen 6018 and clears the control area 6015A. In some embodiments, the control area 6015A is automatically cleared when no input is detected for a predetermined amount of time (e.g., one second, three seconds, or five seconds). In some embodiments, when the device is engaged in a content-sharing session and the control area is not displayed, the device displays a visual indication of the ongoing content-sharing session as a reminder to the user that the content-sharing session is in progress. Figure 6D As shown, John's device 6000A displays the shared pill 6020A in the status area of ​​the main screen 6018. The shared pill 6020A can be selected to display the control area 6015A.

[0248] In response to the detection of input 6016, Jane's device 6000B displays a message interface 6004B, which includes a message 6004B-1 indicating the ongoing group session and a dynamic graph 6010B displayed in the message display area 6004B-3. Dynamic graph 6010B is similar to dynamic graph 6010A; however, the information presented in dynamic graph 6010B is specific to Jane's device 6000B, just as the information presented in dynamic graph 6010A is specific to John's device 6000A. For example, because Jane's device has not yet joined the shared content session, dynamic graph 6010B includes a join option 6010B-1, which can be selected to join the shared content session. Additionally, dynamic graph 6010B indicates that a person has already joined the shared content session.

[0249] exist Figure 6D In the middle, Jane's device 6000B detects scroll input 6022 and, in response, scrolls the message presented in the message display area 6004B-3, such as Figure 6E As shown. In Figure 6E In this context, message display area 6004B-3 is updated to show that message display area 6004B-3 scrolls in response to input 6022, including a display showing that motion graphics 6010B has been scrolled out of view. Because motion graphics 6010B has been scrolled out of view, Jane's device 6000B expands title area 6004B-2 to include dynamic content 6024, which represents the content of motion graphics 6010B, including a join option 6024-1 similar to join option 6010B-1. In some embodiments, title area 6004B-2 is expanded to include dynamic content 6024 in response to a scrolling gesture in the opposite direction to input 6022. In some embodiments, join option 6024-1 (or "leave" option, as appropriate) is persistently displayed in title area 6004B-2 even if title area is not expanded (e.g., as shown in the image). Figure 6D (As shown). Jane's device 6000B detects input 6026 on join option 6024-1 and, in response, joins the shared content session.

[0250] exist Figure 6FIn this embodiment, John's device 6000A displays notification 6028, indicating that Jane has joined the shared content session. In some implementations, notifications (such as notification 6028) are displayed temporarily and then automatically cleared after a predetermined amount of time. In some implementations, notifications associated with the shared content session (e.g., notifications generated by a system-level application hosting the shared content session) are displayed for a shorter period than standard notifications (e.g., text message notifications and / or email notifications) displayed at device 6000. For example, a shared content session notification may be displayed for two seconds, while a standard notification may be displayed for six seconds. In some implementations, notifications associated with the shared content session are displayed with animation, thereby displaying the notification by an animated departure of shared pill 6020 or screen shared pill 6021.

[0251] After joining the shared content session, Jane's device 6000B displays a control area 6015B and a message interface 6004B with a dynamic graph 6010B that updates based on Jane joining the shared content session. For example, the dynamic graph 6010B indicates that two people are now active in the shared content session (John and Jane have joined). Control area 6015B is similar to control area 6015A, and... Figure 6F The message was updated to indicate that two people had joined the shared content session.

[0252] exist Figure 6G In the diagram, Ryan has now joined the shared content session. In response, Jane's device 6000B updates the dynamic graph 6010B and control area 6015B to indicate the activity of three people in the shared content session. Because control area 6015B is displayed, Jane's device 6000B suppresses the display of a notification announcing that Ryan has joined the shared content session. In some implementations, Jane's device 6000B displays a notification that Ryan has joined the shared content session.

[0253] refer to Figure 6GIn John's device 6000A, the display of notification 6028 has not expired, so John's device 6000A updates notification 6028 to indicate that Ryan has also joined. In some implementations, notifications can be combined where appropriate. For example, instead of displaying separate notifications for Jane joining and Ryan joining, these two notifications can be combined into a single notification (by updating notification 6028), so that John's device 6000A does not display multiple notifications, as this could be distracting and unhelpful for John and create unnecessary work for device 6000A. In some implementations, notifications that become irrelevant (e.g., obsolete) before being displayed are not shown. For example, if Ken joins after Ryan but before notification 6028 is updated, John's device 6000A will update notification 6028 to indicate that Jane and the other two people have joined the shared content session, instead of displaying a separate notification. Figure 6G The update notification described in the document.

[0254] In some implementations, John's device 6000A displays group status information (e.g., group card) in response to input 6030 on notification 6028. In response to input 6032 on detected shared pill 6020A, John's device 6000A displays control area 6015A, such as... Figure 6H As depicted in the text.

[0255] exist Figure 6H In this scenario, John's device 6000A displays a control area 6015A, which is updated since its last display (in response to two people joining) to indicate the activity of three people in the shared content session. Microphone 6003A is enabled (in some embodiments, enabled by default) as indicated by mic option 6015A-6. Therefore, when John speaks to the group of climbers (as indicated by audio input 6035A), John's device 6000A receives John's voice as audio input and shares (e.g., sends) this audio input with the other participants in the shared content session. Consequently, Jane's device 6000B (and other devices participating in the shared content session) produces an audio output 6037B of John's voice (e.g., produced using speaker 6007B). The speaker at Jane's device 6000B (e.g., speaker 6007B) is enabled (in some embodiments, enabled by default), as indicated by speaker option 6015B-5, and outputs the audio of John's voice. Thus, the participants in the shared content session are able to speak to each other during the session.

[0256] In response to the detection of input 6034 on message option 6015A-4, John's device 6000A displays message interface 6004A, such as Figure 6I As depicted in [the text]. Figure 6I As indicated in audio input 6035B, Jane speaks to the group of climbers, and as indicated in audio output 6037A, the audio is output at the participant's device (e.g., using speaker 6007A). John's device 6000A detects input 6036 on the control area status area 6015A-1 and, in response, displays the group card interface 6038A, as shown in the image. Figure 6J As depicted in the text.

[0257] exist Figure 6J As indicated by audio outputs 6037A and 6037B at John and Jane's device 6000 (e.g., using speaker 6007), Ryan speaks to the group of climbers. John's device 6000A responds to input 6036 by displaying a group card interface 6038A, and... Figure 6K In this implementation, the group card interface is scrolled in response to scroll input 6039 to display additional content. In some implementations, John's device 6000A displays the group card interface 6038A in response to input on a notification (e.g., input 6030 on notification 6028).

[0258] The group card interface 6038A provides information about the climber group and the content output during the current and past shared content sessions within that group, including identifying information 6038A-1 such as logos, names, and images. The group card interface 6038A includes status information 6040A (including a leave option 6040-1 that allows leaving the shared content session), a list of climber group members 6042A, and an add contact option 6044A that allows adding contacts to the climber group. The member list 6042A includes the names of other group members and their respective status information 6046. For example, in... Figure 6JIn the diagram, Ryan and Jane are shown as participants in the activity of sharing the content session. Ken is shown as invited because he has not yet accepted the invitation to join the content-sharing session. The group card interface also includes a reminder option 6048, which is displayed to group members who have not yet joined the content-sharing session and can be selected to trigger a reminder (e.g., ringtone, warning, and / or notification) on the member's device to remind them to join the content-sharing session. The group card interface 6038A also includes a copy option 6050A, which can be selected to copy a link that can be sent to contacts to invite them to join the climber group. The group card interface 6038A also includes a content history 6052A, which indicates content that has previously been output (or, in some embodiments, is currently being output) in the content-sharing session with the group. The group card interface 6038A also includes preferred (e.g., favorite) content 6054A that has been output during the content-sharing session. The group card interface content history 6052A and preferred content 6054A include instructions 6056 from members who initiated the sharing of the corresponding content or, in some implementations, liked the corresponding content.

[0259] exist Figure 6K In this context, Ken has joined the shared content session. Therefore, Ken's member list 6042-1 and status 6046-1 are updated to indicate Ken's activity in the shared content session. Additionally, in response to Ken joining, control area 6015B and dynamic graph 6010B are updated on Jane's device 6000B to indicate changes in the parameters of the shared content session. In some embodiments, John and Jane's device 6000 displays a notification that Ken has joined the shared content session.

[0260] exist Figure 6L In response to detection Figure 6K Input 6058 in John's device 6000A displays a control area 6015A and a notification interface 6004A with a dynamic graph 6010A. The control area 6015A and the dynamic graph 6010A are updated to instruct Ken to join the shared content session in a similar manner to the control area and dynamic graph on Jane's device 6000B.

[0261] Figures 6M to 6X An exemplary user interface is depicted in an implementation where Jane initiates screen sharing with a group of climbers during the shared content session. Figure 6M In the middle, Jane's device 6000B displays the browser interface 6060 and detects input 6062 on the shared pill 6020B. Figure 6NIn response to input 6062, Jane's device 6000B displays control area 6015B and detects input 6064 on sharing option 6015B-8 to initiate screen sharing with the group of climbers.

[0262] exist Figure 6O In this implementation, Jane's device 6000B replaces sharing option 6015B-8 with countdown 6066, which counts down the amount of time until Jane's device 6000B shares the content of its screen with the group of hikers. In some implementations, in response to detecting input 6068 on countdown 6066, Jane's device 6000B cancels the request to initiate screen sharing and reverts to [previous implementation]. Figure 6N The interface is depicted in [the document]. In some implementations, in response to the detection of input on countdown 6066, Jane's device 6000B displays a notification with an option to confirm canceling the screen sharing request. If no input is detected at 6068, Jane's device 6000B begins sharing the contents of its screen when the countdown ends, as [the text abruptly ends here]. Figure 6P As shown.

[0263] When the countdown ended, Jane's device 6000B began sharing its screen content with members of the climber group and updated control area 6015B to indicate the screen-sharing status of Jane's device 6000B, such as... Figure 6P As shown. For example, status area 6015B-1 is updated to indicate that the group of climbers is watching Jane's screen, and sharing option 6015B-8 changes appearance to indicate that the screen content of Jane's device 6000B is being shared (e.g., output) to participants in the shared content session (e.g., members of the group of climbers). In some embodiments, sharing option 6015B-8 is shown in bold when content other than screen-shared content is being output to members participating in the shared content session (e.g., when media such as performances and / or music is being output as part of the shared content session).

[0264] John's device 6000A displays a screen sharing window 6070 and a notification 6072 indicating that Jane has begun sharing the content of her device's screen. In some embodiments, the notification 6072 is automatically cleared after a predetermined amount of time. The screen sharing window 6070 is a real-time representation of the content currently displayed on Jane's device 6000B. Therefore, since Jane's device 6000B is currently displaying a browser interface 6060, the screen sharing window 6070 includes a representation 6060' of the browser interface 6060. The screen sharing window 6070 is displayed on the main screen 6018, such that John's device 6000A displays the screen sharing window 6070 while the main screen 6018 is in the background. In some embodiments, when screen sharing begins, the screen sharing window 6070 is automatically displayed on the user interface currently displayed on John's device 6000A. For example, if John's device 6000A is displaying message interface 6004A when Jane's device 6000B starts sharing its screen, then the screen sharing window 6070 will be displayed on that message interface.

[0265] Screen sharing window 6070 is displayed as a window that optionally overlays another user interface (e.g., John's main screen 6018) and is movable separately from the user interface displayed below it. 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 sharing 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 (although in some embodiments, such a PiP may be displayed in conjunction with the shared content session).

[0266] Figure 6P The input 6074 is depicted on notification 6072 of John's device 6000A. Figure 6P The text also depicts scrolling input 6076 on browser interface 6060 and home screen input 6078 on home screen display 6077 of Jane's device 6000B. As indicated by audio outputs 6037A and 6037B on John and Jane's devices 6000, Ryan speaks to the group of climbers.

[0267] In response to the detection of scroll input 6078, Jane's device 6000B scrolls the browser interface 6060, and in response to the detection of home screen input 6078, Jane's device 6000B clears the control area 6015B, as shown. Figure 6QAs depicted in [the document]. In some embodiments, Jane's device 6000B automatically clears the control area 6015B after a predetermined amount of time. In some embodiments, the control area 6015 displays for a longer period than standard notifications (e.g., email notifications and / or text message notifications). For example, the control area 6015 displays until it is intentionally cleared by the user. When the device is sharing the content of its screen and the control area is cleared (e.g., hidden), the device displays a screen sharing pill 6021B, as [the text abruptly ends here]. Figure 6Q The device 6000B depicted in Jane is shown in some embodiments. In some implementations, the screen sharing pill 2021B differs in appearance from the sharing pill 6020B but is functionally similar. For example, the screen sharing pill 6021B serves as a prompt to the user indicating that a content sharing session is in progress, but the different appearance indicates to the user that their device is sharing the content of their screen via that content sharing session. In some implementations, the screen sharing pill 6021B may be selected to display the control area 6015B.

[0268] exist Figure 6Q In this context, John's device 6000A displays a control area 6015A in response to input 6074. To provide an unobstructed view of the control area 6015A and the screen content 6070, John's device 6000A automatically moves the position of the screen-sharing window 6070 on the display 6001A. Because the screen-sharing window 6070 is a live representation of Jane's screen content, when Jane scrolls the browser interface (via input 6076), the screen-sharing window 6070 is automatically scrolled to match the scrolling position of the browser interface 6060 on Jane's device 6000B. This is achieved by... Figure 6Q The scrolling appearance of the screen sharing window 6070, represented by 6060', is shown.

[0269] exist Figure 6Q In the middle, John's device detects input 6080 on mic options 6015A-6 to mute microphone 6003A, and detects drag input 6082 to move the screen sharing window 6070 on display 6001A. Jane's device 6000B detects home screen input 6084 on home screen enable display 6077B to clear browser interface 6060 and display home screen 6088, as... Figure 6R As depicted in [the document]. In some embodiments, a home screen gesture (e.g., similar to home screen input 6078 or home screen input 6084) causes John's device 6000A to clear the control area 6015A. In some embodiments, a home screen gesture (optionally detected after the control area is cleared) causes John's device 6000A to clear the screen sharing window 6070 (e.g., hide its display).

[0270] In some implementations, certain notifications are suppressed when control area 6015 is displayed. For example, in Figure 6Q In the middle, Jane's device 6000B displays a notification 6086 instructing Ryan to leave the shared content session, but a similar notification is not displayed on John's device 6000A because the control area 6015A is displayed.

[0271] exist Figure 6R In this scenario, John's device 6000A responds to drag input 6082 by displaying a screen-sharing window 6070 on the monitor with its moved position. The screen-sharing window 6070 is also updated to indicate that Jane has navigated to the home screen 6088 by displaying a representation 6088' of Jane's home screen 6088. In some embodiments, notifications from Jane's device 6000B are displayed in the screen-sharing window 6070 on John's device 6000A. For example, in... Figure 6R In this embodiment, screen sharing window 6070 includes a representation 6086' of notification 6086. In some embodiments, the notification is not shared within screen sharing window 6070. In some embodiments, the size of screen sharing window 6070 may be adjusted in response to various inputs, such as pinch and / or cancel pinch gestures. In some embodiments, John's device 6000A remembers the moved and / or resized position of screen sharing window 6070, such that when sharing content with John's device 6000A in the future (e.g., screen-shared content and / or media content output during a content sharing session), John's device 6000A displays the shared content at the moved and / or resized position.

[0272] John's device 6000A continues to display control area 6015A, and John speaks while the microphone used for this shared content session (e.g., microphone 6003A) is muted (as indicated by the mute icon 6090). Therefore, John's voice is not transmitted in this shared content session, as indicated by the lack of output audio at Jane's device 6000B. John's device 6000A detects input 6092 on the screen sharing window 6070.

[0273] exist Figure 6R In the middle, when input 6094 was detected at the Health app icon 6096, Jane's device 6000B continued to display notification 6086. Figure 6SIn response to input 6094, Jane's device 6000B launches the Health application and displays the Health interface 6102. Therefore, John's device 6000A updates the display of the screen sharing window 6070 to show a representation 6102' of the Health interface 6102. John's device 6000A also displays Chrome 6100 including identifier 6100-1 and extension icon 6100-2. Identifier 6100-1 indicates Jane's name and avatar to indicate that the screen sharing window 6070 represents the content of Jane's device 6000B. Extension icon 6100-2 can be selected (e.g., in response to input 6104) to enlarge the screen sharing window 6070 to, for example, an extended display state (e.g., full-screen display state or using all screens other than those designated for system status information and / or system controls). In some implementations, when Chrome 6100 is not displayed, the screen sharing window 6070 enlarges in response to a tap on the screen sharing window 6070 without requiring a subsequent tap on the extension icon 6100-2.

[0274] exist Figure 6S In the middle, John's device 6000A clears the control area 6015A and displays the shared pill 6020A. John's device 6000A displays the shared pill 6020A, while Jane's device 6000B displays the screen shared pill 6021B. This indicates that John's device is participating in the shared content session without sharing its screen, while Jane's device 6000B is participating in the shared content session and sharing its screen with the participants in the shared content session.

[0275] When the microphone is muted, John's device 6000A displays notification 6098 in response to detecting John speaking. When the control area 6015A is displayed, notification 6098 and notifications similar to notification 6086 are suppressed on John's device 6000A (e.g., stored in a queue). However, because Figure 6S Control area 6015A is no longer displayed, so John's device 6000A displays previously suppressed notifications that are not obsolete (e.g., obsolete means expired or irrelevant). Notifications 6098 and 6086 (displayed on Jane's device) are not obsolete because the conditions triggering their display remain true, and optionally, the time allocated for displaying these notifications has not expired. In some implementations, instead of displaying all notifications that are not obsolete, John's device 6000A displays notifications based on the priority assigned to them, such that notifications with the highest priority are displayed first for a predetermined amount of time and then cleared. Subsequently, notifications with the next highest priority are displayed and then cleared. Figure 6SIn this implementation, notification 6098 is given a higher priority than notifications announcing Ryan's departure from the shared content session. Therefore, when John's device 6000A hides the control area 6015A, it displays notification 6098 but not the notification announcing Ryan has left the shared content session. In some implementations, the priority of notifications stored in a queue may change over time (e.g., notifications may become stale). For example, if the allocation time for displaying a notification expires before the notification is displayed, the notification is not displayed.

[0276] In some implementations, notifications are prioritized at different tiers based on their type. For example, notifications triggered by user actions are given the highest priority (e.g., tier 1). Examples of user actions that trigger tier 1 notifications include interactions with elements of control area 6015 (e.g., audio routing, microphone on / off, camera on / off, local screen sharing on / off). In some implementations, notifications indicating that the microphone is muted are given medium priority (e.g., tier 2). Notification 6098 is an example of a tier 2 notification. In some implementations, notifications that are automatically triggered based on activity in the shared content session are given lower priority (e.g., tier 3). Examples of tier 2 notifications may include account updates (e.g., notifications that a user has joined the shared content session), notifications that content is playing only for the user of the device, application notifications about applications supporting the shared content session, playback actions, queue actions, remote screen sharing actions, and reminder notifications related to the shared content session (e.g., reminders indicating that a member of the shared content session is still playing content after the user has stopped playing private content).

[0277] In some implementations, certain types of notifications replace each other when displayed. For example, a notification indicating content is "playing only for me," a notification associated with an application supporting the shared content session, a playback action, a queue action, a remote screen sharing action, and an alert notification related to the shared content session replace each other, and in some implementations, expire after three seconds. In some implementations, some notifications may be merged and optionally have no expiration time. For example, if five users join a shared content session, a single notification indicating that one user and four other users have joined may be displayed.

[0278] In some implementations, notifications related to playback actions, queueing actions, and remote sharing actions have a higher priority than notifications related to shared content sessions. In some implementations, notifications from applications supporting shared content sessions have a higher priority than notifications related to playback actions, queueing actions, and remote sharing actions. In some implementations, notifications indicating content is "playing only for me" have a higher priority than notifications from applications supporting shared content sessions. In some implementations, notifications related to account updates have a higher priority than notifications indicating content is "playing only for me".

[0279] In response to the detection of input 6104, John's device 6000A displays a screen-sharing window 6070 in a zoomed-in, extended, and / or full-screen state (or uses all screens other than those designated for system status information and / or system control), thus presenting a full-screen view of Jane's screen. When the screen-sharing window 6070 is zoomed in, the control area 6015A is again displayed, indicating in the control area status area 6015A-1 that Jane is sharing her screen with members of the climbing group. However, it should be understood that while Jane is sharing the content of her screen, that shared content can be manipulated at each corresponding device viewing the content of her screen within that shared content session. For example, while John is viewing Jane's screen-sharing content in an extended or full-screen state, other participants in that shared content session can do so in a smaller window or PiP (similar to...). Figure 6S View Jane's screen-shared content in the screen-sharing window (6070) and see it in different display positions on the participants' respective devices.

[0280] Because Jane's screen content is displayed in full-screen view, some content from Jane's device 6000B overlaps with some content displayed on John's device 6000A. For example, the display 6021B' of the screen-sharing pill 6021B is layered below the clock 6106 in the status bar area of ​​John's device 6000A. In some embodiments, other information in John's device's status bar area (including the clock and other relevant information such as battery charging indicators and signal strength indicators) overlaps with the corresponding area from Jane's device. In some embodiments, the main screen power indicator 6077B from Jane's device overlaps with the main screen power indicator 6077A on John's device. In some embodiments, the content from Jane's screen is displayed blurred and below the content in John's status area. For example, the display 6021B' is displayed blurred (indicated by a shading line) and below John's clock 6106. In some embodiments, Jane's content is displayed above John's content, either blurred or unblurred.

[0281] exist Figure 6T In Jane's device 6000B, the health interface 6102 continues to be displayed, and notification 6086 is cleared (e.g., after a predetermined amount of time has elapsed). On John's device 6000A, in response to input 6108, the control area 6015A is cleared to display Chrome 6100, as... Figure 6U As shown. In Figure 6U In the middle, John's device 6000A clears the control area 6015A and displays the shared pill 6020A and Chrome 6100, including the identifier 6100-1 and the minimize icon 6100-3. The minimize icon 6100-3 can be selected to share the screen from the window 6070. Figure 6U The full-screen view in the middle shrinks to Figure 6S The PiP is depicted in the diagram. In some implementations, a home screen gesture (e.g., a swipe up on the home screen display 6077A) causes device 6000A to shrink the screen-sharing window 6070 from a full-screen view to a PiP view. The shared pill 6020A is displayed above the screen-sharing content from Jane's device (e.g., the display 6021B' of the screen-sharing pill 6021B) in a manner similar to that described above with respect to clock 6106. John's device 6000A clears chrome 6100 in response to input 6110. In some implementations, John's device 6000A automatically clears chrome 6100 after displaying chrome for a predetermined amount of time.

[0282] exist Figure 6UIn the middle, Jane's device 6000B detects input 6112 on the screen-sharing pill 6021B, and in response, displays the control area 6015B, such as Figure 6V As shown. Control area status area 6015B-1 indicates that the climbers are viewing Jane's screen. Jane can choose sharing option 6015B-8 (this option has a bold appearance, indicating that screen sharing is active) to stop sharing her screen with the climbers. Jane can choose leave option 6015B-9 to leave the shared content session and terminate screen sharing with the climbers.

[0283] exist Figure 6V In the diagram, John's device 6000A displays a privacy indicator 6118, which indicates that certain components of John's device (e.g., camera 6002A and / or microphone 6003A) are currently or recently in use. The privacy indicator 6118 may be displayed in embodiments depicted in other figures described herein.

[0284] Figure 6W The diagram depicts John and Jane's devices 6000 when Jane selects sharing option 6015B-8 in response to input 6116. Specifically, Jane's device 6000B stops sharing its screen content with the climber group, as indicated by the unbold appearance of sharing option 6015B-8 and the updated control area status area 6015B-1, now noticing three people active in the climber group (because Ryan left the shared content session). John's device 6000A stops displaying the screen sharing window 6070 (returning to the main screen 6018) and displays a notification 6120 indicating that Jane has stopped sharing her screen. A sharing pill 6020A indicates that John's device 6000A is still participating in the shared content session, even though Jane's screen sharing has stopped. In some embodiments, John's device 6000A displays the group card interface 6038A in response to input 6122 on notification 6120.

[0285] Figure 6X The illustration depicts John and Jane's devices 6000 when Jane selects the leave option 6015B-9 in response to input 6114. Specifically, Jane's device 6000B stops sharing its screen content with the climber and leaves (e.g., disconnects or stops participating) the shared content session, as indicated by not displaying the control area 6015B or the shared pill 6020B. John's device 6000A stops displaying the screen sharing window 6070 and displays a notification 6124 indicating that Jane has left the shared content session. Although Jane's device has left the shared content session, John's device remains in the shared content session, as indicated by the shared pill 6020A.

[0286] Figures 6Y to 6DG Various implementation schemes associated with sharing media in a content-sharing session are illustrated. Figure 6Y In the middle, when the content sharing session is inactive, John's device 6000A displays the home screen 6018. John's device 6000A detects input 6126 to select the TV application icon 6128, and in response, displays... Figure 6Z The TV application interface 6130 includes media options 6134 and 6138, which indicate media content such as programs or movies that can be watched on John's device 6000A. In some embodiments, a symbol 6132 is displayed to indicate media content that can be shared through a shared content session, i.e., media content that can be played on John's device 6000A while simultaneously being played on other devices participating in the shared content session, as discussed in more detail below.

[0287] exist Figure 6Z In this scenario, John's device 6000A detects input 6136 to select media option 6138, which is a television program called "TV Program 3" that can be played on John's device 6000A but cannot be shared in a shared content session. In some implementations, the program may not be shared, for example, because the application used to play the media content does not support playback in a shared content session or because the content is restricted to sharing within a shared content session.

[0288] In response to input 6136, John's device 6000A displays a startup interface 6140 for initiating playback of the media content selected in the TV application interface 6130. (As...) Figure 6AA As shown, the launch interface 6140 includes a media identifier 6142, such as the name of the program and other details of the selected media content. The launch interface includes playback options 6144, which include text prompting the user to play the selected media content. The launch interface also includes icons or badges 6146 indicating various aspects of the selected media content.

[0289] exist Figure 6AA In the middle, John's device 6000A detected input 6148 on playback option 6144 and, in response, started playback of "TV Show 3", as... Figure 6ABAs depicted in the document. When playback of "TV Show 3" begins, John's device displays Media 6150A, playback controls 6152A, and Chrome 6154. Media 6150A displays the media content playing on John's device 6000A. Media 6150A can have a fixed position in extended or full-screen view (or use all screens except for a portion designated for system status information and / or system control), or be displayed as a PiP, which can be positioned on various user interfaces as discussed herein. Figure 6AB In the image, media 6150A is displayed in an extended view, while John's device 6000A is in portrait orientation. However, in some implementations, if John's device 6000A is rotated to landscape orientation while media 6150A is in extended view, then media 6150A expands to a full-screen view or larger. Figure 6AB An enlarged view of the view depicted. For simplicity, the media shown is referred to hereinafter as Media PiP 6150A, which may be used to refer to media in the extended view or in PiP format, depending on the context.

[0290] like Figure 6AB As shown, media PiP 6150A is displaying the content of "TV Show 3". Audio 6155A associated with "TV Show 3" is output at John's device 6000A (e.g., using speaker 6007A). Playback controls 6152A present information about the playback of the content and various controls that can be selected to control the playback of the content displayed on media PiP 6150A. For example, label 6152A-1 indicates the playback status relative to the duration of the media content and can be selected to navigate the media content (e.g., move the playback position of the media content proportionally to the input). Pause enable indicator 6152A-2 can be selected to pause the playback of the media content, play enable indicator 6152A-4 can be selected to resume the playback of the media content, and transfer option 6152A-3 can be selected to transfer playback from John's device 6000A to another device, such as... Figure 6CS The television 6500 is depicted in the image. Chrome 6154 includes options to exit media content playback and change the visual state of the media PiP 6150A (e.g., removing the media PiP from...). Figure 6AA The interface depicted includes options for changing the display size or orientation of media content, as well as adjusting the playback volume of media content. In some implementations, John's device 6000A automatically clears Chrome 6154 and playback controls 6152A after a predetermined amount of time.

[0291] exist Figure 6ACIn this scenario, John's device 6000A receives a video call from Jane's device, as indicated by call banner 6158. Upon receiving this video call, John's device automatically pauses playback of "TV Show 3," as... Figure 6AC As shown. In response to input 6160 on the accept enable display 6162, John's device accepts an incoming call from Jane.

[0292] When the video call with Jane ends after a few minutes (as indicated by clock 6106), John is able to resume playback of "TV Show 3," which has been paused since the incoming video call was received, by selecting playback enablement display 6152A-4 via input 6164. Figure 6AD As shown.

[0293] John's device 6000A is in Figure 6AE The playback of "TV Show 3" has been resumed. John's device detects input 6166 on the end option 6154-1, which can be selected to end the playback of the media content. In response, John's device 6000A stops the playback of "TV Show 3" and displays the TV application interface 6130, as shown in the image. Figure 6AF As shown.

[0294] Figures 6AG to 6AI The user interface of an implementation where John's device initiates a content-sharing session with a group of climbers from a video conferencing interface is depicted. Figure 6AG In the context of the video conferencing setup, John's device displays message interface 6004A and detects input 6168 on video conferencing option 6006-2. Jane's device 6000B is displaying the main screen 6088. Neither John's nor Jane's devices 6000 are in a shared content session. In response to input 6168, John's device initiates a video conference between members of the climbers' group. In some implementations, video conferencing option 6006-2 can be selected to display the video conferencing interface of the ongoing video conference while it is in progress.

[0295] Figure 6AHThe image depicts John and Jane's devices 6000 in a video conference session with members of a climbing group. John's device 6000A displays a video conferencing interface 6170A with video feeds from Jane (tile 6172), Ryan (tile 6174), a camera preview 6182 (e.g., video feeds from John's camera 6002A), and controls 6180A. Controls 6180A include various control options selectable to control aspects of the video conference, such as enabling or disabling the camera or microphone and terminating the video conference. Controls 6180A also include a sharing option 6180A-1, selectable to initiate a content-sharing session with members of the climbing group. Jane's device 6000B displays a video conferencing interface 6170B, which includes John's video feed in tile 6176, Ryan's video feed in tile 6178 (similar to tile 6174 on John's device), a camera preview 6184 (e.g., a video feed from Jane's camera 6002B), and controls 6180B. John's device 6000A detects input 6186 of sharing option 6180A-1 and, in response, initiates a content-sharing session with the group of climbers.

[0296] like Figure 6AI As shown, the shared content session is currently active among John, Jane, and Ryan, as indicated by the display of control area 6015. Additionally, the control area status area 6015-1 on John and Jane's devices 6000 indicates that the three participants (Jane, John, and Ryan) are active in the shared content session. When control area 6015 is displayed, John and Jane's devices 6000 move and / or shrink their video feeds to fit the display of control area 6015 without obscuring the corresponding video feeds. Control area options 6015-5, 6015-6, and 6015-7 are bolded to indicate for each corresponding device that the audio channel is active, the mic is not muted, and the video conferencing session is in progress. John's device 6000A detects a home screen gesture 6188, and Jane's device 6000B detects input 6189 on message option 6015B-4.

[0297] exist Figure 6AJIn this context, John's device displays the main screen 6018, and Janes' device displays the messaging interface 6004B, which includes a GIF 6010B showing that the content sharing session was initiated by John. Even if the content sharing session was not initiated from the messaging application (John initiated the content sharing session from the video conferencing interface 6170A), the GIF is still added to the message display area 6004B-3 of the messaging interface. Therefore, members of the climber group can quickly and easily access the GIF by displaying the messaging interface. Figure 6AJ Input 6190 is depicted on the TV application icon 6128 and input 6194 is depicted on the photo application icon 6192. Jane's device 6000B detects input 6196 on the video conferencing options 6015B-7 to display the video conferencing interface 6170B. In some embodiments, video PiP 6245 (or video PiP 6235) can be selected (e.g., via input 6197) to display the video conferencing interface 6170B.

[0298] Figure 6AK John's device 6000A is depicted displaying a photo interface 6198 in response to input 6196, and Jane's device 6000B displays a video conferencing interface 6170B in response to input 6196. Figure 6AK In the implementation described, the photo application does not support sharing content via a shared content session. Therefore, because John's device 6000A is currently in an ongoing shared content session, the device displays banner 6200, notifying John that content in the photo application is not available for sharing (this banner is not displayed when the photo interface 6198 is displayed and John's device is not in a shared content session).

[0299] In response to the detection of input 6204 on video 6202, John's device 6000A displays notification 6206, indicating that the selected content cannot be shared with the climber. In some embodiments, John can select "OK" to continue playing the video privately on John's device, i.e., playing the content on John's device without playing it on other devices in the shared content session (if John's device is not in the shared content session, it will play the content without displaying notification 6206). In some embodiments, content that cannot be played together in the shared content session can be shared with participants in the shared content session by sharing John's screen while the content is played privately on John's device. In some embodiments, notification 6208 is displayed to inform the user that screen sharing is available to display the content to others. In some embodiments, notification 6208 can be selected to initiate a screen sharing session (e.g., optionally displaying control area 6015A) to share the selected content. When John's device plays the selected content, John's screen (and optionally, audio) is sent to participants in the shared content session via screen sharing. In some implementations, content shared via screen sharing has reduced quality (e.g., video and / or audio quality) due to compression of audio and / or video data to accommodate bandwidth constraints associated with sharing content from the host device to participating devices. On the other hand, when media content is shared such that each corresponding device accesses the media content separately (e.g., from a remote server), these devices are able to play back the content at a higher quality because the content is not compressed for transmission as it is for screen-shared content. Exemplary implementations of sharing media content in this higher-quality manner are described in more detail below.

[0300] Figure 6AM The description depicts John's device 6000A displaying a TV application interface 6130 in response to input 6190. Because John's device is participating in a content sharing session, it displays a notification 6210 inviting John to watch content from the TV application with the hiking group. In some implementations, if John's device is not in a content sharing session, such as... Figure 6Z As shown, or if the content in the application cannot be shared, such as Figure 6AK As shown, notification 6210 is not displayed. Notification 6210 includes: a climber logo 6213 indicating that the notification contains information related to a shared content session with the climber; and a TV icon 6212 indicating that the information is related to a TV application used to select and / or play content from the shared content session. In some embodiments, the TV icon 6212 (or other icon determined by the relevant application) is displayed in the control area 6015 (e.g., as shown). Figure 6AS (As shown). In some embodiments, notification 6210 is displayed temporarily. In some embodiments, whenever control area 6015 is displayed (e.g., floating below control area 6015), a notification including information about what will happen when media is played using the application is displayed. Examples of such notifications include notifications 6200 and 6210. In some embodiments, notification 6210 is displayed as a banner associated with an application that supports or enables content sharing sessions. In some embodiments, other notifications are displayed as part of this banner. In some embodiments, an updated version of this banner is referred to herein as a different notification.

[0301] In some implementations, the TV application interface 6130 recommends content for viewing based on the subscriptions of participants in a group of climbers. For example, if several members of the climbers have subscriptions to a specific content provider, content from that provider is recommended (e.g., under the "What to Watch" section). In some implementations, the TV application interface 6130 recommends content that can be shared within a shared content session. For example, in... Figure 6AM In the demonstration, John's device 6000A showed "Episode 1," which was recommended for viewing with a group of climbers. Media option 6214 corresponds to the "Episode 1" television program, which can be shared via this shared content session, as indicated by icon 6132. Figure 6AM As indicated by audio input 6035A and output audio 6037B, John speaks to the group of climbers and selects “Episode 1” via input 6216 and media option 6214 to play it back for the group of climbers.

[0302] exist Figure 6AN In this example, John's device 6000A displays a startup interface 6140, which includes a media identifier 6142, playback options 6144, and a badge 6146 associated with the selected television program "Episode 1". In some implementations, the appearance of various elements displayed in a particular application changes depending on whether the device displaying the application's interface is in a shared content session. For example, in... Figure 6AN In the image, playback option 6144 is shown with the text "Watch Together," indicating that playing the media content will cause the media to be played for the group in the shared content session. Additionally, badge 6146 includes an icon 6132 indicating that the selected media content ("Episode 1") can be played with the group via the shared content session.

[0303] exist Figure 6ANIn the video conferencing interface 6170, John's device 6000A detects input 6218 on playback option 6144. Jane's device 6000B clears the display of control area 6015B (e.g., after a predetermined amount of time), and the video feeds return to their original (e.g., default) size. In some embodiments, when control area 6015 is cleared, shared pill 6020 is displayed in the video conferencing interface 6170. In response to input 6218, John's device 6000A displays a prompt 6220 with options to John indicating whether the media should be played for the participants in the group (e.g., option 6220-1), the media should be played only on John's device (e.g., option 6220-2), or the playback request should be canceled (e.g., option 6220-3). In some embodiments, John's device 6000A, in response to input 6218, begins playback of the program for the group (without displaying prompt 6220). In some implementations, John's device 6000A remembers which option was selected (e.g., for the group or only for John's device) and automatically applies the selected option to future requests to play the media (e.g., no prompt 6220 is displayed). In some implementations, the selected option is remembered per application, such that the user is prompted for each corresponding application (e.g., requesting the first playback for the corresponding application). In some implementations, the user is prompted in a single application, and the selected option is applied across all applications. In some implementations, the selected option is remembered for the current shared content session and prompted again for future shared content sessions. In some implementations, the selected option is remembered for future shared content sessions. In some implementations, John's device displays a notification indicating that the selected option has been remembered from a previous selection. In some implementations, instead of prompt 6220, a notification indicating that the selected option has been remembered from a previous selection is displayed, and optionally, this notification can be selected to display an option for changing the selected option for the current playback request. In some implementations, when option 6220-2 is selected, prompt 6220 is displayed the next time a playback request is received (e.g., input 6218). In some implementations, when option 6220-1 is selected, prompt 6220 is not displayed the next time a playback request is received (e.g., when 6218 is entered).

[0304] Figure 6APThe description depicts John and Jane's device 6000 responding to input 6222 on option 6220-2 "Play for me only". In this implementation, John's device 6000A begins privately playing "Episode 1" (not playing in the shared content session). Because John only chooses to play "Episode 1" on John's device 6000A, "Episode 1" is not added to the shared content session for playback on Jane and Ryan's devices. Therefore, in Figure 6AP In this scenario, John's device is shown playing "Episode 1," while Jane's device 6000B continues to display the video conferencing interface 6170B without playing "Episode 1." John's device displays a notification 6226 to inform John that "Episode 1" is only playing on John's device and not on other members of the climbing group. Notification 6226 includes an avatar of John 6225 to indicate that the content of the notification is relevant to John (as opposed to the climbing group). John's device (e.g., using speaker 6007A) outputs audio 6156A of "Episode 1" and plays the program on media PiP 6150A. While "Episode 1" is playing, John's device 6000A remains in a shared content session. Therefore, the audio channel remains active, and John's device (e.g., using speaker 6007A) outputs audio from Jane, as indicated by audio output 6037A and audio input 6035B.

[0305] Figure 6AQ The device 6000 depicting John and Jane responds to input 6224 on option 6220-1 "Play for Group". In this implementation, "Episode 1" is added to a shared content session so that it can be played on the respective devices participating in the shared content session. In contrast to screen-shared content where content is transferred from a host device (also referred to as a sharing device) to other participant devices, the media content is shared with the participant device initiating a synchronized playback process that enables the participant device to access and / or play (in a synchronized playback state among participants) data of the content added to the shared content session synchronously. Therefore, a device participating in the shared content session initiates playback of "Episode 1" on its respective device by individually accessing the "Episode 1" content from a TV application installed on the respective device. Figure 6AQ In the implementation described herein, the TV application is installed on Jane's device 6000B, and Jane has previously purchased or otherwise obtained any subscriptions required to watch "Episode 1". However, if Jane's device does not have the required application or subscription, Jane's device 6000B prompts Jane to obtain the application and / or subscription, as discussed in more detail below.

[0306] In some implementations, when content is shared in a shared content session while a video call or video conferencing session is active, the representations of the participants in the video call are displayed simultaneously with the representations of the shared content. For example, in Figure 6AQ In the example, John and Jane's devices 6000 are conducting a video conference with Mountain in a shared content session. Therefore, John's device displays both Video PiP 6235 and Media PiP 6150A simultaneously. Because Jane's device already displays the video feed of the remote participants in the video conferencing interface 6170B, Jane's device does not display additional representations of the remote participants in this video call. In some implementations, the participants depicted in the video PiP are the most currently active or most recently active remote participants in the shared content session. Figure 6AQ In the video feed, John's device 6000A displays Jane's video feed in the video PiP 6235, because it is based on... Figure 6AP In the activity where Jane speaks to the group of climbers, Jane is the most active (or most recently active) participant. In some im...

Claims

1. A computer system configured to communicate with one or more output generation components and one or more input devices, the computer system comprising: One or more processors; as well as The memory stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for the following operations: During a shared content session between the computer system and one or more external computer systems, wherein the shared content session enables the computer system to output corresponding content, and the corresponding content is output by the one or more external computer systems: Multiple application interface areas are simultaneously displayed in the user interface via the one or more output generation components, including displaying at least a portion of a first application interface area and at least a portion of a second application interface area, wherein the first application interface area at least partially overlaps the second application interface area and / or is at least partially overlapped by the second application interface area. Receive, via the one or more input devices, a set or more of inputs from the user of the computer system corresponding to a request to add an application interface to the shared content session; as well as In response to receiving a first input from the set of one or more inputs, a first graphical user interface object is displayed in the user interface at a location visually associated with the first application interface area via the one or more output generation components. The first graphical user interface object can be selected to add the first application interface area to the shared content session without adding the second application interface area to the shared content session, wherein the first graphical user interface object is not visually associated with the second application interface area.

2. The computer system of claim 1, wherein the one or more programs further include instructions for the following operations: Receive input via the one or more input devices; and In response to receiving the input: Based on the determined input pointing to the first application interface area, the first application interface area with visual effects is displayed, while the second application interface area without the visual effects is simultaneously displayed; and Based on the determined input pointing to the second application interface area, the second application interface area with the stated visual effect is displayed, while the first application interface area without the stated visual effect is also displayed.

3. The computer system of claim 1, wherein the one or more programs further include instructions for performing the following operations: Receive input corresponding to a selection of the first application interface area or the second application interface area via the one or more input devices; and In response to receiving input corresponding to a selection of the first application interface area or the second application interface area: Based on the determination that the input is a selection of the first application interface area, and the first application interface area has a first appearance corresponding to a first arrangement of the first application interface area and the second application interface area, it is displayed that the first application interface area has a second appearance corresponding to a second arrangement of the first application interface area and the second application interface area, different from the first arrangement; and Based on the determination that the input is a selection of the second application interface area, and the second application interface area has a third appearance corresponding to the second arrangement of the first application interface area and the second application interface area, the second application interface area is displayed to have a fourth appearance corresponding to the first arrangement of the first application interface area and the second application interface area.

4. The computer system according to claim 3, wherein: Displaying the first application interface area with the second appearance based on the determined input is a selection of the first application interface area includes displaying the first application interface area with the second appearance without adding the first application interface area to the shared content session; as well as Displaying the second application interface area with the fourth appearance based on the determined input includes displaying the second application interface area with the fourth appearance without adding the second application interface area to the shared content session.

5. The computer system according to claim 3, wherein, The display of the first graphical interface object is performed based on determining that the first application interface area is located in the foreground area of ​​the user interface.

6. The computer system of claim 1, wherein the one or more programs further include instructions for performing the following operations: During the shared content session activity between the computer system and one or more external computer systems: Receive input directed to the first graphical interface object via the one or more input devices; and In response to receiving input directed to the first graphical interface object, the first application interface area is added to the shared content session, but the second application interface area is not added to the shared content session.

7. The computer system of claim 1, wherein the one or more programs further include instructions for performing the following operations: In response to receiving a second input from the set of one or more inputs, and before displaying the first graphical interface object, simultaneously display: A first sharing option may be selected to indicate the process of adding a user interface including the plurality of application interface areas to the shared content session; and A second sharing option may be selected to initiate a process for adding the first application interface area or the second application interface area to the shared content session.

8. The computer system of claim 1, wherein the one or more programs further include instructions for performing the following operations: When a shared content session is active between the computer system and one or more external computer systems and the first application interface area is in the shared content session, the first application interface area is displayed, including a shared state enablement, which can be selected to display one or more options for performing a corresponding function associated with the shared content session.

9. The computer system according to claim 8, wherein, At least a portion of the shared state indication is displayed at a location in the first application interface area, the location including a first group of one or more controls, which can be selected to change the display of the first application interface area when the first application interface area is not added to the shared content session.

10. The computer system of claim 8, wherein the one or more programs further include instructions for performing the following operations: When displaying the first application interface area including the shared state indication, a selection of the shared state indication is received; and In response to receiving the selection of the shared state enablement, one or more options are displayed for performing the corresponding function associated with the shared content session.

11. The computer system of claim 1, wherein the one or more programs further include instructions for performing the following operations: When the shared content session is active between the computer system and one or more external computer systems and the first application interface area is added to the shared content session, a shared content session object including a representation of the first application interface area is displayed.

12. The computer system according to claim 11, wherein, The shared content session object, which includes a representation of the first application interface area, includes a representation of the shared status enabled shown in the first application interface area.

13. The computer system according to claim 11, wherein, Displaying the shared content session object includes displaying a third option, which can be selected to disable media output at the computer system during the shared content session. The one or more programs also include instructions for: During the shared content session activity between the computer system and one or more external computer systems, and while the first media content is being output at the computer system and simultaneously output by the one or more external computer systems, the selection of the third option is detected; as well as In response to the detection of the selection of the third option, the output of the first media content at the computer system is terminated while the shared content session remains active.

14. The computer system according to claim 1, wherein, The group of one or more inputs corresponding to the request to add the application interface to the shared content session includes the selection of the shared capability representation displayed in the video conferencing application interface.

15. A non-transitory 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 output generation components and one or more input devices, the one or more programs including instructions for: During a shared content session between the computer system and one or more external computer systems, wherein the shared content session enables the computer system to output corresponding content, and the corresponding content is output by the one or more external computer systems: Multiple application interface areas are simultaneously displayed in the user interface via the one or more output generation components, including displaying at least a portion of a first application interface area and at least a portion of a second application interface area, wherein the first application interface area at least partially overlaps the second application interface area and / or is at least partially overlapped by the second application interface area. Receive, via the one or more input devices, a set or more of inputs from the user of the computer system corresponding to a request to add an application interface to the shared content session; as well as In response to receiving a first input from the set of one or more inputs, a first graphical user interface object is displayed in the user interface at a location visually associated with the first application interface area via the one or more output generation components. The first graphical user interface object can be selected to add the first application interface area to the shared content session without adding the second application interface area to the shared content session, wherein the first graphical user interface object is not visually associated with the second application interface area.

16. A method, the method comprising: At a computer system that communicates with one or more output generation components and one or more input devices: During a shared content session between the computer system and one or more external computer systems, wherein the shared content session enables the computer system to output corresponding content, and the corresponding content is output by the one or more external computer systems: Multiple application interface areas are simultaneously displayed in the user interface via the one or more output generation components, including displaying at least a portion of a first application interface area and at least a portion of a second application interface area, wherein the first application interface area at least partially overlaps the second application interface area and / or is at least partially overlapped by the second application interface area. Receive, via the one or more input devices, a set or more of inputs from the user of the computer system corresponding to a request to add an application interface to the shared content session; as well as In response to receiving a first input from the set of one or more inputs, a first graphical user interface object is displayed in the user interface at a location visually associated with the first application interface area via the one or more output generation components. The first graphical user interface object can be selected to add the first application interface area to the shared content session without adding the second application interface area to the shared content session, wherein the first graphical user interface object is not visually associated with the second application interface area.

17. The non-transitory computer-readable storage medium of claim 15, wherein the one or more programs include instructions for: Receive input via the one or more input devices; and In response to receiving the input: Based on the determined input pointing to the first application interface area, the first application interface area with visual effects is displayed, while the second application interface area without the visual effects is simultaneously displayed; and Based on the determined input pointing to the second application interface area, the second application interface area with the stated visual effect is displayed, while the first application interface area without the stated visual effect is also displayed.

18. The non-transitory computer-readable storage medium of claim 15, wherein the one or more programs include instructions for: Receive input corresponding to a selection of the first application interface area or the second application interface area via the one or more input devices; and In response to receiving input corresponding to a selection of the first application interface area or the second application interface area: Based on the determination that the input is a selection of the first application interface area, and the first application interface area has a first appearance corresponding to a first arrangement of the first application interface area and the second application interface area, it is displayed that the first application interface area has a second appearance corresponding to a second arrangement of the first application interface area and the second application interface area, different from the first arrangement; and Based on the determination that the input is a selection of the second application interface area, and the second application interface area has a third appearance corresponding to the second arrangement of the first application interface area and the second application interface area, the second application interface area is displayed to have a fourth appearance corresponding to the first arrangement of the first application interface area and the second application interface area.

19. The non-transitory computer-readable storage medium according to claim 18, wherein: Displaying the first application interface area with the second appearance based on the determined input is a selection of the first application interface area includes displaying the first application interface area with the second appearance without adding the first application interface area to the shared content session; as well as Displaying the second application interface area with the fourth appearance based on the determined input includes displaying the second application interface area with the fourth appearance without adding the second application interface area to the shared content session.

20. The non-transitory computer-readable storage medium according to claim 18, wherein, The display of the first graphical interface object is performed based on determining that the first application interface area is located in the foreground area of ​​the user interface.

21. The non-transitory computer-readable storage medium of claim 15, wherein the one or more programs further include instructions for performing the following operations: During the shared content session activity between the computer system and one or more external computer systems: Receive input directed to the first graphical interface object via the one or more input devices; and In response to receiving input directed to the first graphical interface object, the first application interface area is added to the shared content session, but the second application interface area is not added to the shared content session.

22. The non-transitory computer-readable storage medium of claim 15, wherein the one or more programs further include instructions for performing the following operations: In response to receiving a second input from the set of one or more inputs, and before displaying the first graphical interface object, simultaneously display: A first sharing option may be selected to indicate the process of adding a user interface including the plurality of application interface areas to the shared content session; and A second sharing option may be selected to initiate a process for adding the first application interface area or the second application interface area to the shared content session.

23. The non-transitory computer-readable storage medium of claim 15, wherein the one or more programs further include instructions for performing the following operations: When a shared content session is active between the computer system and one or more external computer systems and the first application interface area is in the shared content session, the first application interface area is displayed, including a shared state enablement, which can be selected to display one or more options for performing a corresponding function associated with the shared content session.

24. The non-transitory computer-readable storage medium according to claim 23, wherein, At least a portion of the shared state indication is displayed at a location in the first application interface area, the location including a first group of one or more controls, which can be selected to change the display of the first application interface area when the first application interface area is not added to the shared content session.

25. The non-transitory computer-readable storage medium of claim 23, wherein the one or more programs further include instructions for performing the following operations: When displaying the first application interface area including the shared state indication, a selection of the shared state indication is received; and In response to receiving the selection of the shared state enablement, one or more options are displayed for performing the corresponding function associated with the shared content session.

26. The non-transitory computer-readable storage medium of claim 15, wherein the one or more programs further include instructions for performing the following operations: When the shared content session is active between the computer system and one or more external computer systems and the first application interface area is added to the shared content session, a shared content session object including a representation of the first application interface area is displayed.

27. The non-transitory computer-readable storage medium according to claim 26, wherein, The shared content session object, which includes a representation of the first application interface area, includes a representation of the shared status enabled shown in the first application interface area.

28. The non-transitory computer-readable storage medium according to claim 26, wherein, Displaying the shared content session object includes displaying a third option, which can be selected to disable media output at the computer system during the shared content session. The one or more programs also include instructions for: During the shared content session activity between the computer system and one or more external computer systems, and while the first media content is being output at the computer system and simultaneously output by the one or more external computer systems, the selection of the third option is detected; as well as In response to the detection of the selection of the third option, the output of the first media content at the computer system is terminated while the shared content session remains active.

29. The non-transitory computer-readable storage medium according to claim 15, wherein, The group of one or more inputs corresponding to the request to add the application interface to the shared content session includes the selection of the shared capability representation displayed in the video conferencing application interface.

30. The method according to claim 16, further comprising: Receive input via the one or more input devices; as well as In response to receiving the input: Based on the determined input pointing to the first application interface area, the first application interface area with visual effects is displayed, while the second application interface area without the visual effects is displayed simultaneously. as well as Based on the determined input pointing to the second application interface area, the second application interface area with the stated visual effect is displayed, while the first application interface area without the stated visual effect is also displayed.

31. The method according to claim 16, further comprising: Receive input corresponding to a selection of the first application interface area or the second application interface area via the one or more input devices; as well as In response to receiving input corresponding to a selection of the first application interface area or the second application interface area: Based on the determination that the input is a selection of the first application interface area, and the first application interface area has a first appearance corresponding to a first arrangement of the first application interface area and the second application interface area, it is displayed that the first application interface area has a second appearance corresponding to a second arrangement of the first application interface area and the second application interface area that is different from the first arrangement. as well as Based on the determination that the input is a selection of the second application interface area, and the second application interface area has a third appearance corresponding to the second arrangement of the first application interface area and the second application interface area, the second application interface area is displayed to have a fourth appearance corresponding to the first arrangement of the first application interface area and the second application interface area.

32. The method according to claim 31, wherein: Displaying the first application interface area with the second appearance based on the determined input is a selection of the first application interface area includes displaying the first application interface area with the second appearance without adding the first application interface area to the shared content session; as well as Displaying the second application interface area with the fourth appearance based on the determined input includes displaying the second application interface area with the fourth appearance without adding the second application interface area to the shared content session.

33. The method according to claim 31, wherein, The display of the first graphical interface object is performed based on determining that the first application interface area is located in the foreground area of ​​the user interface.

34. The method according to claim 16, further comprising: During the shared content session activity between the computer system and one or more external computer systems: Receive input directed to the first graphical interface object via the one or more input devices; as well as In response to receiving input directed to the first graphical interface object, the first application interface area is added to the shared content session, but the second application interface area is not added to the shared content session.

35. The method according to claim 16, further comprising: In response to receiving a second input from the set of one or more inputs, and before displaying the first graphical interface object, simultaneously display: A first sharing option may be selected to indicate the process of adding a user interface that includes the plurality of application interface areas to the shared content session; as well as A second sharing option may be selected to initiate a process for adding the first application interface area or the second application interface area to the shared content session.

36. The method according to claim 16, further comprising: When a shared content session is active between the computer system and one or more external computer systems and the first application interface area is in the shared content session, the first application interface area is displayed, including a shared state enablement, which can be selected to display one or more options for performing a corresponding function associated with the shared content session.

37. The method of claim 36, wherein, At least a portion of the shared state indication is displayed at a location in the first application interface area, the location including a first group of one or more controls, which can be selected to change the display of the first application interface area when the first application interface area is not added to the shared content session.

38. The method of claim 36, further comprising: When displaying the first application interface area including the shared state indication, a selection of the shared state indication is received; as well as In response to receiving the selection of the shared state enablement, one or more options are displayed for performing the corresponding function associated with the shared content session.

39. The method according to claim 16, further comprising: When the shared content session is active between the computer system and one or more external computer systems and the first application interface area is added to the shared content session, a shared content session object including a representation of the first application interface area is displayed.

40. The method according to claim 39, wherein, The shared content session object, which includes a representation of the first application interface area, includes a representation of the shared status enabled shown in the first application interface area.

41. The method according to claim 39, wherein, Displaying the shared content session object includes displaying a third option, which can be selected to disable media output at the computer system during the shared content session, and the method further includes: During the shared content session activity between the computer system and one or more external computer systems, and while the first media content is being output from the computer system and simultaneously output from the one or more external computer systems, the selection of the third option is detected; and In response to the detection of the selection of the third option, the output of the first media content at the computer system is terminated while the shared content session remains active.

42. The method according to claim 16, wherein, The group of one or more inputs corresponding to the request to add the application interface to the shared content session includes the selection of the shared capability representation displayed in the video conferencing application interface.

Citation Information

Patent Citations

  • Method and apparatus for integrating manual input

    US20020015024A1

  • Gestures for touch sensitive input devices

    US20060026521A1

  • Gestures for touch sensitive input devices

    US20060026536A1

  • Virtual input device placement on a touch screen user interface

    US20060033724A1

  • Multipoint touchscreen

    US20060097991A1