User interface for camera sharing

Through simplified user interface and methods, the problem of inefficient camera sharing management in the prior art is solved, and more efficient user experience and battery power management are achieved.

CN119544911APending Publication Date: 2025-02-28APPLE INC
View PDF 17 Cites 0 Cited by

Patent Information

Application Number
CN202411590187.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-12-07
Filing Date
2023-04-03
Publication Date
2025-02-28

AI Technical Summary

Technical Problem

The prior art uses to manage camera sharing among devices to have problems with inefficiency and poor user experience, especially in battery-powered devices where complex user interfaces lead to waste of resources.

Method used

Provides a faster and more efficient user interface and method to select cameras and set video feeds by displaying the system user interface, simplifying user operations and improving camera sharing management efficiency between devices.

Benefits of technology

It reduces the cognitive burden of users, improves user privacy and human-computer interface efficiency, saves battery power and extends the battery life of the device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119544911A_ABST
    Figure CN119544911A_ABST
Patent Text Reader

Abstract

The present disclosure provides a user interface for camera sharing. The present disclosure generally relates to techniques for managing camera sharing between devices. In some embodiments, a first computer system displays a system interface having a set of camera options for a second computer system and an option to select a camera of the second computer system for generating a video feed at the first computer system. In some embodiments, a first computer system is in a first mode of operation that provides video information to a second computer system, and the first computer system receives an input and switches to a second mode of operation and stops providing the video information to the second computer system. In some embodiments, a first computer system determines whether to automatically set a camera of a second computer system as a system camera for the first computer system based on device proximity.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the Chinese invention patent application with an application date of April 3, 2023, national application number 202380032372.X, and invention name “User Interface for Camera Sharing”.

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS

[0003] This application claims priority to U.S. Provisional Patent Application No. 63 / 327,279, entitled “USER INTERFACES FOR CAMERA SHARING,” filed on April 4, 2022, and U.S. Patent Application No. 18 / 077,154, entitled “USER INTERFACES FOR CAMERA SHARING,” filed on December 7, 2022. The contents of each of these patent applications are incorporated herein by reference in their entirety. Technical Field

[0004] The present disclosure relates generally to computer user interfaces and, more particularly, to techniques for managing camera sharing between devices. Background Art

[0005] The computer system may include hardware and / or software for displaying interfaces for various types of communications and information sharing. Summary of the invention

[0006] However, some techniques for managing camera sharing using electronic devices are often cumbersome and inefficient. For example, some prior art techniques use complex and time-consuming user interfaces that may include multiple keystrokes or keystrokes. Prior art techniques require more time than necessary, which results in wasted user time and device energy. This latter consideration is particularly important in battery-powered devices.

[0007] Thus, the present technology provides electronic devices with faster, more efficient methods and interfaces for managing camera sharing between devices. Such methods and interfaces optionally supplement or replace other methods for managing camera sharing between devices. Such methods and interfaces reduce the cognitive burden on users, improve user privacy, and produce more efficient human-computer interfaces. For battery-powered computing devices, such methods and interfaces save power and increase the time interval between battery charges.

[0008] According to some embodiments, a method is performed at a first computer system that communicates with one or more display generation components and one or more input devices. The method includes: displaying a system user interface for the first computer system via the one or more display generation components, wherein the system user interface is associated with options for selecting one or more cameras for use with the first computer system, and wherein displaying the system user interface includes simultaneously displaying: a camera selection option for selecting video information captured by one or more cameras of a second computer system separate from the first computer system to generate a video feed for the first computer system; and a set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system; and when the system user interface is displayed, displaying the system user interface includes simultaneously displaying the camera selection option and the set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system. one or more options, receiving one or more inputs directed to the system user interface via the one or more input devices; and in response to receiving the one or more inputs directed to the system user interface: based on determining that the one or more inputs correspond to a selection of a corresponding option in the group of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system, changing the settings corresponding to the corresponding option for the one or more cameras of the second computer system when the video information of the one or more cameras of the second computer system is used to generate a video feed for the first computer system; and based on determining that the one or more inputs correspond to a selection of the camera selection option, selecting the video information captured by the one or more cameras of the second computer system to be used to generate a video feed for the first computer system.

[0009] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a first computer system in communication with one or more display generation components and one or more input devices, the one or more programs including instructions for the following operations: displaying a system user interface for the first computer system via the one or more display generation components, wherein the system user interface is associated with options for selecting one or more cameras for use with the first computer system, and wherein displaying the system user interface includes simultaneously displaying: a camera selection option for selecting video information captured by one or more cameras of a second computer system separate from the first computer system to generate a video feed for the first computer system; and a set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system; and when the system user interface is displayed, displaying the system user interface includes simultaneously displaying the camera selection option The system system of claim 1, wherein the one or more input devices are configured to receive one or more inputs to the system user interface via the one or more input devices based on the one or more input devices corresponding to a selection of a corresponding option in the group of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system, changing the settings corresponding to the corresponding options for the one or more cameras of the second computer system when the video information of the one or more cameras of the second computer system is used to generate a video feed for the first computer system; and selecting the video information captured by the one or more cameras of the second computer system to be used to generate a video feed for the first computer system based on the one or more inputs corresponding to a selection of the camera selection option.

[0010] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a first computer system in communication with one or more display generation components and one or more input devices, the one or more programs including instructions for the following operations: displaying a system user interface for the first computer system via the one or more display generation components, wherein the system user interface is associated with options for selecting one or more cameras for use with the first computer system, and wherein displaying the system user interface includes simultaneously displaying: a camera selection option for selecting video information captured by one or more cameras of a second computer system separate from the first computer system to generate a video feed for the first computer system; and a set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system; and when the system user interface is displayed, displaying the system user interface includes simultaneously displaying the camera selection option The system system of claim 1, wherein the one or more input devices are configured to receive one or more inputs to the system user interface via the one or more input devices based on the one or more input devices corresponding to a selection of a corresponding option in the group of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system, changing the settings corresponding to the corresponding options for the one or more cameras of the second computer system when the video information of the one or more cameras of the second computer system is used to generate a video feed for the first computer system; and selecting the video information captured by the one or more cameras of the second computer system to be used to generate a video feed for the first computer system based on the one or more inputs corresponding to a selection of the camera selection option.

[0011] According to some embodiments, a first 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 first 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 the following operations: displaying a system user interface for the first computer system via the one or more display generation components, wherein the system user interface is associated with options for selecting one or more cameras for use with the first computer system, and wherein displaying the system user interface includes simultaneously displaying: a camera selection option for selecting video information captured by one or more cameras of a second computer system separate from the first computer system to generate a video feed for the first computer system; and a set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system; and when the system user interface is displayed, displaying the system user interface includes simultaneously displaying the camera selection option and the camera settings for the first computer system; The invention relates to a method of controlling a user interface of the system of claim 1 wherein the one or more input devices are configured to receive one or more inputs directed to a user interface of the system via the one or more input devices, and in response to receiving the one or more inputs directed to the user interface of the system: based on determining that the one or more inputs correspond to a selection of a corresponding option in the group of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system, changing the settings corresponding to the corresponding options for the one or more cameras of the second computer system when the video information from the one or more cameras of the second computer system is used to generate a video feed for the first computer system; and based on determining that the one or more inputs correspond to a selection of the camera selection option, selecting the video information captured by the one or more cameras of the second computer system to be used to generate a video feed for the first computer system.

[0012] According to some embodiments, a first computer system is described. The first computer system is configured to communicate with one or more display generation components and one or more input devices. The first computer system includes: a device for the following operations: displaying a system user interface for the first computer system via the one or more display generation components, wherein the system user interface is associated with options for selecting one or more cameras for use with the first computer system, and wherein displaying the system user interface includes simultaneously displaying: a camera selection option for selecting video information captured by one or more cameras of a second computer system separate from the first computer system to generate a video feed for the first computer system; and a set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system; and a device for the following operations: when the system user interface is displayed, displaying the system user interface includes simultaneously displaying the camera selection option and the camera settings for the video information captured by the one or more cameras of the second computer system. the one or more input devices being configured to receive one or more inputs directed to the system user interface; and means for: in response to receiving the one or more inputs directed to the system user interface: based on determining that the one or more inputs correspond to a selection of a corresponding option in the group of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system, changing the settings corresponding to the corresponding option for the one or more cameras of the second computer system when the video information of the one or more cameras of the second computer system is used to generate a video feed for the first computer system; and based on determining that the one or more inputs correspond to a selection of the camera selection option, selecting the video information captured by the one or more cameras of the second computer system to be used to generate a video feed for the first computer system.

[0013] 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 first computer system in communication with one or more display generation components and one or more input devices, the one or more programs including instructions for the following operations: displaying a system user interface for the first computer system via the one or more display generation components, wherein the system user interface is associated with options for selecting one or more cameras for use with the first computer system, and wherein displaying the system user interface includes simultaneously displaying: a camera selection option for selecting video information captured by one or more cameras of a second computer system separate from the first computer system to generate a video feed for the first computer system; and a set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system; and when the system user interface is displayed, displaying the system user interface includes simultaneously displaying the camera selection option and the set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system, receiving one or more inputs directed to the system user interface via the one or more input devices; and in response to receiving the one or more inputs directed to the system user interface: based on determining that the one or more inputs correspond to a selection of a corresponding option in the set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system, changing the settings corresponding to the corresponding option for the one or more cameras of the second computer system when the video information of the one or more cameras of the second computer system is used to generate a video feed for the first computer system; and based on determining that the one or more inputs correspond to a selection of the camera selection option, selecting the video information captured by the one or more cameras of the second computer system for use in generating a video feed for the first computer system.

[0014] According to some embodiments, a method is performed at a first computer system in communication with one or more cameras and one or more input devices. The method includes: when the first computer system is in a first operating mode, in the first operating mode, the first computer system provides video information captured by the one or more cameras of the first computer system to a second computer system for generating a video feed for the second computer system: receiving a set of one or more inputs corresponding to a request to switch the operating mode of the first computer system via the one or more input devices; and in response to receiving the set of one or more inputs corresponding to the request to switch the operating mode of the first computer system: switching to the second operating mode of the first computer system and stopping providing the video information captured by the one or more cameras of the first computer system to the second computer system based on determining that the set of one or more inputs corresponds to a request to switch to a second operating mode of the first computer system that is different from the first operating mode.

[0015] 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 first computer system in communication with one or more cameras and one or more input devices, the one or more programs including instructions for the following operations: when the first computer system is in a first operating mode, in the first operating mode, the first computer system provides video information captured by the one or more cameras of the first computer system to a second computer system for generating a video feed for the second computer system: receiving a set of one or more inputs corresponding to a request to switch the operating mode of the first computer system via the one or more input devices; and in response to receiving the set of one or more inputs corresponding to the request to switch the operating mode of the first computer system: switching to the second operating mode of the first computer system and stopping providing the video information captured by the one or more cameras of the first computer system to the second computer system based on determining that the set of one or more inputs corresponds to a request to switch to a second operating mode of the first computer system that is different from the first operating mode.

[0016] 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 first computer system in communication with one or more cameras and one or more input devices, the one or more programs including instructions for the following operations: when the first computer system is in a first operating mode, in the first operating mode, the first computer system provides video information captured by the one or more cameras of the first computer system to a second computer system for generating a video feed for the second computer system: receiving a set of one or more inputs corresponding to a request to switch the operating mode of the first computer system via the one or more input devices; and in response to receiving the set of one or more inputs corresponding to the request to switch the operating mode of the first computer system: switching to the second operating mode of the first computer system and stopping providing the video information captured by the one or more cameras of the first computer system to the second computer system based on determining that the set of one or more inputs corresponds to a request to switch to a second operating mode of the first computer system that is different from the first operating mode.

[0017] According to some embodiments, a first computer system is described. The computer system is configured to communicate with one or more cameras and one or more input devices. The first 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 the following operations: when the first computer system is in a first operating mode, in the first operating mode, the first computer system provides video information captured by the one or more cameras of the first computer system to a second computer system for generating a video feed for the second computer system: receiving a set of one or more inputs corresponding to a request to switch the operating mode of the first computer system via the one or more input devices; and in response to receiving the set of one or more inputs corresponding to the request to switch the operating mode of the first computer system: according to determining that the set of one or more inputs corresponds to a request to switch to a second operating mode of the first computer system different from the first operating mode, switch to the second operating mode of the first computer system and stop providing the video information captured by the one or more cameras of the first computer system to the second computer system.

[0018] According to some embodiments, a first computer system is described. The first computer system is configured to communicate with one or more cameras and one or more input devices. The first computer system includes: a device for the following operations: when the first computer system is in a first operating mode, in the first operating mode, the first computer system provides video information captured by the one or more cameras of the first computer system to a second computer system for generating a video feed for the second computer system: receiving a set of one or more inputs corresponding to a request to switch the operating mode of the first computer system via the one or more input devices; and a device for the following operations: in response to receiving the set of one or more inputs corresponding to the request to switch the operating mode of the first computer system: according to determining that the set of one or more inputs corresponds to a request to switch to a second operating mode of the first computer system that is different from the first operating mode, switching to the second operating mode of the first computer system and stopping providing the video information captured by the one or more cameras of the first computer system to the second computer system.

[0019] 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 first computer system in communication with one or more cameras and one or more input devices, the one or more programs including instructions for the following operations: when the first computer system is in a first operating mode, in the first operating mode, the first computer system provides video information captured by the one or more cameras of the first computer system to a second computer system for generating a video feed for the second computer system: receiving a set of one or more inputs corresponding to a request to switch an operating mode of the first computer system via the one or more input devices; and in response to receiving the set of one or more inputs corresponding to the request to switch an operating mode of the first computer system: switching to the second operating mode of the first computer system and ceasing to provide the video information captured by the one or more cameras of the first computer system to the second computer system based on determining that the set of one or more inputs corresponds to a request to switch to a second operating mode of the first computer system that is different from the first operating mode.

[0020] According to some embodiments, a method is performed at a first computer system in communication with one or more display generation components and one or more input devices. The method includes: receiving a request to display a video feed interface for the first computer system via the one or more input devices; and in response to receiving the request to display the video feed interface, displaying the video feed interface, including: displaying the video feed interface with content corresponding to the second computer system based on determining that the second computer system meets a first set of one or more criteria, wherein the first set of one or more criteria includes such a requirement that the second computer system is within a first threshold distance of the first computer system in order to meet the first set of one or more criteria; and displaying the video feed interface without content corresponding to the second computer system based on determining that the second computer system does not meet the first set of one or more criteria.

[0021] 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 first computer system in communication with one or more display generation components and one or more input devices, the one or more programs including instructions for the following operations: receiving a request to display a video feed interface for the first computer system via the one or more input devices; and in response to receiving the request to display the video feed interface, displaying the video feed interface, including: displaying the video feed interface with content corresponding to the second computer system based on determining that the second computer system meets a first set of one or more criteria, wherein the first set of one or more criteria includes such a requirement that the second computer system is within a first threshold distance of the first computer system so as to meet the first set of one or more criteria; and displaying the video feed interface without content corresponding to the second computer system based on determining that the second computer system does not meet the first set of one or more criteria.

[0022] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a first computer system in communication with one or more display generation components and one or more input devices, the one or more programs including instructions for the following operations: receiving a request to display a video feed interface for the first computer system via the one or more input devices; and in response to receiving the request to display the video feed interface, displaying the video feed interface, including: displaying the video feed interface with content corresponding to the second computer system based on determining that the second computer system meets a first set of one or more criteria, wherein the first set of one or more criteria includes such a requirement that the second computer system is within a first threshold distance of the first computer system in order to meet the first set of one or more criteria; and displaying the video feed interface without content corresponding to the second computer system based on determining that the second computer system does not meet the first set of one or more criteria.

[0023] According to some embodiments, a first 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 first computer system includes: one or more processors; and a memory, the memory storing 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: receiving a request to display a video feed interface for the first computer system via the one or more input devices; and in response to receiving the request to display the video feed interface, displaying the video feed interface, including: displaying the video feed interface with content corresponding to the second computer system according to determining that the second computer system meets the first set of one or more criteria, wherein the first set of one or more criteria includes such a requirement: the second computer system is within a first threshold distance of the first computer system so as to meet the first set of one or more criteria; and displaying the video feed interface without content corresponding to the second computer system according to determining that the second computer system does not meet the first set of one or more criteria.

[0024] According to some embodiments, a first computer system is described. The first computer system is configured to communicate with one or more display generation components and one or more input devices. The first computer system includes: a device for the following operations: receiving a request to display a video feed interface for the first computer system via the one or more input devices; and a device for the following operations: in response to receiving the request to display the video feed interface, displaying the video feed interface, including: displaying the video feed interface with content corresponding to the second computer system according to determining that the second computer system meets the first set of one or more criteria, wherein the first set of one or more criteria includes such a requirement: the second computer system is within a first threshold distance of the first computer system so as to meet the first set of one or more criteria; and displaying the video feed interface without content corresponding to the second computer system according to determining that the second computer system does not meet the first set of one or more criteria.

[0025] 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 first computer system in communication with one or more display generation components and one or more input devices, the one or more programs including instructions for the following operations: receiving a request to display a video feed interface for the first computer system via the one or more input devices; and in response to receiving the request to display the video feed interface, displaying the video feed interface, including: based on determining that the second computer system meets a first set of one or more criteria, displaying the video feed interface with content corresponding to the second computer system, wherein the first set of one or more criteria includes such a requirement that the second computer system is within a first threshold distance of the first computer system in order to meet the first set of one or more criteria; and based on determining that the second computer system does not meet the first set of one or more criteria, displaying the video feed interface without content corresponding to the second computer system.

[0026] Executable instructions for performing these functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Executable instructions for performing these functions are optionally included in a transient computer-readable storage medium or other computer program product configured for execution by one or more processors.

[0027] Thus, devices are provided with faster, more efficient methods and interfaces for managing camera sharing between devices, thereby increasing the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces may supplement or replace other methods for managing camera sharing between devices. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, wherein like reference numerals designate corresponding parts throughout the several views.

[0029] Figure 1A is a block diagram illustrating a portable multifunction device with a touch-sensitive display according to some embodiments.

[0030] Figure 1B is a block diagram illustrating exemplary components for event processing according to some embodiments.

[0031] Figure 2 A portable multifunction device with a touch screen according to some embodiments is illustrated.

[0032] Figure 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments.

[0033] Figure 4A An exemplary user interface for a menu of applications on a portable multifunction device according to some embodiments is illustrated.

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

[0035] Figure 5A Personal electronic devices according to some embodiments are illustrated.

[0036] Figure 5B is a block diagram illustrating a personal electronic device according to some embodiments.

[0037] Figure 5C An exemplary diagram of a communication session between electronic devices according to some embodiments is illustrated.

[0038] FIG. 6A to FIG. 6R An exemplary user interface for managing camera sharing between devices according to some embodiments is illustrated.

[0039] Fig. 7A and Figure 7B A flowchart illustrating a method for managing camera sharing between devices according to some embodiments is depicted.

[0040] Figure 8 A flowchart illustrating a method for managing camera sharing between devices according to some embodiments is depicted.

[0041] FIG. 9A to FIG. 9KAn exemplary user interface for managing camera sharing between devices according to some embodiments is illustrated.

[0042] Fig.10 A flowchart illustrating a method for managing camera sharing between devices according to some embodiments is depicted. DETAILED DESCRIPTION

[0043] The following description sets forth exemplary methods, parameters, etc. However, it should be appreciated that such description is not intended to limit the scope of the present disclosure, but is provided as a description of exemplary embodiments.

[0044] There is a need for electronic devices that can provide efficient methods and interfaces for managing camera sharing between devices. Such techniques can reduce the cognitive burden on users who share camera information between devices, thereby increasing productivity. In addition, such techniques can reduce processor power and battery power that would otherwise be wasted on redundant user input.

[0045] under, Figure 1A to Figure 1B , Figure 2 , Figure 3 , FIG. 4A to FIG. 4B and FIG. 5A to FIG. 5C A description of example devices for performing techniques for managing camera sharing between devices is provided. FIG. 6A to FIG. 6R An exemplary user interface for managing camera sharing between devices is illustrated. Fig. 7A and Figure 7B is a flowchart illustrating a method of managing camera sharing between devices according to some embodiments. Figure 8 is a flowchart illustrating a method of managing camera sharing between devices according to some embodiments. FIG. 6A to FIG. 6R The user interface in is used to illustrate the process described below, including Fig. 7A , Figure 7B and Figure 8 process. FIG. 9A to FIG. 9K An exemplary user interface for managing camera sharing between devices is illustrated. Fig.10 is a flowchart illustrating a method of managing camera sharing between devices according to some embodiments. FIG. 9A to FIG. 9K The user interface in is used to illustrate the process described below, including Fig.10 process.

[0046] The processes described below enhance the operability of the device and make the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device) through various techniques, including by providing improved visual feedback to the user, reducing the number of inputs required to perform an operation, providing additional control options without cluttering the user interface with additional display controls, performing an operation without further user input when a set of conditions have been met, providing improved security and / or privacy, improving the ease of use of the electronic device, and / or additional techniques. These techniques also reduce power usage and extend the battery life of the device by enabling the user to use the device more quickly and more efficiently.

[0047] In addition, in the method described herein where one or more steps depend on one or more conditions being met, it should be understood that the method can be repeated in multiple repetitions so that in the process of repetition, all conditions for determining the steps in the method have been met in different repetitions of the method. For example, if the method needs to perform the first step (if the condition is met), and perform the second step (if the condition is not met), then the ordinary technician will know that the steps stated are repeated until both the condition is met and the condition is not met (in no particular order). Therefore, the method described as having one or more steps depending on one or more conditions being met can be rewritten as a method of repeating until each condition described in the method is met. However, this does not require the system or computer-readable medium to declare that the system or computer-readable medium contains instructions for performing a contingent operation based on the satisfaction of the corresponding one or more conditions, and is therefore able to determine whether the possible situation has been met without explicitly repeating the steps of the method until all conditions for determining the steps in the method have been met. It will also be understood by ordinary technicians in the art that, similar to the method with the contingent step, the system or computer-readable storage medium can repeat the steps of the method as many times as needed to ensure that all the contingent steps have been performed.

[0048] 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 element. For example, a first touch can be named a second touch and similarly a second touch can be named a first touch without departing from the scope of the various described embodiments. In some embodiments, the first touch and the second touch are two separate references to the same touch. In some embodiments, both the first touch and the second touch are touches, but they are not the same touch.

[0049] The terms used in the description of various described embodiments herein are only for the purpose of describing specific embodiments, and are not intended to be limited. As used in the description of various described embodiments and in the appended claims, the singular forms "one" and "the" are intended to also include plural forms, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" used herein refers to and encompasses any and all possible combinations of one or more items in the associated listed items. It will also be understood that the terms "including" and / or "comprising" when used in this specification specify the presence of stated features, integers, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or their grouping.

[0050] The term "if" is optionally interpreted to mean "when," "upon," or "in response to determining," or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined that ..." or "if [a stated condition or event] is detected" are optionally interpreted to mean "upon determining that ..." or "in response to determining that ..." or "upon detecting [a stated condition or event]," or "in response to detecting [a stated condition or event]," depending on the context.

[0051] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described herein. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions, such as a PDA and / or a music player function. Exemplary embodiments of portable multifunction devices include, but are not limited to, the Apple Watch from Apple Inc. (Cupertino, California). Devices, iPod Equipment and Device. Optionally use other portable electronic devices, such as laptops or tablet computers with touch-sensitive surfaces (e.g., touch screen displays and / or touch pads). It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer with a touch-sensitive surface (e.g., touch screen displays and / or touch pads). In some embodiments, the electronic device is a computer system that communicates with the display generation component (e.g., via wireless communication, via wired communication). The display generation component is configured to provide visual output, such as display via a CRT display, display via an LED display, or display via image projection. In some embodiments, the display generation component is integrated with the computer system. In some embodiments, the display generation component is separated from the computer system. As used herein, "display" content includes transmitting data (e.g., image data or video data) to an integrated or external display generation component via a wired or wireless connection to visually generate content to display content (e.g., video data rendered or decoded by display controller 156).

[0052] 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 optionally includes one or more other physical user interface devices, such as a physical keyboard, mouse and / or joystick.

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

[0054] Various applications executed 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 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 common physical architecture of the device (such as a touch-sensitive surface) optionally supports various applications with a user interface that is intuitive and clear to the user.

[0055] Attention is now turned to embodiments of portable devices having touch-sensitive displays. Figure 1A1 is a block diagram illustrating a portable multifunction device 100 with a touch-sensitive display system 112 according to some embodiments. The touch-sensitive display 112 is sometimes referred to as a "touch screen" for convenience, and is sometimes referred to as or referred to as a "touch-sensitive display system." The 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 device interface 118, an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input control devices 116, and an external port 124. The device 100 optionally includes one or more optical sensors 164. The device 100 optionally includes one or more contact force sensors 165 for detecting the intensity of contact on the device 100 (e.g., a touch-sensitive surface, such as the touch-sensitive display system 112 of the device 100). Device 100 optionally includes one or more tactile output generators 167 for generating tactile output on device 100 (e.g., generating tactile output on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touch pad 355 of device 300). These components optionally communicate via one or more communication buses or signal lines 103.

[0056] As used in this specification and claims, the term "intensity" of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or to a surrogate (surrogate) of the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values ​​that includes at least four different values ​​and more typically includes hundreds of different values ​​(e.g., at least 256). The intensity of a 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 touch-sensitive surface are optionally used to measure the force at different points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., weighted average) to determine an estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and / or its change, the capacitance of the touch-sensitive surface near the contact and / or its change, and / or the resistance of the touch-sensitive surface near the contact and / or its change are optionally used as a substitute 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 the 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 the 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 the user input allows the user to access additional device functions that would otherwise be inaccessible to the user on a smaller device with limited real estate, which is used to display an enable indication (e.g., on a touch-sensitive display) and / or receive user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls, such as knobs or buttons).

[0057] As used in this specification and claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device, which will be detected by a user using the user's sense of touch. For example, in the case where a device or a component of the device is in contact with a user's touch-sensitive surface (e.g., a finger, palm, or other part of the user's hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in the physical properties of the device or component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is optionally interpreted by the user as a "press click" or "release click" to a physical actuation button. In some cases, the user will feel a tactile sensation, such as a "press click" or "release click", even when the physical actuation button associated with the touch-sensitive surface that is physically pressed (e.g., displaced) by the user's movement does not move. As another example, even when there is no change in the smoothness of the touch-sensitive surface, movement of the touch-sensitive surface may optionally be interpreted or sensed by the user as "roughness" of the touch-sensitive surface. Although such a user's interpretation of touch will be limited by the user's individualized sensory perceptions, many sensory perceptions of touch are common to most users. Therefore, when a tactile output is described as corresponding to a particular 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 a component thereof that would generate that sensory perception for a typical (or average) user.

[0058] It should be understood that device 100 is merely one example of a portable multifunction device, and that device 100 optionally has more or fewer components than shown, optionally combines two or more components, or optionally has a different configuration or arrangement of the components. Figure 1A The various components shown are implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing and / or application specific integrated circuits.

[0059] Memory 102 optionally includes high-speed random access memory, and optionally also 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.

[0060] The peripheral device interface 118 can be used to couple the input peripheral devices and output peripheral devices of the device to the CPU 120 and the 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 the memory 102 to perform various functions of the device 100 and process data. In some embodiments, the peripheral device interface 118, the CPU 120, and the memory controller 122 are optionally implemented on a single chip such as the chip 104. In some other embodiments, they are optionally implemented on separate chips.

[0061] RF (radio frequency) circuit 108 receives and sends RF signals, also referred to as electromagnetic signals. RF circuit 108 converts electrical signals into / converts electromagnetic signals into electrical signals, and communicates with communication networks and other communication devices via electromagnetic signals. RF circuit 108 optionally includes well-known circuits 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, user identity modules (SIM) cards, memories, and the like. RF circuit 108 optionally communicates with networks and other devices via wireless communications, such as the Internet (also referred to as the World Wide Web (WWW)), intranets, and / or wireless networks (such as cellular telephone networks, wireless local area networks (LANs), and / or metropolitan area networks (MANs)). RF circuit 108 optionally includes well-known circuits for detecting near field communications (NFC) fields, such as through short-range communication radio components. Wireless communication optionally uses 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, Data-Only (EV-DO), HSPA, HSPA+, Dual Cell 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), Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11c, IEEE 802.11d), IEEE 802.11e, IEEE 802.11f, IEEE 802.11g, IEEE 802.11h, IEEE 802.11j ... 11g, IEEE 802.11n and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, email protocols (e.g., Internet Message 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 Utilizing Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)) and / or Short Message Service (SMS), or any other suitable communication protocol including communication protocols that have not been developed as of the filing date of this document.

[0062] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between a user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts the audio data into electrical signals, and transmits the electrical signals to the speaker 111. The speaker 111 converts the electrical signals into sound waves audible to humans. The audio circuit 110 also receives electrical signals converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signals into audio data and transmits the audio data to the peripheral device interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripheral device interface 118. In some embodiments, the audio circuit 110 also includes a headset jack (e.g., Figure 2 The headset jack provides an interface between the audio circuit 110 and a removable audio input / output peripheral device, such as an output-only headset or a headset having both output (e.g., a single or dual-ear headset) and input (e.g., a microphone).

[0063] The I / O subsystem 106 couples input / output peripherals on the device 100, such as a touch screen 112 and other input control devices 116, to a peripheral device interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, a depth camera controller 169, an intensity sensor controller 159, a tactile feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive / send electrical signals from other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, etc. In some embodiments, the input controller 160 is optionally coupled to any of the following (or none of the following): a keyboard, an infrared port, a USB port, and a pointing device such as a mouse. One or more buttons (e.g., Figure 2 208) optionally includes an increase / decrease button for volume control of the speaker 111 and / or the microphone 113. The one or more buttons optionally include a push button (e.g., Figure 2206 in). In some embodiments, the electronic device is a computer system that communicates with one or more input devices (e.g., via wireless communication, 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 a user's gestures (e.g., hand gestures and / or air gestures) as input. In some embodiments, the one or more input devices are integrated with the computer system. In some embodiments, the one or more input devices are separate from the computer system. In some embodiments, an air gesture is a gesture that is detected without the user touching an input element that is part of the device (or independent of an input element that is part of the device) and is based on 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 (for example, 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 (for example, movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of the user's fingers relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (for example, a tap gesture involving a hand moving a predetermined amount and / or speed in a predetermined posture, or a shake gesture involving a predetermined speed or amount of rotation of a part of the user's body).

[0064] A quick press of the push button optionally disengages the lock of the touch screen 112 or optionally begins the process of unlocking the device using gestures on the touch screen, as described in U.S. Patent Application 11 / 322,549, filed on December 23, 2005, entitled "Unlocking a Device by Performing Gestures on an Unlock Image" (i.e., U.S. Patent No. 7,657,849), which is hereby incorporated by reference in its entirety. A long press of the push button (e.g., 206) optionally turns the device 100 on or off. The functions of one or more buttons are optionally user-customizable. The touch screen 112 is used to implement virtual buttons or soft buttons and one or more soft keyboards.

[0065] The touch-sensitive display 112 provides an input interface and an output interface between the device and the user. The display controller 156 receives electrical signals from the touch screen 112 and / or sends electrical signals to the touch screen. The touch screen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, videos, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.

[0066] The touch screen 112 has a touch-sensitive surface, sensor, or sensor group that accepts input from a user based on tactile and / or haptic contact. The touch screen 112 and display controller 156 (together with any associated modules and / or instruction sets in memory 102) detect contact (and any movement or interruption of the contact) on the touch screen 112 and convert the detected contact into interaction with a user interface object (e.g., one or more soft keys, icons, web pages, or images) displayed on the touch screen 112. In an exemplary embodiment, the point of contact between the touch screen 112 and the user corresponds to the user's finger.

[0067] The touch screen 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although other display technologies are used in other embodiments. The touch screen 112 and display controller 156 optionally use any of a variety of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch screen 112 to detect contact and any movement or interruption thereof. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as in the Apple ® from Apple Inc. (Cupertino, California). and iPod The technology used in.

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

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

[0070] The touch screen 112 optionally has a video resolution of more than 100 dpi. In some embodiments, the touch screen has a video resolution of about 160 dpi. The user optionally uses any suitable object or attachment such as a stylus, a finger, etc. to contact the touch screen 112. In some embodiments, the user interface is designed to work primarily through finger-based contacts and gestures, which may not be as accurate as stylus-based input due to the larger contact area of ​​the finger on the touch screen. In some embodiments, the device converts rough finger-based input into precise pointer / cursor positioning or commands for performing the actions desired by the user.

[0071] In some embodiments, in addition to the touch screen, the 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 touch screen, does not display visual output. The touchpad is optionally a touch-sensitive surface separate from the touch screen 112, or an extension of the touch-sensitive surface formed by the touch screen.

[0072] Device 100 also includes a power system 162 for powering the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, power fault detection circuits, power converters or inverters, power status indicators (e.g., light emitting diodes (LEDs)), and any other components associated with the generation, management, and distribution of power in a portable device.

[0073] Device 100 optionally also includes one or more optical sensors 164 . Figure 1AAn optical sensor coupled to an optical sensor controller 158 in the I / O subsystem 106 is shown. 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 the imaging module 143 (also called a camera module), the optical sensor 164 optionally captures a static image or video. In some embodiments, the optical sensor is located on the rear of the device 100, opposite to the touch screen display 112 on the front of the device, so that the touch screen display can be used as a viewfinder for static images and / or video image acquisition. In some embodiments, the optical sensor is located on the front of the device so that when the user views other video conference participants on the touch screen display, the image of the user is optionally obtained for video conferencing. In some embodiments, the positioning of the optical sensor 164 can be changed by the user (e.g., by rotating the lens and sensor in the device housing) so that a single optical sensor 164 is used with the touch screen display for both video conferencing and static image and / or video image acquisition.

[0074] Device 100 optionally also includes one or more depth camera sensors 175 . Figure 1A A depth camera sensor coupled to a depth camera controller 169 in the I / O subsystem 106 is shown. The depth camera sensor 175 receives data from the environment to create a three-dimensional model of an object (e.g., a face) within the scene from a viewpoint (e.g., a depth camera sensor). In some embodiments, in conjunction with the imaging module 143 (also referred to as a camera module), the depth camera sensor 175 is optionally used to determine a depth map of different portions of an image captured by the imaging module 143. In some embodiments, the depth camera sensor is located at the front of the device 100, so that an image of the user with depth information is optionally obtained for video conferencing while the user is viewing other video conference participants on the touch screen display, and a selfie with depth map data is captured. In some embodiments, the depth camera sensor 175 is located at the rear of the device, or at both the rear and front of the device 100. In some embodiments, the positioning of the depth camera sensor 175 can be changed by the user (e.g., by rotating the lens and sensor in the device housing) so that the depth camera sensor 175 is used with the touch screen display for both video conferencing and still image and / or video image acquisition.

[0075] In some embodiments, a depth map (e.g., a depth map image) contains information (e.g., values) related to the distance of an object in a scene from a viewpoint (e.g., a camera, an optical sensor, a depth camera sensor). In one embodiment of a depth map, each depth pixel defines the position of its corresponding two-dimensional pixel in the Z axis of the viewpoint. In some embodiments, a depth map is composed of pixels, each of which is defined by a value (e.g., 0 to 255). For example, a "0" value represents a pixel located farthest from a viewpoint (e.g., a camera, an optical sensor, a depth camera sensor) in a "three-dimensional" scene, and a "255" value represents a pixel located closest to the viewpoint in a "three-dimensional" scene. In other embodiments, a depth map represents the distance between an object in a scene and the plane of the viewpoint. In some embodiments, a depth map includes information about the relative depths of various features of an object of interest in the field of view of a depth camera (e.g., the relative depths of the eyes, nose, mouth, and ears of a user's face). In some embodiments, a depth map includes information that enables a device to determine the contour of an object of interest in the z direction.

[0076] Device 100 optionally also includes one or more contact intensity sensors 165 . Figure 1A A contact force sensor is shown coupled to a force sensor controller 159 in the I / O subsystem 106. Contact force sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other force sensors (e.g., sensors for measuring the force (or pressure) of contact on a touch-sensitive surface). Contact force sensor 165 receives contact force information (e.g., pressure information or a surrogate for pressure information) from the environment. In some embodiments, at least one contact force sensor is juxtaposed or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact force sensor is located on the back of device 100, opposite to touch screen display 112 located on the front of device 100.

[0077] Device 100 optionally also includes one or more proximity sensors 166 . Figure 1AA proximity sensor 166 is shown coupled to the peripherals interface 118. Alternatively, the proximity sensor 166 is optionally coupled to the input controller 160 in the I / O subsystem 106. The proximity sensor 166 is optionally implemented as described in the following U.S. patent application numbers: 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", which are hereby incorporated by reference in their entirety. In some embodiments, when the multifunction device is placed near the user's ear (e.g., when the user is initiating a phone call), the proximity sensor turns off and disables the touch screen 112.

[0078] Device 100 optionally also includes one or more tactile output generators 167 . Figure 1A A tactile output generator is shown coupled to a tactile feedback controller 161 in the I / O subsystem 106. The tactile output generator 167 optionally includes one or more electroacoustic devices such as a speaker or other audio component; and / or an electromechanical device for converting energy into linear motion such as a motor, solenoid, electroactive polymer, piezoelectric actuator, electrostatic actuator, or other tactile output generating component (e.g., a component for converting an electrical signal into a tactile output on the device). The contact force sensor 165 receives tactile feedback generation instructions from the tactile feedback module 133 and generates a tactile output on the device 100 that can be felt by a user of the device 100. In some embodiments, at least one tactile output generator is arranged in parallel or adjacent to a touch-sensitive surface (e.g., a touch-sensitive display system 112) and optionally generates a tactile output by moving the touch-sensitive surface vertically (e.g., inward / outward of the surface of the device 100) or laterally (e.g., backward and forward in the same plane as the surface of the device 100). In some embodiments, at least one tactile output generator sensor is located on the back of the device 100, opposite the touch screen display 112 located on the front of the device 100.

[0079] Device 100 optionally also includes one or more accelerometers 168 . Figure 1A An accelerometer 168 is shown coupled to the peripheral device interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 in the I / O subsystem 106. The accelerometer 168 is optionally implemented as described in the following U.S. Patent Publication Nos.: 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices" and 20060017692, entitled "Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer", both of which are incorporated herein by reference in their entirety. In some embodiments, information is displayed in a portrait view or a landscape view on the touch screen display based on analysis of data received from one or more accelerometers. The device 100 optionally includes a magnetometer and a GPS (or GLONASS or other global navigation system) receiver in addition to the accelerometer 168 for obtaining information about the position and orientation (e.g., portrait or landscape) of the device 100.

[0080] 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 (or instruction set) 136. In addition, in some embodiments, memory 102 ( Figure 1A ) or 370( Figure 3 ) storage device / global internal state 157, such as Figure 1A and Figure 3 . The device / global internal state 157 includes one or more of the following: active application state, which indicates which application (if any) is currently active; display state, which indicates 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 related to the device's position and / or posture.

[0081] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.), and facilitating communication between various hardware components and software components.

[0082] The communication module 128 facilitates communication with other devices through one or more external ports 124, and also includes various software components for processing data received by the RF circuit 108 and / or the external port 124. The external port 124 (e.g., Universal Serial Bus (USB), FireWire, etc.) is suitable for coupling directly to other devices, or indirectly through a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external port is connected to (trademark of Apple Inc.) devices.

[0083] The contact / motion module 130 optionally detects contact with the touch screen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., a touchpad or physical click wheel). The contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether contact has occurred (e.g., detecting a finger press event), determining the contact strength (e.g., the force or pressure of the contact, or a substitute for the force or pressure of the contact), determining whether there is movement of the contact and tracking the movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger lift event or contact disconnection). 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 the contact point being represented by a series of contact data. These operations are optionally applied to a single point of contact (e.g., a single finger contact) or multiple points of simultaneous contact (e.g., "multi-touch" / multiple finger contacts). In some embodiments, the contact / motion module 130 and display controller 156 detect contact on the touch pad.

[0084] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an action has been performed by a user (e.g., to determine whether a user has "clicked" an icon). In some embodiments, at least a subset of the intensity thresholds are determined based on software parameters (e.g., the intensity thresholds are not determined by the activation thresholds of specific physical actuators and can be adjusted without changing the physical hardware of the device 100). For example, without changing the touchpad or touchscreen display hardware, the mouse "click" threshold of a touchpad or touchscreen can be set to any one of a large range of predefined thresholds. Additionally, in some specific implementations, a software setting is provided to the user of the device for adjusting one or more intensity thresholds in a set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by utilizing a system-level click on an "intensity" parameter to adjust multiple intensity thresholds at once).

[0085] The contact / motion module 130 optionally detects gesture input by the user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motions, timings, and / or intensities of the detected contacts). 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 (lift-off) event at the same location (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 the touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and then detecting a finger lift (lift-off) event.

[0086] The graphics module 132 includes various known software components for rendering and displaying graphics on the touch screen 112 or other display, including components for changing the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual attributes) of the displayed graphics. As used herein, the term "graphics" includes any object that can be displayed to a user, including but not limited to text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc.

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

[0088] Haptic feedback module 133 includes various software components for generating instructions used by tactile output generator 167 to produce tactile output at one or more locations on device 100 in response to user interaction with device 100 .

[0089] Text input module 134, which is optionally a component of graphics module 132, provides a soft keyboard for entering text in various applications (eg, contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).

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

[0091] Application 136 optionally includes the following modules (or instruction sets) or a subset or superset thereof:

[0092] ● Contacts module 137 (sometimes called address book or contact list);

[0093] ● Telephone module 138;

[0094] ● Video conferencing module 139;

[0095] ● Email client module 140;

[0096] ●Instant messaging (IM) module 141;

[0097] ●Fitness support module 142;

[0098] ● Camera module 143 for still images and / or video images;

[0099] ●Image management module 144;

[0100] ●Video player module;

[0101] ●Music player module;

[0102] ●Browser module 147;

[0103] ●Calendar module 148;

[0104] A widget module 149, which optionally includes one or more of the following: a weather widget 149-1, a stock market widget 149-2, a calculator widget 149-3, an alarm widget 149-4, a dictionary widget 149-5, and other widgets acquired by the user, and a user-created widget 149-6;

[0105] A widget creator module 150 for forming a user-created widget 149-6;

[0106] ●Search module 151;

[0107] ● Video and music player module 152, which merges the video player module and the music player module;

[0108] ●Note module 153;

[0109] ● Map module 154; and / or

[0110] ●Online video module 155.

[0111] Examples of other applications 136 optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.

[0112] In combination with the touch screen 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 (for example, stored in the application internal state 192 of the contact module 137 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 the like.

[0113] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, phone module 138 is optionally used to enter a sequence of characters corresponding to a phone number, access one or more phone numbers in contact module 137, modify an entered phone number, dial a corresponding phone number, conduct a conversation, and disconnect or hang up when the conversation is complete. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.

[0114] In combination with RF circuit 108, audio circuit 110, speaker 111, microphone 113, touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, touch / motion module 130, graphics module 132, text input module 134, contact module 137 and telephone module 138, video conferencing module 139 includes executable instructions for initiating, conducting and terminating a video conference between a user and one or more other participants in accordance with user instructions.

[0115] In conjunction with RF circuit 108, touch screen 112, display controller 156, contact / 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 instructions. In conjunction with image management module 144, email client module 140 makes it very easy to create and send emails with still images or video images captured by camera module 143.

[0116] In conjunction with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, instant messaging module 141 includes executable instructions for the following operations: inputting a character sequence corresponding to an instant message, modifying previously input characters, transmitting a corresponding instant message (e.g., using a short message service (SMS) or multimedia message service (MMS) protocol for phone-based instant messaging or using XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, the transmitted and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments supported in MMS and / or enhanced messaging services (EMS). As used herein, "instant messaging" refers to both phone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).

[0117] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the GPS module 135, the map module 154 and the music player module, the fitness support module 142 includes executable instructions for creating a fitness (e.g., with time, distance and / or calorie burn goals); communicating with fitness sensors (sports equipment); receiving fitness sensor data; calibrating sensors for monitoring fitness; selecting and playing music for fitness; and displaying, storing and transmitting fitness data.

[0118] In conjunction with the touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132 and image management module 144, the camera module 143 includes executable instructions for the following operations: capturing still images or videos (including video streams) and storing them in the memory 102, modifying the characteristics of the still images or videos, or deleting the still images or videos from the memory 102.

[0119] In conjunction with touch screen 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, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing still images and / or video images.

[0120] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132 and the text input module 134, the browser module 147 includes executable instructions for browsing the Internet in accordance with user instructions, including searching, linking to, receiving and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.

[0121] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the text input module 134, the email client module 140 and the browser module 147, the calendar module 148 includes executable instructions for creating, displaying, modifying and storing calendars and data associated with the calendar (e.g., calendar entries, to-do items, etc.) in accordance with user instructions.

[0122] In conjunction with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and browser module 147, widget module 149 is a mini-application that is optionally downloaded and used by a user (e.g., weather widget 149-1, stock market widget 149-2, calculator widget 149-3, alarm widget 149-4, and dictionary widget 149-5) or a mini-application created by a user (e.g., user-created widget 149-6). In some embodiments, the widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, the widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., Yahoo! widget).

[0123] In combination with the RF circuit 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134 and browser module 147, the widget creator module 150 is optionally used by a user to create widgets (e.g., converting a user-specified portion of a web page into a widget).

[0124] In combination with the touch screen 112, display controller 156, contact / 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) in accordance with user instructions.

[0125] In conjunction with touch screen 112, display controller 156, contact / 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 that allow a user to download and play back recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files, and executable instructions for displaying, presenting, or otherwise playing back video (e.g., on touch screen 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 (trademark of Apple Inc.).

[0126] In conjunction with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, the note module 153 includes executable instructions for creating and managing notes, to-do lists, etc. according to user instructions.

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

[0128] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, text input module 134, email client module 140, and browser module 147, online video module 155 includes instructions for the following operations: allowing a user to access, browse, receive (e.g., by streaming and / or downloading), playback (e.g., on the touch screen or on an external display connected via external port 124), send an email with a link to a specific online video, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, instant messaging module 141 is used instead of email client module 140 to send a link to a specific online video. Additional descriptions of online video applications may be found in U.S. Provisional Patent Application No. 60 / 936,562, filed on 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 on December 31, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” the contents of which are hereby incorporated by reference in their entirety.

[0129] Each of the modules and applications described above corresponds to an executable instruction set for performing one or more of the functions described above and the methods described in this patent application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., instruction sets) do not have to be implemented as independent software programs (such as computer programs (e.g., including instructions)), processes, or modules, so various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. For example, a video player module is optionally combined with a music player module into a single module (e.g., Figure 1A In some embodiments, the memory 102 optionally stores a subset of the above modules and data structures. In addition, the memory 102 optionally stores additional modules and data structures not described above.

[0130] In some embodiments, the device 100 is a device where the operation of a predefined set of functions on the device is performed exclusively through a touch screen and / or a touch pad. By using a touch screen and / or a touch pad as the primary input control device for operating the device 100, the number of physical input control devices (e.g., push buttons, dials, etc.) on the device 100 is optionally reduced.

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

[0132] Figure 1B 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 ) includes an event classifier 170 (e.g., in the operating system 126) and a corresponding application 136-1 (e.g., any one of the aforementioned applications 137 to 151, 155, 380 to 390).

[0133] Event classifier 170 receives event information and determines the application 136-1 and the application view 191 of application 136-1 to which the event information is to be delivered. Event classifier 170 includes event monitor 171 and event distributor 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 is to be delivered.

[0134] In some embodiments, the application internal state 192 includes additional information, such as one or more of the following: resumption information to be used when application 136-1 resumes execution, user interface state information indicating that information is being displayed or is ready to be displayed by application 136-1, a state queue for enabling a user to return to a previous state or view of application 136-1, and a repeat / undo queue of previous actions taken by the user.

[0135] Event monitor 171 receives event information from peripherals interface 118. Event information includes information about sub-events (e.g., user touches on touch-sensitive display 112 as part of a multi-touch gesture). Peripherals 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 (through audio circuit 110). The information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.

[0136] In some embodiments, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 transmits event information. In other embodiments, peripheral device interface 118 transmits event information only when there is a significant event (e.g., receiving an input above a predetermined noise threshold and / or receiving an input for more than a predetermined duration).

[0137] In some embodiments, the event classifier 170 also includes a hit view determination module 172 and / or an active event identifier determination module 173.

[0138] When the touch-sensitive display 112 displays more than one view, the hit view determination module 172 provides software procedures for determining where within one or more views a sub-event has occurred. A view consists of controls and other elements that a user can see on the display.

[0139] Another aspect of the user interface associated with an application is a set of views, sometimes also referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views (of the respective application) in which a touch is detected optionally correspond to a programmatic level within the programmatic or view hierarchy of the application. For example, the lowest level view in which a touch is detected is optionally referred to as a hit view, and the set of events that are identified as correct input is optionally determined at least in part based on the hit view of the initial touch that started the touch-based gesture.

[0140] Hit view determination module 172 receives information related to sub-events of touch-based gestures. When an application has multiple views organized in a hierarchy, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy that should handle the sub-events. 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 that form an event or potential event) occurs. Once a hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source for which it is identified as the hit view.

[0141] Active event recognizer determination module 173 determines which view or views within the view hierarchy should receive a particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that include the physical location of the sub-event are actively participating views, and therefore determines that all actively participating views should receive a particular sequence of sub-events. In other embodiments, even if a touch sub-event is completely confined to an area associated with one particular view, higher views in the hierarchy will still remain as actively participating views.

[0142] Event distributor module 174 distributes event information to event recognizers (e.g., event recognizers 180). In embodiments including active event recognizer determination module 173, event distributor module 174 delivers the event information to the event recognizers determined by active event recognizer determination module 173. In some embodiments, event distributor module 174 stores the event information in an event queue, which is retrieved by corresponding event receivers 182.

[0143] 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 is part of another module stored in memory 102, such as contact / motion module 130.

[0144] In some embodiments, application 136-1 includes multiple 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 user interface of the application. Each application view 191 of application 136-1 includes one or more event identifiers 180. Typically, the corresponding application view 191 includes multiple event identifiers 180. In other embodiments, one or more event identifiers in event identifiers 180 are part of an independent module, which is a higher-level object such as a user interface toolkit or application 136-1 from which methods and other properties are inherited. In some embodiments, the corresponding event handler 190 includes one or more of the following: data updater 176, object updater 177, GUI updater 178 and / or event data 179 received from event classifier 170. Event handler 190 optionally utilizes or calls data updater 176, object updater 177 or GUI updater 178 to update application internal state 192. Alternatively, one or more of the application views 191 include one or more corresponding event handlers 190. In addition, in some embodiments, one or more of the data updater 176, the object updater 177, and the GUI updater 178 are included in the corresponding application view 191.

[0145] The corresponding event identifier 180 receives event information (e.g., event data 179) from the event classifier 170 and identifies the event based on the event information. The event identifier 180 includes an event receiver 182 and an event comparator 184. In some embodiments, the event identifier 180 also includes metadata 183 and at least a subset of event delivery instructions 188 (which optionally include sub-event delivery instructions).

[0146] Event receiver 182 receives event information from event classifier 170. 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 the movement of the touch, the event information optionally also includes the speed and direction of the sub-event. In some embodiments, the event includes the device rotating from one orientation to another orientation (for example, from a longitudinal orientation to a transverse orientation, or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device posture).

[0147] Event comparator 184 compares event information with predefined event or sub-event definitions, and determines an event or sub-event based on the comparison, or determines or updates the state of an event or sub-event. In some embodiments, event comparator 184 includes event definition 186. Event definition 186 includes the definition of an event (e.g., a predefined sub-event sequence), 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, the definition of event 1 (187-1) is a double-click on a displayed object. For example, a double-click includes a first touch (touch start) of a predetermined duration on a displayed object, a first lift-off (touch end) of a predetermined duration, a second touch (touch start) of a predetermined duration on a displayed object, and a second lift-off (touch end) of a predetermined duration. In another example, the definition of event 2 (187-2) is a drag on a displayed object. For example, dragging includes a touch (or contact) of a predetermined duration on a displayed object, movement of the touch on the touch-sensitive display 112, and lifting of the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.

[0148] In some embodiments, event definition 186 includes a definition of an event for a corresponding user interface object. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with a 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 an event handler associated with a sub-event and the object that triggered the hit test.

[0149] In some embodiments, the definition of the corresponding event (187) also includes a delay action that delays the delivery of the event information until it has been determined that the sub-event sequence does or does not correspond to the event type of the event identifier.

[0150] When a corresponding event recognizer 180 determines that a sequence of sub-events 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 of the touch-based gesture are ignored. In this case, other event recognizers (if any) that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.

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

[0152] In some embodiments, when one or more specific sub-events of an event are identified, the corresponding event recognizer 180 activates an event handler 190 associated with the event. In some embodiments, 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 deferred sending) the sub-events to the corresponding hit view. In some embodiments, the event recognizer 180 throws a tag associated with the identified event, and the event handler 190 associated with the tag obtains the tag and executes a predefined process.

[0153] In some embodiments, the event delivery instructions 188 include 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 a sub-event sequence or to an actively participating view. The event handler associated with the sub-event sequence or with an actively participating view receives the event information and executes a predetermined process.

[0154] In some embodiments, 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 embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates new user interface objects or updates the positioning of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on a touch-sensitive display.

[0155] In some embodiments, event handler 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of the corresponding application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.

[0156] It should be understood that the above discussion of event processing for user touches on a touch-sensitive display also applies to other forms of user input that utilize input devices to operate the multifunction device 100, and not all user input is initiated on the touch screen. For example, mouse movement and mouse button presses, optionally in conjunction with single or multiple keyboard presses or hold; contact movement on a touch pad, such as tapping, dragging, scrolling, etc.; stylus input; movement of the device; verbal commands; detected eye movement; biometric input; and / or any combination thereof are optionally used as input corresponding to sub-events that define the event to be distinguished.

[0157] Figure 2A portable multifunction device 100 with a touch screen 112 according to some embodiments is illustrated. The touch screen 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 of these graphics by, for example, making gestures on the graphics 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, when the user interrupts contact with one or more graphics, selection of one or more graphics will occur. 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 rolling of fingers that have been in contact with the device 100 (from right to left, from left to right, up and / or down). In some specific implementations or in some cases, inadvertent contact with a graphic will not select the graphic. For example, when the gesture corresponding to the selection is a tap, a swipe gesture that sweeps over an application icon optionally does not select the corresponding application.

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

[0159] In some embodiments, the device 100 includes a touch screen 112, a menu button 204, a push button 206 for turning the device on / off and for locking the device, one or more volume adjustment buttons 208, a user identity module (SIM) card slot 210, an earphone jack 212, and a docking / charging external port 124. The push button 206 is optionally used to turn the device on / off by pressing the button and keeping the button in a pressed state for a predefined time interval; lock the device by pressing the button and releasing the button before the predefined time interval passes; and / or unlock the device or initiate an unlocking process. In an alternative embodiment, the device 100 also accepts voice input for activating or deactivating certain functions through a microphone 113. The device 100 also optionally includes one or more contact strength sensors 165 for detecting the strength of contact on the touch screen 112, and / or one or more tactile output generators 167 for generating tactile output for a user of the device 100.

[0160] Figure 3300 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments. Device 300 does not have to be portable. In some embodiments, device 300 is a laptop, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a children's learning toy), a game system, or a control device (e.g., a home controller or an industrial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, a memory 370, and one or more communication buses 320 for interconnecting these components. The communication bus 320 optionally includes circuits (sometimes referred to as a chipset) that interconnect system components and control communications between system components. Device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touch screen display. The I / O interface 330 also optionally includes a keyboard and / or a mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 for generating tactile output on the device 300 (e.g., similar to the above reference Figure 1A The tactile output generator 167 described above), the sensor 359 (e.g., an optical sensor, an acceleration sensor, a proximity sensor, a touch sensitive sensor, and / or a contact intensity sensor (similar to the above reference Figure 1A Memory 370 optionally includes one or more storage devices located away from CPU 310. In some embodiments, memory 370 stores data related to portable multifunction device 100 ( Figure 1A ) or a subset thereof. In addition, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable multifunction device 100. For example, memory 370 of device 300 optionally stores a drawing module 380, a presentation module 382, ​​a word processing module 384, a website creation module 386, a disk editing module 388, and / or a spreadsheet module 390, while portable multifunction device 100 ( Figure 1A )'s memory 102 optionally does not store these modules.

[0161] Figure 3Each element in the above-mentioned elements in is optionally stored in one or more memory devices of the previously mentioned memory device. Each module in the above-mentioned modules corresponds to the instruction set for performing the function described above. The above-mentioned modules or computer programs (for example, instruction sets or including instructions) do not have to be realized with independent software programs (such as computer programs (for example, including instructions)), processes or modules, and therefore the various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores the subset of the above-mentioned modules and data structures. In addition, memory 370 optionally stores additional modules and data structures not described above.

[0162] Attention is now turned to an embodiment of a user interface that is optionally implemented on, for example, portable multifunction device 100.

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

[0164] ● Signal strength indicators 402 for wireless communications such as cellular signals and Wi-Fi signals;

[0165] ●Time 404;

[0166] ●Bluetooth indicator 405;

[0167] ●Battery charge status indicator 406;

[0168] A tray 408 with icons for commonly used applications, such as:

[0169] o An icon 416 of the phone module 138 labeled "Phone," which optionally includes an indicator 414 of the number of missed calls or voicemail messages;

[0170] o an icon 418 of the email client module 140 labeled “Mail”, which optionally includes an indicator 410 of the number of unread emails;

[0171] o An icon 420 labeled "Browser" of the browser module 147; and

[0172] o An icon 422 labeled “iPod” for the video and music player module 152 (also referred to as the iPod (trademark of Apple Inc.) module 152); and

[0173] ● Icons for other apps, such as:

[0174] o Icon 424 labeled "Message" of IM module 141;

[0175] o An icon 426 labeled “Calendar” of the calendar module 148;

[0176] o Icon 428 labeled “Photos” of the image management module 144;

[0177] o An icon 430 labeled “Camera” of the camera module 143;

[0178] ○ Icon 432 labeled “Online Video” of the online video module 155;

[0179] ○ Icon 434 labeled “Stock Market” of the Stock Market Widget 149 - 2 ;

[0180] o An icon 436 labeled “Map” of the map module 154;

[0181] ○ Icon 438 labeled “Weather” of the weather widget 149-1;

[0182] ○ Icon 440 labeled as “Clock” of the alarm clock widget 149 - 4 ;

[0183] o An icon 442 labeled “Fitness Support” of the fitness support module 142;

[0184] o An icon 444 labeled "Notes" of the notes module 153; and

[0185] o An icon 446 of a settings application or module labeled “Settings” that provides access to settings for the device 100 and its various applications 136 .

[0186] It should be noted that Figure 4A The illustrated icon labels are exemplary only. For example, the icon 422 of the video and music player module 152 is labeled "Music" or "Music Player". Other labels are optionally used for various application icons. In some embodiments, the label of the corresponding application icon includes the name of the application corresponding to the corresponding application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to the particular application icon.

[0187] Figure 4B The example embodiment has a touch-sensitive surface 451 (eg, touch screen display 112) that is separate from a display 450 (eg, touch screen display 112). Figure 3 tablet computer or touch pad 355) device (e.g., Figure 3Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) for detecting intensity of contacts on touch-sensitive surface 451 and / or one or more tactile output generators 357 for generating tactile output for a user of device 300.

[0188] Although some of the examples below are given with reference to input on a touch screen display 112 (where a touch-sensitive surface and a display are combined), in some embodiments, the device detects input on a touch-sensitive surface that is separate from the display, such as Figure 4B In some embodiments, the touch-sensitive surface (e.g., Figure 4B 451) has a main axis (e.g., Figure 4B 453) corresponding to the principal axis (for example, Figure 4B According to these embodiments, the device detects a position corresponding to a corresponding position on the display (e.g., Figure 4B 460 corresponds to 468 and 462 corresponds to 470) in contact with touch-sensitive surface 451 (e.g., Figure 4B Thus, when the touch-sensitive surface (e.g., Figure 4B 451) and a display of a multi-function device (e.g., Figure 4B When the user input detected by the device on the touch-sensitive surface (e.g., contacts 460 and 462 and their movement) is separated, the device is used to manipulate the user interface on the display. It should be understood that similar methods are optionally used for other user interfaces described herein.

[0189] Additionally, although the following examples are primarily given with reference to finger inputs (e.g., finger contacts, single-finger tap gestures, finger swipe gestures), it should be understood that in some embodiments, one or more of these finger inputs are replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of contact), followed by movement of the cursor along the path of the swipe (e.g., instead of movement of the contact). As another example, a tap gesture is optionally replaced by a mouse click when the cursor is over the location of the tap gesture (e.g., instead of detecting contact, followed by ceasing to detect contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are optionally used simultaneously, or a mouse and finger contact are optionally used simultaneously.

[0190] Figure 5AAn exemplary personal electronic device 500 is illustrated. Device 500 includes a body 502. In some embodiments, device 500 may include components related to devices 100 and 300 (e.g., Figures 1A to 4B ) some or all of the features described in the foregoing. In some embodiments, device 500 has a touch-sensitive display screen 504, referred to hereinafter as touch screen 504. Alternatively, or in addition to touch screen 504, device 500 also has a display and a touch-sensitive surface. As with devices 100 and 300, in some embodiments, touch screen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors for detecting the intensity of contact (e.g., touch) applied. One or more intensity sensors of touch screen 504 (or touch-sensitive surface) can provide output data representing the intensity of touch. The user interface of device 500 can respond to touch based on the intensity of the touch, which means that touches of different intensities can invoke different user interface operations on device 500.

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

[0192] In some embodiments, the device 500 has one or more input mechanisms 506 and 508. The input mechanisms 506 and 508 (if included) can be physical. Examples of physical input mechanisms include push buttons and rotatable mechanisms. In some embodiments, the device 500 has one or more attachment mechanisms. Such attachment mechanisms (if included) can allow the device 500 to be attached to, for example, hats, glasses, earrings, necklaces, shirts, jackets, bracelets, watchbands, bracelets, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow the user to wear the device 500.

[0193] Figure 5B An exemplary personal electronic device 500 is depicted. In some embodiments, the device 500 may include information about Figure 1A , Figure 1B and Figure 3 Some or all of the components described. Device 500 has a bus 512 that operatively couples an I / O portion 514 to one or more computer processors 516 and a memory 518. I / O portion 514 may be connected to a display 504, which may have a touch-sensitive component 522 and optionally a strength sensor 524 (e.g., a contact strength sensor). In addition, I / O portion 514 may be connected to a 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 is optionally a rotatable input device or a depressible input device and a rotatable input device. In some examples, input mechanism 508 is optionally a button.

[0194] In some examples, input mechanism 508 is optionally a microphone. Personal electronic device 500 optionally includes various sensors, such as GPS sensor 532, accelerometer 534, orientation sensor 540 (e.g., compass), gyroscope 536, motion sensor 538, and / or combinations thereof, all of which are operably connected to I / O portion 514.

[0195] The memory 518 of the personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by one or more computer processors 516, may cause the computer processors to perform the techniques described below, including processes 700, 800, and 1000 ( Fig. 7A , Figure 7B , Figure 8 and Fig.10). Computer-readable storage media can be any medium that can tangibly contain or store computer-executable instructions for use by or in conjunction with instruction execution systems, devices, and apparatuses. 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 may include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical disks based on CD, DVD, or Blu-ray technology, and persistent solid-state memories such as flash memory, solid-state drives, and the like. Personal electronic device 500 is not limited to Figure 5B components and configurations, but may include other components or additional components in a variety of configurations.

[0196] As used herein, the term "indicative representation" refers to an optional feature of the apparatus 100, 300, and / or 500 ( Figure 1A , Figure 3 and FIG. 5A to FIG. 5B ) is a user-interactive graphical user interface object displayed on a display screen of a computer. For example, an image (e.g., an icon), a button, and text (e.g., a hyperlink) optionally each constitute an affordance.

[0197] As used herein, the term "focus selector" refers to an input element used to indicate the current portion of a user interface that a user is interacting with. In some implementations that include a cursor or other position marker, the cursor acts as a "focus selector" such that when the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), a focus selector is displayed on a touch-sensitive surface (e.g., Figure 3 Touchpad 355 or Figure 4B In the event that an input (e.g., a press input) is detected on the touch-sensitive surface 451 in the display, the particular user interface element is adjusted according to the detected input. In the case that a touch-screen display (e.g., Figure 1A A touch-sensitive display system 112 or Figure 4AIn some implementations of the touch screen 112 in FIG. 1 , a contact detected on the touch screen acts as a “focus selector” such that when an input (e.g., a press input by the contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touch screen display, the particular user interface element is adjusted in accordance with the detected input. In some implementations, the focus moves from one area of ​​the user interface to another area of ​​the user interface without corresponding movement of a cursor or movement of a contact on the touch screen display (e.g., by using a tab key or arrow keys to move the focus from one button to another); in these implementations, the focus selector moves in accordance with the movement of the focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is typically a user interface element (or contact on the touch screen display) that is controlled by the user to deliver the user's intended interaction with the user interface (e.g., by indicating to the device the element of the user interface with which the user desires to interact). For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touch screen), the position of a focus selector (e.g., a cursor, contact, or selection box) over a corresponding button will indicate that the user intends to activate the corresponding button (rather than other user interface elements shown on the device display).

[0198] As used in the specification and claims, the term "characteristic intensity" of a contact refers to a characteristic of a contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples or a set of intensity samples collected during 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 off, before or after contact starts to move, before contact ends, before or after contact intensity is detected to increase, and / or before or after contact intensity is detected to decrease). The characteristic intensity of a contact is optionally based on one or more of the following: the maximum value of the intensity of the contact, the mean value of the intensity of the contact, the average value of the intensity of the contact, the value at the top 10% of the intensity of the contact, the half-maximum value of the intensity of the contact, the 90% maximum value of the intensity of the contact, etc. In some embodiments, the duration of the contact is used when determining the characteristic intensity (e.g., when the characteristic intensity is the average value of the intensity of the contact over time). In some embodiments, the feature strength is compared to a set of one or more strength thresholds to determine whether the user has performed an operation. For example, the set of one or more strength thresholds optionally includes a first strength threshold and a second strength threshold. In this example, a contact whose feature strength does not exceed the first threshold results in a first operation, a contact whose feature strength exceeds the first strength threshold but does not exceed the second strength threshold results in a second operation, and a contact whose feature strength exceeds the second threshold results in a third operation. In some embodiments, a comparison between the feature strength and one or more thresholds is used to determine whether to perform one or more operations (e.g., whether to perform the corresponding operation or to abandon the corresponding operation) rather than to determine whether to perform the first operation or the second operation.

[0199] Figure 5C Describe the exemplary diagram of the communication session between electronic devices 500A, 500B and 500C. Devices 500A, 500B and 500C are similar to electronic devices 500, and each device shares one or more data connections 510 (such as Internet connection, Wi-Fi connection, cellular connection, short-range communication connection and / or any other such data connection or network) with each other to promote the real-time communication of audio data and / or video data between corresponding devices for a 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 in the electronic device to other electronic devices so that corresponding content can be output simultaneously at the electronic device. In some embodiments, the exemplary communication session may include a video conference session, whereby audio data and / or video data are transmitted between devices 500A, 500B and 500C so that users of corresponding devices can use electronic devices for real-time communication.

[0200] exist Figure 5C , device 500A represents an electronic device associated with user A. Device 500A communicates (via data connection 510) with devices 500B and 500C, which are associated with user B and user C, respectively. Device 500A includes a camera 501A for capturing video data of a communication session, and a display 504A (e.g., a touch screen) 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 audio of the communication session.

[0201] Device 500A displays communication UI 520A via display 504A, which is a user interface for facilitating a communication session (e.g., a video conference session) between device 500B and device 500C. Communication UI 520A includes video feed 525-1A and video feed 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 the 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 the communication session.

[0202] Communication UI 520A includes camera preview 550A, which is a representation of video data captured at device 500A via camera 501 A. Camera preview 550A represents to user A the intended video feed of user A displayed at respective devices 500B and 500C.

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

[0204] exist Figure 5C, 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 touch screen) 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 audio of the communication session.

[0205] Device 500B displays a communication UI 520B similar to the communication UI 520A of device 500A via touch screen 504B. Communication UI 520B includes video feed 525-1B and video feed 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: 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 represents to user B the intended video feed of user B displayed at respective devices 500A and 500C.

[0206] exist Figure 5C , 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 touch screen) 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.

[0207] 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 touch screen 504C. Communication UI 520C includes video feed 525-1C and video feed 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 represents to user C the expected video feed of user C displayed at the respective devices 500A and 500B.

[0208] Although Figure 5C The depicted figure represents a communication session between three electronic devices, but the communication session can be established between two or more electronic devices, and the number of devices participating in the communication session can change as the electronic device joins or leaves the communication session. For example, if one of the electronic devices leaves the communication session, the audio data and video data from the device that stops participating in the communication session are no longer represented on the participating device. For example, 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. Additionally, device 500A does not include video feed 525-1A, and device 500C does not include video feed 525-1C. Similarly, if a device joins a communication session, a connection is established between the joining device and the existing device, and video data and audio data are shared between all devices so that each device can output data transmitted from other devices.

[0209] Figure 5C The embodiment depicted in FIG. 1 represents a diagram of a communication session between multiple electronic devices, including Figure 6M to Figure 6R and FIG. 9A to FIG. 9K In some embodiments, Figure 6M to Figure 6R and FIG. 9A to FIG. 9K A communication session depicted in FIG. 8 includes two or more electronic devices even if other electronic devices participating in the communication session are not depicted in the figure.

[0210] As used herein, an "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 (e.g., become open) on the device. In some embodiments, a downloaded application becomes an installed application using an installer that extracts program portions from a downloaded software package and integrates the extracted portions with the operating system of a computer system.

[0211] As used herein, the term "open application" or "executing application" refers to a software application that has retained state information (e.g., as part of device / global internal state 157 and / or application internal state 192). An open or executing application is optionally any of the following types of applications:

[0212] ● The active app currently displayed on the display of the device on which the app is being used;

[0213] ● Background applications (or background processes) that are not currently displayed but for which one or more processes are being processed by one or more processors; and

[0214] ●Not running but has data stored in memory (volatile and non-volatile respectively)

[0215] A suspended or dormant application that contains status information that can be used to resume execution of the application.

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

[0217] Attention is now turned to embodiments of a user interface ("UI") and associated processes implemented on an electronic device, such as portable multifunction device 100, device 300, or device 500.

[0218] FIG. 6A to FIG. 6R Illustrated are exemplary user interfaces for managing camera sharing between devices according to some embodiments. The user interfaces in these figures are used to illustrate the process described below, including FIG. 7A to FIG. 7B and Figure 8 process.

[0219] Fig. 6AAn environment 600 is depicted that includes a user 600 - 1 (also referred to herein as “John”) and a computer system 601 (also referred to herein as “John's laptop”). Fig. 6A A computer system 601 in an environment 600 is depicted, and additional, more detailed views of the computer system 601 are also depicted. Generally speaking, the environment 600 is a schematic depiction of an environment including the computer system 601 and / or the user 600-1, and is shown in the accompanying drawings when it is useful to understand and / or illustrate various aspects of the technology described herein. In the embodiments provided herein, one or more laptops and phones are used to depict these technologies; however, other devices, such as tablet computers, desktop computers, and / or other computer systems may be used. For example, the computer system 601 may be a desktop computer instead of a laptop computer. For another example, the device 650 described below may be a tablet computer instead of a phone.

[0220] exist FIG. 6A to FIG. 6R In the illustrated embodiment, computer system 601 is a computer system including display 601-1, camera 601-2, keyboard 601-3 and touchpad 601-4. Computer system 601 includes one or more elements of device 100, 300 and / or 500, such as speakers, microphones, memory and processors. In some embodiments, computer system 601 is shown as having a webcam 604 mounted to its side and connected via a wired connection or a wireless connection. Webcam 604 is an external camera device separated from computer system 601 (and camera 601-2) and is used to provide a video feed captured by webcam 604. In some embodiments, for example, when conducting a video conference or using various applications operating at computer system 601, computer system 601 uses a video feed captured by webcam 604. In some embodiments, computer system 601 can select webcam 604, camera 601-2 and / or other cameras to provide corresponding video feeds at computer system 601.

[0221] exist Fig. 6A , computer system 601 displays a presentation interface 606 of a presentation application operating at computer system 601. Computer system 601 detects input 605-1 (e.g., a click or selection using a trackpad 601-4, a mouse, and / or other input device) selecting a video conferencing application icon 608, and in response, launches the video conferencing application and displays a video conferencing interface 610, as shown. Figure 6B shown.

[0222] exist Figure 6B, video conferencing interface 610 displays video feed 612-1, which is a video feed provided to computer system 601 from webcam 604. Video feed 612-1 includes representation 600-1a of user 600-1. Because the video conference is not currently active at computer system 601, video feed 612-1 represents a preview video feed, i.e., a view of the video feed before computer system 601 is connected to the video conference. Video conferencing interface 610 includes various controls and menu options for controlling settings of the video conferencing application, including, for example, camera menu option 614, which can be selected to display various camera settings for the video conferencing application. Computer system 601 detects input 605-2 selecting camera menu option 614 and input 605-3 selecting control settings icon 616 displayed in status area 618.

[0223] exist Figure 6C , computer system 601 displays video conferencing camera menu 620 in response to detecting input 605-2, and displays control menu 622 in response to detecting input 605-3. Video conferencing camera menu 620 displays various camera options that can be used for video conferencing applications. For example, webcam option 620-1 indicates that webcam 604 can be selected as a video source (also referred to herein as a video feed source, camera source, or camera) for a video conferencing application, and computer system camera option 620-2 indicates that camera 601-2 can be selected as a video source for a video conferencing application. Check mark 621-1 indicates that webcam option 620-1 is currently selected as a video source for a video conferencing application. Therefore, the video feed from webcam 604 (video feed 612-1) is selected for the video conferencing application. Video conferencing camera menu 620 includes additional camera options (including options for changing a virtual background or applying a filter) and video settings option 620-3, which can be selected to display additional camera settings for the video conferencing application.

[0224] The control menu 622 includes various system control options for the computer system 601. For example, the control menu 622 includes display controls, sound controls, and control options for various wireless protocols. The control menu 622 also includes a camera control option 622-1, which can be selected to display camera controls for the computer system 601. Figure 6C , the computer system 601 detects input 605-4 selecting the camera control option 620-1 and input 605-5 selecting the video setting option 622-3.

[0225] exist Fig.6D, the computer system 601 displays a video settings menu 624 in response to input 605-5, and displays a system camera menu 625 in response to input 605-4. The video settings menu 624 includes various video settings for video conferencing applications, including an automatic camera switching option 624-1 that is currently enabled, as indicated by a check mark 621-2. When the automatic camera switching option 624-1 is enabled, the computer system 601 automatically switches or selects a video feed for the video conferencing application based on meeting the criteria. For example, if the currently selected video feed is lost or turned off, and the automatic camera switching option is enabled, the device automatically switches to a different camera (if available) to provide a video feed for the video conferencing application. When automatic camera switching is disabled, the device does not automatically select a new camera or switch to a different video feed for the video conferencing application. In some embodiments, the automatic camera switching setting can be used for different applications, and this setting can be enabled or disabled for the corresponding application separately.

[0226] The system camera menu 625 is a system interface for the computer system 601 that provides information and controls for cameras connected to the computer system 601. In some embodiments, the system camera menu 625 is displayed simultaneously with the controls menu 622 and / or one or more of the control options provided in the controls menu 622. Fig.6D 6, system camera menu 625 includes webcam option 625-1 and computer system camera option 625-2. Webcam option 625-1 indicates that webcam 604 can be selected as a video source for computer system 601, and computer system camera option 625-2 indicates that camera 601-2 can be selected as a video source for computer system 601. Check mark 621-3 indicates that webcam option 625-1 is currently selected as a video source for computer system 601. In some embodiments, when a corresponding camera option is selected in system camera menu 625, the selected camera is used as a default or preferred camera for applications operating at computer system 601.

[0227] The embodiments provided herein describe various techniques for enabling computer system 601 to select a video feed provided by an external device for use at computer system 601. These techniques enable computer system 601 to select an external device as a video source when various criteria are met. In the embodiment illustrated in the figure, the external device is represented by device 650 (also referred to herein as "John's phone"). Device 650 is an external computer system separate from computer system 601 (and camera 601-2), and in some embodiments is used to provide a video feed captured by one or more cameras of device 650. Device 650 includes one or more elements of device 100, 300 and / or 500, such as a speaker, microphone, memory, and processor. In some embodiments, for example, when conducting a video conference or using various applications operating at computer system 601, computer system 601 uses a video feed captured by device 650. Device 650 includes one or more cameras, including camera 650-2 (see Figure 6G ), and in some embodiments, includes one or more additional cameras at device 650. In some embodiments, camera 650-2 is a wide-angle camera. In some embodiments, camera 650-2 is a camera located on the back side of device 650, and device 650 optionally includes one or more cameras located on the front side of the device (e.g., on the same side of device 650 as the display of device 650). When the criteria are met, computer system 601 can select device 650 (e.g., manually, or in some embodiments, automatically without user input) as a video source, and video information captured by a camera of device 650 (e.g., camera 650-2 or another camera at device 650) is used as a video feed for computer system 601. In some embodiments, device 650 can be used as a video source for one or more different devices logged into the same user account. For example, when a phone, a laptop, and different devices are logged into the same user account, device 650 can be used as a video source for computer system 601 and different devices (such as, a second laptop, a desktop computer, and / or a tablet). In the illustrated embodiment, the video captured by camera 601-2 is used to generate a video feed. However, other cameras of device 650 may be used, such as, for example, a front-facing camera located on the same side of device 650 as the display. Additionally, device 650 is shown as providing a video feed when in a landscape orientation; however, device 650 may provide a video feed when in a different orientation (such as, for example, a portrait orientation).

[0228] In some embodiments, computer system 601 may select device 650 as a video source using criteria based on the location, position, movement, and / or orientation of device 650, the connection status and / or type of connection between computer system 601 and device 650, the proximity of device 650 relative to computer system 601, the status of device 650 and / or computer system 601, the history of use of device 650 with computer system 601, user preference settings at computer system 601 and / or device 650, user account settings, and / or other criteria as described herein. The examples provided herein for enabling computer system 601 to select device 650 as a video source are non-limiting examples, and other criteria and / or other combinations of criteria described herein may be used without departing from the scope of the present disclosure.

[0229] Fig. 6E Two schematic diagrams of environment 600 are illustrated. View 600a is similar to Fig. 6A The environment 600 shown in FIG. 6 is a side view of the environment 600, and view 600b is a top view of the environment 600. The environment 600 is Fig. 6E600 , the device 650 may be selected as a video source at the computer system 601. The computer system 601 may be configured to provide a plurality of device 650 services. The computer system 601 may be configured to provide a plurality of device 650 services. The computer system 601 may be configured to provide a plurality of device 650 services. The computer system 601 may be configured to provide a plurality of device 650 services. The computer system 601 may be configured to provide a plurality of device 650 services. The computer system 601 may be configured to provide a plurality of device 650 services. The computer system 601 may be configured to provide a plurality of device 650 services. The computer system 601 may be configured to provide a plurality of device 650 services. The computer system 601 may be configured to provide a plurality of device 650 services. The computer system 601 may be configured to provide a plurality of device 650 services. In some embodiments, when device 650 is within outer boundary 626-2 but outside inner boundary 626-1, device 650 may be manually selected but not automatically selected as a video feed source for computer system 601 when other criteria are met. In some embodiments, device 650 may be within inner boundary 626-1 but not automatically selected by computer system 601 if other criteria are not met (such as, for example, if device 650 has not been previously connected to computer system 601, device 650 is not currently connected to computer system 601, device 650 has not been stationary for at least a threshold amount of time, device 650 has not been previously selected as a camera for computer system 601, device 650 has not been selected as a preferred or default camera for computer system 601, device 650 and computer system 601 are not logged into the same user account, computer system 601 and / or device 650 are not turned on, and / or other criteria are not met). In some embodiments, device 650 may be located within inner boundary 626-1, and based on meeting or not meeting other criteria, the device may be manually selected but not automatically selected. For example, if device 650 is within inner boundary 626-1, but has not been previously selected as a video feed source for computer system 601, has not been stationary for a threshold amount of time, has no specific orientation, and / or has not been selected as a default or preferred camera, then device 650 may be manually selected as a video feed source, but cannot be automatically selected by computer system 601. Similarly, device 650 may be located within outer boundary 626-2, and if other criteria are not met, then it cannot be selected as a camera source by computer system 601. In some embodiments, some standards prevent device 650 from being selected as a video source for computer system 601, regardless of whether other criteria are met. For example, if other criteria are met, but device 650 is located outside outer boundary 626-2, then device 650 may not be selected (e.g., manually or automatically) as a video feed source for computer system 601.As another example, if computer system 601 or 650 is turned off, or if either device has been configured not to communicate with the other device, device 650 may not be selected as a video feed source for computer system 601 even if other criteria are met. Unless otherwise specifically noted, the criteria described herein are not an exhaustive list of criteria, nor are all listed criteria required to be met for device 650 to be selected (e.g., manually and / or automatically) as a video feed source for computer system 601. Furthermore, combinations of the criteria described herein may be used, including in some embodiments using the described criteria in combination with other criteria.

[0230] Representations of device 650 are provided to illustrate example scenarios that satisfy some criteria for selecting device 650 as a video source for computer system 601 and do not satisfy some criteria for selecting the device as a video source for the computer system. The different scenarios represent some of the criteria discussed above, but are not an exhaustive set of representations of different combinations of criteria for enabling use of device 650 as a video feed source for computer system 601. Representation 650a represents a scenario in which device 650 is supported in front of computer system 601 and is available to be automatically selected as a video feed source for computer system 601 because device 650 is located within inner boundary 626-1 and device 650 meets other criteria for being automatically selected, such as, for example, being stationary and in a portrait orientation with camera 650-2 facing user 600-1. Representation 650b represents a scenario where device 650 is mounted to the top of computer system 601 and is available to be automatically selected as a video feed source for computer system 601 because device 650 is located within inner boundary 626-1 and device 650 meets other criteria for being automatically selected, such as, for example, being stationary and in a landscape orientation with camera 650-2 facing user 600-1. Representation 650c represents a scenario where device 650 is mounted to the side of computer system 601 and is available to be automatically selected as a video feed source for computer system 601 because device 650 is located within inner boundary 626-1 and device 650 meets other criteria for being automatically selected, similar to representation 650a. Representation 650d represents a scenario where device 650 is supported next to computer system 601 and is available for automatic selection as a video feed source for computer system 601 because device 650 is located within inner boundary 626-1 and device 650 meets other criteria for being automatically selected, similar to representation 650a.

[0231] Representation 650e represents a scenario where device 650 is in the user's hand and is outside inner boundary 626-1 and inside outer boundary 626-2. At least because representation 650e is outside inner boundary 626-1, representation 650e cannot be automatically selected by computer system 601. However, because representation 650e is inside outer boundary 626-2, device 650 can be manually selected as a video feed source at computer system 601 if other criteria are met (e.g., both devices are turned on, both devices are connected to each other, and / or both devices are logged into the same user account). Some criteria may also prevent device 650 from being automatically selected as a video feed source for computer system 601 even if representation 650e is within inner boundary 626-1, such as, for example, movement of device 650, angular orientation of device 650 depicted by representation 650e (non-portrait or landscape orientation), and camera 650-2 is positioned away from user 600-1.

[0232] Representation 650f represents a scenario where device 650 is supported on a table outside outer boundary 626-2, in a portrait orientation, with camera 650-2 facing user 600-1. In this embodiment, because device 650 is outside outer boundary 626-2, device 650 is not available for selection as a video feed source for computer system 601 even if other criteria are met (e.g., device 650 is stationary, in a portrait orientation, and the camera is facing the user).

[0233] Representation 650g represents a scenario in which device 650 is positioned on top of computer system 601 with camera 650-2 facing away from user 600-1 (e.g., facing upward and / or toward the ceiling). Although representation 650g is within inner boundary 626-1 and device 650 is stationary, computer system 601 does not automatically select device 650 as the video feed source because other criteria are not met, such as, for example, the camera is facing away from user 600-1. In some embodiments, although computer system 601 does not automatically select device 650 in the scenario for representation 650g, device 650 can be manually selected as the video feed source for computer system 601.

[0234] Representation 650h represents a scenario in which device 650 is positioned next to computer system 601, within inner boundary 626-1, with camera 650-2 facing away from user 600-1 (e.g., facing upward and / or facing the ceiling). Although representation 650h is within inner boundary 626-1 and device 650 is stationary, computer system 601 does not automatically select device 650 as the video feed source because other criteria are not met, such as, for example, the camera is facing away from user 600-1. In some embodiments, although computer system 601 does not automatically select device 650 in the scenario for representation 650h, the device can be manually selected as the video feed source for computer system 601, as described in more detail below.

[0235] Fig. 6F An embodiment is depicted in which device 650 is positioned next to computer system 601, similar to the scenario described with respect to representation 650h. Because the criteria for automatically selecting device 650 as a video feed source for computer system 601 are not met, and because other criteria for manually selecting device 650 are met (e.g., device 650 is within outer boundary 626-2 and / or computer system 601 and device 650 are logged into the same user account), computer system 601 displays or modifies video conferencing camera menu 620 and system camera menu 625 to include corresponding camera options for selecting device 650 as a video feed source for computer system 601. For example, camera menu 620 includes (or is updated to include) phone option 620-4, which indicates that device 650 can be selected as a video feed source for a video conferencing application. Similarly, system camera menu 625 includes (or is updated to include) phone option 625-3, which indicates that device 650 can be selected as a video feed source for computer system 601. The system menu 625 also includes a status indicator 628 showing the battery charge status of the device 650. Fig. 6F601 , device 650 cannot be automatically selected as a video feed source by computer system 601, but is available for manual selection (e.g., by selecting phone option 620-4 and / or phone option 625-3). Because phone option 620-4 is not selected, and webcam option 620-1 remains selected, computer system 601 continues to use the video feed from webcam 604, as indicated by check mark 621-1 and video feed 612-1 in video conferencing interface 610. In some embodiments, phone option 620-4 and / or phone option 625-3 are not displayed when the criteria for selecting device 650 as a video source for computer system 601 are not met. In some embodiments, device 650 is not automatically selected as a video source for computer system 601 unless device 650 has previously been manually selected as a video source for computer system 601.

[0236] Figure 6G Depicted is an embodiment in which device 650 is installed to computer system 601, which is similar to the scenario described above with respect to representation 650b. Computer system 601 automatically (e.g., without user input at computer system 601) selects device 650 as a video feed source for computer system 601 because device 650 is within inner boundary 626-1 and satisfies other criteria for automatically selecting the device as a video feed source for computer system 601. Therefore, computer system 601 shows phone option 620-4 selected as a video feed source for a video conferencing application, as indicated by check mark 621-4. Additionally, computer system 601 automatically switches from outputting video feed 612-1 from webcam 604 to outputting video feed 612-2 from camera 650-2 of device 650. Computer system 601 also updates system camera menu 625 to show selection of phone option 625-3, as indicated by check mark 621-5.

[0237] When device 650 is connected to computer system 601, computer system 601 can select device 650 as the video feed source and enable one or more camera effects provided by device 650. For example, in Figure 6G, device 650 is connected to computer system 601 and selected as a camera source for computer system 601, and computer system 601 displays camera effects options 630-1 through 630-4 that are selectable to cause device 650 to apply camera effects using device 650 and camera 650-2 when an effect has been selected at computer system 601. Tracking effects option 630-1 may be enabled to cause a subject detected in the field of view of camera 650-2 to be tracked, and the video feed updated (e.g., panning and / or zooming the video feed) so that the subject remains displayed in the video feed at computer system 601 as it moves around its environment. Camera blur option 630-2 may be enabled to cause portions of the video feed that do not include the detected subject to be blurred. Lighting effects option 630-3 may be enabled to cause simulated lighting effects to be applied to a subject detected in the field of view of camera 650-2. The surface camera option 630-4 can be enabled to modify the video feed to include a representation of a surface detected in the environment, which is obtained by digitally zooming, rotating and / or translating the field of view captured by the camera 650-2. In some embodiments, when the surface camera option 630-4 is enabled, the video feed from the device 650 is split into two video feeds, which are displayed simultaneously at the computer system 601 in some embodiments, where one feed shows a representation of the subject and the other feed shows a representation of the surface.

[0238] The camera effect options may be enabled by selecting corresponding options 630-1 to 630-4 in the system camera menu 625 or by selecting corresponding icons 632-1 to 632-4 shown in the video conferencing user interface 610. Specifically, icon 632-1 or tracking effect option 630-1 may be selected to enable tracking effects, icon 632-2 or camera blur option 630-2 may be selected to enable camera blur effects, icon 632-3 or lighting effect option 630-3 may be selected to enable lighting effects, and icon 632-4 or surface camera option 630-4 may be selected to enable surface camera effects. Figure 6G In the example of FIG. 6 , the computer system 601 detects input 605-6 selecting the camera blur option 630-2 and, in response, enables the Figure 6H Camera blur effect shown.

[0239] exist Figure 6H, computer system 601 displays video feed 612-2 with blur effect 636 (shown by shading) of the background behind representation 600-1a of user 600-1. Icon 632-2 is bolded and check mark 621-6 is displayed next to camera blur option 630-2 to indicate that the camera blur effect is enabled. Computer system 601 detects input 605-7 selecting lighting effect option 630-3 and, in response, enables the lighting effect option 630-3. Fig.6I The lighting effect shown in .

[0240] exist Fig.6I , computer system 601 updates video feed 612-2 to include lighting effect 638 that provides a brightened appearance of representation 600-1a of user 600-1 and a darkened appearance of the background behind representation 600-1a of user 600-1. Icon 632-3 is bolded and a check mark 621-7 is displayed next to lighting effect option 630-3 to indicate that the lighting effect is enabled. Computer system 601 detects input 605-8 selecting computer system camera option 625-2 and, in response, switches from the video feed of device 650 to the video feed from computer system camera 601-2, as shown. Figure 6J shown.

[0241] exist Figure 6J , computer system 601 displays video feed 612-3, which is a video feed from computer system camera 601-2. Video feed 612-3 has a different field of view than device video feed 612-2, for example, because device camera 650-2 has a wider field of view than computer system camera 601-2. Because computer system 601 switches to a camera feed from a different camera, camera effects from device 650 are removed from the new video feed. In some embodiments, camera effect settings are preserved, and the selected effects are restored when switching back to the device camera feed. Figure 6JIn the embodiment depicted in , computer system 601 displays different camera effects available using computer system camera 601-2. These camera effects are listed based on which effects are available for a particular application operating at computer system 601. For example, the demonstration application is capable of supporting camera blur effects, lighting effects, and surface camera effects, as indicated by camera effects options 640-1 through 640-3. However, the demonstration application is not capable of supporting tracking effects, and therefore no tracking effects options are listed for the demonstration application camera effects options. Similarly, the video conferencing application is capable of supporting these effects as well as tracking effects, as indicated by camera effects options 641-1 through 641-4. In some embodiments, some camera effects may be listed because the corresponding application supports them; however, if the camera selected for the corresponding application is not capable of providing the corresponding camera effect, the camera effects options may be shown as unavailable. For example, in Figure 6J , the video conferencing application is capable of supporting tracking effects, but because the computer system camera 601-2 is not capable of providing tracking effects (e.g., the computer system camera does not have a large enough field of view), the tracking effects option 641-1 is shown as unavailable, as indicated by the shading 642. The computer system 601 detects the input 605-9 selecting the phone camera option 625-3, and in response, switches back to the video feed provided by the device 650, as shown. Figure 6K shown.

[0242] exist Figure 6K , computer system 601 again displays camera video feed 612-2 in video conferencing application interface 610, where the video feed restores the previously selected camera effect. In some embodiments, when device 650 is connected to computer system 601, notifications are suppressed or modified at device 650, and notifications that are normally displayed on device 650 are instead displayed at computer system 601. For example, in Figure 6K, device 650 has a low battery state. If device 650 is not connected to computer system 601, device 650 will display a notification warning the user that the battery is low. However, because device 650 is connected to computer system 601, computer system 601 displays a notification 644 notifying the user that the battery is low, and the notification is not displayed at device 650. In some embodiments, instead of suppressing the notification at device 650, the notification is modified. For example, an audible component of an alert is generated at the device, but the visual and / or tactile component of an alert is not generated. In some embodiments, when device 650 is within the range of computer system 601 (e.g., within outer boundary 626-2 or inner boundary 626-1) but is not selected as a camera source for computer system 601, or when the standard for automatically selecting device 650 as a camera source for computer system 601 is not met, a notification is generated at device 650 instead of at computer system 601.

[0243] exist Figure 6L , by selecting conference option 646 via input 605-10, computer system 601 initiates a video conference with Jane's computer system 602. Computer system 601 initiates a video conference with camera blur effects and lighting effects enabled. Figure 6M John's computer system 601 and Jane's computer system 602 are depicted while a video conference is active. Jane's computer system 602 is similar to computer system 601 and is shown displaying a video conference application interface 648 that is similar to video conference application interface 610. Jane's computer system 602 displays John's video feed 654 and Jane's self-view 652 in video conference application interface 648. Jane's self-view 652 is a video feed from Jane's computer system (e.g., using camera 602-2), and John's video feed 654 is a video feed from John's computer system 601. John's video feed 654 is a video feed from camera 650-2 of device 650 and is displayed with video effects enabled at computer system 601, as described above. John's computer system 601 displays John's self-view 656, which includes video feed 612-2 provided by device camera 650-2. John's computer system 601 also displays Jane's video feed 658 , which is the video feed provided from Jane's computer system 602 .

[0244] In some embodiments, when device 650 is connected to computer system 601, computer system 601 displays a camera icon 660 that provides a shortcut for displaying camera menu 625 without intervening display of control menu 622. For example, in Figure 6M , the computer system 601 detects input 605-11 selecting the camera icon 660, and in response, displays the camera menu 625, such as Figure 6N shown.

[0245] exist Figure 6N , the tracking effect is disabled, so when John 600-1 leans to one side, the representation 600-1a of John 600-1 moves outside the field of view of the displayed video feed 612-2. In some embodiments, the device 650 and / or computer system 601 can be used to provide audio for the video conference. For example, in Figure 6N In FIG. 6 , device 650 detects that John said “Wait a minute.” and audio is provided to the participants of the video conference, as indicated by output audio 661 at Jane's computer system 602. Computer system 601 detects input 605-12 selecting tracking effect 630-1 and, in response, enables the tracking effect, as shown in FIG. Fig.6O As shown. Fig.6O , computer system 601 shows that video feed 612-2 has been adjusted (eg, panned) to position representation 600-1a of John 600-1 within the field of view of video feed 612-2. Computer system 601 also displays a check mark 621-9 indicating that tracking effect 630-1 is enabled.

[0246] exist Figure 6P , computer system 601 is conducting a video conference with two other users, Jane and Jack. John's computer system 601 displays a video tile for each of the respective participants of the video conference. Video tile 662 is John's self-view (similar to self-view 656), video tile 664 is Jane's video feed, and video tile 666 is Jack's video feed. Computer system 601 detects input 605-13 on surface camera option 630-4, and in response, enables surface camera effects, such as Figure 6Q and Figure 6R Alternatively, the computer system 601 detects input 605-15 on the icon 632-4 and, in response, enables a surface camera effect, such as Figure 6Q and Figure 6R shown.

[0247] exist Figure 6Q, computer system 601 displays a check mark 621-10 indicating that surface camera option 630-4 is enabled, and displays a video tile 674, which is a surface view provided by camera 650-2 of device 650. The surface view is a representation 675a ​​of a picture 675 on a surface in front of computer system 601 in environment 600. Both video tile 662 and video tile 674 are corresponding video feeds from a selected device camera (e.g., camera 650-2 of device 650), but represent different portions of the field of view of camera 650-2. In some embodiments, the surface view is manipulated to depict the surface view in a vertical orientation for participants in the video conference. Jane's device 602 also displays a video tile 676 showing a surface view provided by computer system 601 (in combination with camera 650-2 of device 650).

[0248] exist Figure 6Q , computer system 601 initially displays video tile 674 overlapping video tile 662, which indicates to John that the surface view is associated with his camera feed and is being presented by John's device to the other participants in the video conference. Similarly, Jane's computer system 602 displays video tile 676 partially overlapping John's video tile 670, indicating that the surface view is being presented by John. In some embodiments, the user can manipulate or move these tiles around. For example, in response to detecting input 605-14 on video tile 662, John's computer system 601 moves John's video tile 662 in front of surface view video tile 674, as shown in FIG. Figure 6R In some embodiments, Figure 6Q The selection of video tile 674 in causes computer system 601 to swap the layers of the corresponding video tile. In some embodiments, tile 674 or tile 662 may be selected to swap the layers of the corresponding video tile. For example, in Figure 6R You can select tile 674 or tile 662 to return to Figure 6Q The layered orientation depicted in .

[0249] Fig. 7A and Figure 7B700 is a flowchart illustrating a method for managing camera sharing between devices using a computer system according to some embodiments. Method 700 is performed at a first computer system (e.g., 100, 300, 500, 601, and / or 602) (e.g., a first device, a desktop computer, a laptop, a smart phone, and / or a tablet), which communicates with (e.g., includes and / or is connected to) one or more display generation components (e.g., 601-1) (e.g., a display controller, a touch-sensitive display system, a projector, a display screen, a display monitor, and / or a holographic display) and one or more input devices (e.g., 601-3 and / or 601-4) (e.g., a touch-sensitive surface, a keyboard, a mouse, a trackpad, one or more optical sensors for detecting gestures, one or more capacitive sensors for detecting hovering inputs, and / or an accelerometer / gyroscope / inertial measurement unit). In some embodiments, the first computer system communicates with a first camera (e.g., 601-2 and / or 604) (e.g., an infrared camera, a depth camera, and / or a visible light camera). Some operations in method 700 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

[0250] As described below, method 700 provides an intuitive way to manage camera sharing between devices. The method reduces the cognitive burden on users when managing camera sharing between devices, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to manage camera sharing between devices faster and more efficiently saves power and increases the time between battery charges.

[0251] In method 700, a computer system (e.g., 601) displays (702) a system user interface (e.g., 625) for a first computer system via the one or more display generating components (e.g., 601-1), wherein the system user interface is associated with (e.g., includes) options (e.g., 625-1, 625-2, and / or 625-3) (e.g., selectable options, buttons, icons, affordances, and / or graphical elements) for selecting one or more cameras (e.g., infrared cameras, depth cameras, and / or visible light cameras) for use with the first computer system (e.g., for selecting a camera (e.g., for use as a video camera, for capturing image data, and / or for capturing video data)) for use with an application (e.g., a real-time video communication application, a camera application, and / or a presentation application) operating at the first computer system.

[0252] As part of displaying a system user interface (e.g., 625), a computer system (e.g., 601) simultaneously displays (704) a camera selection option (e.g., 625-3) for selecting video information (e.g., video data and / or image data) captured by one or more cameras (e.g., 650-2) of a second computer system (e.g., 650) that is separate from the first computer system (e.g., an external computer system and / or a second device different from the first device) to generate a video feed (e.g., 612-2) for the first computer system; and displays (706) a set of one or more options (e.g., 630-1, 630-2, 630-3, and / or 630-4) (e.g., selectable options, buttons, icons, affordances, and / or graphical elements) associated with camera settings (e.g., image blur settings (e.g., background blur and / or foreground blur), image lighting settings, and / or object tracking settings (e.g., adjusting the displayed camera field of view to maintain display of a person, object, and / or surface)) for the video information captured by the one or more cameras of the second computer system. Displaying a system user interface (including simultaneously displaying a camera selection option for selecting video information captured by the one or more cameras of a second computer system that is separate from the first computer system to generate a video feed for the first computer system, and a set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system) enables display of controls for selecting and / or modifying settings for a video feed provided by a camera of a different computer system without displaying additional controls and reducing the number of inputs for modifying camera settings for the camera of the second computer system.

[0253] When a computer system (e.g., 601) displays a system user interface (e.g., 625), displaying the system user interface includes simultaneously displaying a camera selection option (e.g., 625-3) and the set of one or more options (e.g., 630-1, 630-2, 630-3, and / or 630-4) associated with camera settings for video information captured by the one or more cameras (e.g., 650-2) of a second computer system (e.g., 650), the computer system receives (708) one or more inputs (e.g., 605-6, 605-7, 605-8, 605-9, 605-12, and / or 605-13) directed to the system user interface via the one or more input devices (e.g., 601-3 and / or 601-4).

[0254] In response to receiving the one or more inputs (e.g., 605-6, 605-7, 605-8, 605-9, 605-12, and / or 605-13) directed to the system user interface (e.g., 625), and in accordance with determining that the one or more inputs correspond to (e.g., include and / or are directed to) a selection (e.g., 605-6, 605-7, 605-8, 605-9, 605-12, and / or 605-13) of a corresponding option in the set of one or more options (e.g., 630-1, 630-2, 630-3, and / or 630-4) associated with camera settings for video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650), 05-7, 605-12 and / or 605-13), the computer system (e.g., 601) changes (710) (e.g., enables, disables and / or modifies) settings corresponding to corresponding options for the one or more cameras of the second computer system when video information of the one or more cameras of the second computer system is used to generate a video feed (e.g., 612-2) for the first computer system (e.g., enables, disables and / or modifies image blur settings (e.g., background blur and / or foreground blur), enables, disables and / or modifies one or more image lighting settings, and / or enables, disables and / or modifies object tracking settings).

[0255] In response to receiving the one or more inputs (e.g., 605-6, 605-7, 605-8, 605-9, 605-12, and / or 605-13) directed to the system user interface (e.g., 625), and based on determining that the one or more inputs correspond to a selection (e.g., 605-9) of a camera selection option (e.g., 625-3), the computer system (e.g., 601) selects (712) (e.g., enables and / or modifies) video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) for use in generating a video feed (e.g., 612-2) for the first computer system (e.g., selecting the second computer system's camera for use in an application (e.g., a real-time video communication application, a presentation application, and / or a camera application) operating at the first computer system, and / or enabling the second computer system's camera for use in an application operating at the first computer system).

[0256] In some embodiments, a first computer system (eg, 601) communicates with a second computer system (eg, 650) via a wireless connection (eg, WiFi, Bluetooth, near field communication (NFC), and / or cellular).

[0257] In some embodiments, as part of displaying a system user interface (e.g., 625) for a first computer system (e.g., 601), the computer system simultaneously displays a camera selection option (e.g., 625-3), the set of one or more options (e.g., 630-1, 630-2, 630-3, and / or 630-4) associated with camera settings for video information captured by the one or more cameras (e.g., 650-2) of a second computer system (e.g., 650), and a set of one or more options (e.g., 622-1 and / or other control options in control menu 622) for controlling system functions of the first computer system (e.g., display brightness, media controls, system volume, do not disturb, flashlight, and / or wireless communication mode). The system user interface for the first computer system is displayed as having a camera selection option, the set of one or more options associated with camera settings for video information captured by the one or more cameras of the second computer system, and a set of one or more options for controlling system functions of the first computer system, so that controls for the first computer system and controls for selecting and / or modifying settings for video feeds provided by cameras of different computer systems can be displayed together without displaying additional controls, and the number of inputs for modifying functions of the first computer system and camera settings for cameras of the second computer system is reduced. In some embodiments, selecting a corresponding option for controlling a system function of the first computer system can change or set a parameter for the corresponding system function. For example, selecting a display brightness option can change a brightness setting for a display (e.g., 601-1).

[0258] In some embodiments, prior to displaying a system user interface (e.g., 625), the first computer system (e.g., 601) displays a camera options element (e.g., 622-1 and / or 660) (e.g., a selectable element, an affordance, and / or a system shortcut for displaying and / or accessing camera information (including a currently selected camera) and / or camera options for a selected camera) via the one or more display generation components (e.g., 601-1). The first computer system detects a selection of the camera options element (e.g., 605-4 and / or 605-11). In response to detecting the selection of the camera options element, the first computer system displays a system user interface (e.g., 625) that includes the set of one or more options (e.g., 630-1, 630-2, 630-3, and / or 630-4) associated with camera settings for video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650). In response to detecting a selection of the camera options element, displaying a system user interface including the set of one or more options associated with camera settings for video information captured by the one or more cameras of the second computer system enables display of controls for selecting and / or modifying settings for a video feed provided by a camera of a different computer system without displaying additional controls and reducing the number of inputs for modifying camera settings for the camera of the second computer system.

[0259] In some embodiments, the set of one or more options (e.g., 630-1, 630-2, 630-3, and / or 630-4) associated with camera settings for video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) includes a first set of one or more visual effects options (e.g., 630-1, 630-2, 630-3, and / or 630-4), which can be selected to modify (e.g., enable, disable, and / or change) visual effects (e.g., image blur effects, image lighting effects, and / or object tracking effects) for video information captured by the one or more cameras of the second computer system (and, in some embodiments, for generating a video feed for the first computer system). The set of one or more options associated with camera settings for video information captured by the one or more cameras of the second computer system (including a first set of one or more visual effect options selectable to modify visual effects for the video information captured by the one or more cameras of the second computer system) is displayed, enabling display of controls for modifying visual effects for a video feed provided by a camera of a different computer system without displaying additional controls and reducing the number of inputs for modifying the visual effects for the camera of the second computer system.

[0260] In some embodiments, the visual effect is applied (e.g., enabled, disabled, and / or modified) by the second computer system (e.g., 650) (e.g., applied to video information obtained using the one or more cameras (e.g., 650-2) of the second computer system). Displaying the set of one or more visual effect options including the visual effect applied by the second computer system enables display of controls for modifying the visual effect applied by a camera of a different computer system without displaying additional controls, and reduces the number of inputs for modifying the visual effect for the camera of the second computer system.

[0261] In some embodiments, the visual effect (e.g., 630-2) includes (e.g., is) a blur effect (e.g., 636) (e.g., blurring or otherwise visually obscuring foreground and / or background portions of the video feed) applied to the video information of the one or more cameras (e.g., 650-2) of the second computer system (e.g., 601) used to generate a video feed (e.g., 612-2) for the first computer system (e.g., 650). Applying the blur effect to the video information of the one or more cameras of the second computer system used to generate a video feed for the first computer system causes the first computer system to instruct the second computer system to automatically apply the blur effect without displaying additional controls, and reduces the number of inputs to apply the blur effect to the video information used to generate the video feed for the first computer system.

[0262] In some embodiments, changing settings corresponding to corresponding options (e.g., 630-2) for the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) when video information of the one or more cameras of the second computer system is used to generate a video feed (e.g., 612-2) for the first computer system (e.g., 601) includes initiating a process for causing the second computer system (e.g., 650) to apply a blur effect (e.g., 636). In some embodiments, the blur effect changes as a detected subject (e.g., 600-1) (e.g., a person or an animal) moves in the field of view of the one or more cameras (e.g., 650-2) to blur background portions of the field of view of the one or more cameras without blurring the subject (e.g., 600-1a).

[0263] In some embodiments, the visual effect (e.g., 630-1) includes changing a zoom level (e.g., a digital zoom level and / or an optical zoom level) of a video feed (e.g., 612-2) based on the subject tracking information (e.g., increasing the zoom level of the video feed when there are fewer detected subjects (e.g., 600-1) and / or the subjects are closer together, and / or decreasing the zoom level of the video feed when there are more detected subjects and / or the detected subjects are further apart). Changing the zoom level of the video feed based on the subject tracking information causes the first computer system to instruct the second computer system (e.g., 650) to automatically update the zoom level of the video feed provided by the second computer system to maintain display of the subject without displaying additional controls.

[0264] In some embodiments, the visual effect (e.g., 630-1) includes changing the framing of a video feed (e.g., 612-2) based on the subject tracking information (e.g., transitioning which portion of the field of view of the one or more cameras (e.g., 650-2) is included in the video feed based on movement of one or more detected subjects (e.g., 600-1) such that when the one or more subjects are to the right of the field of view of the one or more cameras, the right portion of the field of view of the one or more cameras is included in the video feed, and when the one or more subjects are to the left of the field of view of the one or more cameras, the left portion of the field of view of the one or more cameras is included in the video feed). Changing the framing of the video feed based on the subject tracking information causes the first computer system to instruct the second computer system (e.g., 650) to automatically update the framing of the video feed provided by the second computer system to maintain display of the subject without displaying additional controls.

[0265] In some embodiments, changing settings (e.g., 630-1) corresponding to corresponding options (e.g., 630-1, 630-2, 630-3, and / or 630-4) for the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) when video information from the one or more cameras of the second computer system is used to generate a video feed (e.g., 612-2) for the first computer system (e.g., 601) includes initiating a process for applying a visual effect. In some embodiments, initiating a process for applying a visual effect includes causing the second computer system to select (e.g., enable, disable, and / or modify) a subject tracking setting for the one or more cameras of the second computer system used to generate video information for a video feed for the first computer system (e.g., 601) (e.g., by updating a displayed portion of the camera's field of view by changing a zoom level and / or changing the framing of the video feed to maintain display of a subject (e.g., 600-1) that is tracked / located within the camera's field of view (optionally, due to use of a wide-angle camera, which may be larger than the displayed field of view of the camera feed (e.g., 612-2)). In some embodiments, the subject tracking setting is displayed for specific applications operating at the first computer system, and is optionally not displayed (or is unavailable or unselectable) for other applications. For example, in some embodiments, the subject tracking setting is available (e.g., enabled, disabled, and / or modified) for a video conferencing application or a camera application, but is unavailable for other applications, such as a presentation application or a gaming application.

[0266] In some embodiments, subject tracking is performed by physically (e.g., mechanically) zooming and / or moving (e.g., panning) one or more cameras (e.g., 650-2). In some embodiments, tracking is performed by computationally (e.g., digitally) zooming and / or moving (e.g., panning) images or videos captured by one or more cameras (e.g., 650-2). In some embodiments, subject tracking is performed by physically zooming and / or moving one or more cameras and computationally zooming and / or moving a combination of images or videos captured by one or more cameras.

[0267] In some embodiments, the subject tracking setting (e.g., 630-1) enables / disables a mode for: 1) tracking the location and / or position of one or more subjects (e.g., 600-1) detected within the field of view of the one or more cameras (e.g., 650-2) during a real-time video communications session (e.g., a video conference), and 2) automatically adjusting (e.g., in video feed 612-2) a displayed view (e.g., 600-1a) of the subjects based on the tracking of the subjects during the real-time video communications session. In some embodiments, adjusting a displayed view of a subject during a real-time video communication session includes: 1) based on determining that a first set of criteria are satisfied, including detecting a subject (e.g., 600-1) (e.g., one or more users of a computer system) at a first location in a scene (e.g., 600) (within a field of view of the one or more cameras), displaying a representation of the first field of view (e.g., displaying a video feed (e.g., 612-2) at a first digital zoom level and a first displayed portion of the field of view of the one or more cameras) (in some embodiments, when the subject is at the first location In some embodiments, the representation of the first field of view includes a representation of the subject when the subject is at the second position; and 2) based on determining that a second set of criteria are met, including detecting the subject at a second position different from the first position, displaying a representation of the second field of view that is different from the representation of the first field of view (e.g., displaying a video feed at a second digital zoom level and / or a second display portion of the field of view of the one or more cameras) (e.g., a representation of the field of view that is zoomed in, zoomed out, and / or translated in a direction relative to the representation of the first field of view) (in some embodiments, when the subject is at the second position, the representation of the second field of view includes a representation of the subject). In some embodiments, when a subject tracking setting (e.g., 630-1) is enabled, the representation of the field of view automatically changes in response to a detected change in position of the subject (e.g., 600-1) and / or in response to detecting that a second subject enters or leaves the field of view of the one or more cameras (e.g., without changing the actual field of view of the one or more cameras). For example, the representation of the field of view changes to track the position of the subject and adjusts the display position and / or zoom level (e.g., digital zoom level and / or optical zoom level) to more prominently display the subject (e.g., changing the digital zoom level to appear to zoom in on the subject as the subject moves away from the camera; changing the digital zoom level to appear to zoom out from the subject as the subject moves toward the camera; changing the displayed portion of the field of view of the one or more cameras to appear to pan in a particular direction as the subject moves in that direction).

[0268] In some embodiments, when a subject tracking setting (e.g., 630-1) is enabled, a first computer system (e.g., 601) or a second computer system (e.g., 650) adjusts a displayed portion (e.g., 612-2) of the field of view of the one or more cameras (e.g., 650-2) based on the number of subjects detected within the field of view of the one or more cameras of the second computer system (e.g., reframing the displayed portion). For example, as the number of subjects detected in the scene increases, the representation of the field of view of the one or more cameras changes (e.g., zooms out) to include the additional subjects (e.g., along with previously detected subjects). Similarly, as the number of subjects detected in the scene decreases, the representation of the field of view of the one or more cameras changes (e.g., zooms in) to capture the subjects that remain in the scene.

[0269] In some embodiments, the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) have a field of view that is larger (e.g., wider) than the field of view of the one or more cameras (e.g., 601-2) of the first computer system (e.g., 601). In some embodiments, the camera of the second computer system is a wide-angle camera (e.g., a camera including a wide-angle lens), and the camera of the first computer system is not a wide-angle camera.

[0270] In some embodiments, the visual effect (e.g., 630-3) includes a simulated lighting effect (e.g., 638) applied to the one or more cameras (e.g., 650-2) of the second computer system (e.g., 601) used to generate video information for the video feed (e.g., 612-2) for the first computer system (e.g., 650) (e.g., modeling one or more discrete points of light sources positioned around the subject based on measurements from a depth sensor or based on a parallax mapping between two images taken from different locations at the same time, enhancing the brightness, contrast, or visual appearance of a subject (e.g., 600-1a) in the video feed (e.g., 612-2) (e.g., in the foreground), and / or, optionally, dimming, blurring, or otherwise visually obscuring background portions of the video feed). Applying the simulated lighting effect to video information of the one or more cameras of the second computer system used to generate a video feed for the first computer system causes the first computer system to instruct the second computer system to automatically apply the simulated lighting effect without displaying additional controls and reduces the number of inputs to apply the simulated lighting effect to video information used to generate a video feed for the first computer system.

[0271] In some embodiments, changing settings (e.g., 630-3) corresponding to respective options for the one or more cameras (e.g., 650-2) of a second computer system (e.g., 650) when video information from the one or more cameras of the second computer system is used to generate a video feed (e.g., 612-2) for the first computer system includes initiating a process for causing the second computer system to apply a simulated lighting effect (e.g., 638).

[0272] In some embodiments, the simulated lighting effect (e.g., 638) models (e.g., simulates) the results of one or more points of a light source in space based on a depth map of the image data. For example, the simulated lighting effect includes modeling multiple discrete points of a light source positioned around a subject (e.g., 600-1 and / or 600-1a) (e.g., forming a bright fill light effect). In some embodiments, the simulated lighting effect appears suddenly when the lighting effect application criteria are met. In some embodiments, if the computer system (e.g., 650) detects a face, facial features are taken into account when applying the simulated lighting effect. Thus, the simulated lighting effect changes the appearance of the representation of the image data based on specific facial features and facial shape of the subject.

[0273] In some embodiments, the visual effect (e.g., 630-4) includes modifying (e.g., at the second computer system (e.g., 650) and / or at the first computer system (e.g., 601)) (e.g., to correct distortion of) (e.g., adjust, manipulate, and / or correct) a portion of the video information of the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) that corresponds to a surface (e.g., 675) in a field of view of the one or more cameras based on: a positioning (e.g., position and / or orientation) of the surface in the portion of the video information relative to the one or more cameras of the second computer system. Modifying the portion of the video information of the one or more cameras of the second computer system that corresponds to the surface in the field of view of the one or more cameras based on: a positioning of the surface in the portion of the video information relative to the one or more cameras of the second computer system, such that the second computer system automatically modifies the portion of the video information without displaying additional controls and reducing the number of inputs to modify the portion of the video information based on the positioning of the surface relative to the one or more cameras of the second computer system. In some embodiments, the image (e.g., 674) of the surface (e.g., 675) is based on image data modified using image processing software (e.g., skewing, rotating, flipping, and / or otherwise manipulating image data captured by the one or more cameras (e.g., 650-2) of the second computer system). In some embodiments, the image of the surface is modified without physically adjusting the camera (e.g., without rotating the camera, without raising the camera, without lowering the camera, without adjusting the angle of the camera, and / or without adjusting the physical components of the camera (e.g., lens and / or sensor)). In some embodiments, the image of the surface is modified so that the one or more cameras of the second computer system appear to be pointing at the surface (e.g., facing the surface, aiming at the surface, pointing at the surface along an axis perpendicular to the surface). In some embodiments, the image of the surface is corrected so that the line of sight of the camera appears perpendicular to the surface.

[0274] In some embodiments, the video feed (e.g., 612-2) includes a representation (e.g., 674) of a surface (e.g., 675) (e.g., an image of the surface) obtained by digitally zooming, rotating, and / or translating a field of view captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650). In some embodiments, the representation of the surface is obtained by moving (e.g., translating and / or rotating) the one or more cameras of the second computer system. In some embodiments, the representation of the surface is obtained without moving the one or more cameras of the second computer system. In some embodiments, the representation of the surface includes a cropped portion of the field of view of the one or more cameras of the second computer system. In some embodiments, the image of the surface is automatically modified on the fly (e.g., during a real-time video communication session). In some embodiments, the image of the surface is automatically modified (e.g., without user input) based on the positioning of the surface relative to the one or more cameras of the second computer system.

[0275] In some embodiments, changing settings (e.g., 630-4) corresponding to corresponding options for one or more cameras (e.g., 650-2) of a second computer system (e.g., 650) when video information of the one or more cameras of the second computer system is used to generate a video feed (e.g., 612-2) for a first computer system (e.g., 601) includes initiating a process for causing the second computer system to modify the portion of the video information of the one or more cameras of the second computer system based on: the positioning of a surface in the portion of the video information relative to the one or more cameras of the second computer system.

[0276] In some embodiments, after selecting video information captured by a corresponding camera (e.g., 604 and / or 601-2) (e.g., a camera of the first computer system and / or an external camera (e.g., a webcam)) (e.g., a camera different from the one or more cameras of the second computer system) to generate a video feed (e.g., 612-3) for the first computer system (e.g., 601) (e.g., after switching from using the first camera to provide the video feed to using the second camera to provide the video feed), the first computer system displays in a system user interface (e.g., 625) the first set of one or more visual effect options. (e.g., 630-1, 630-2, 630-3, and / or 630-4) a different second set of one or more visual effect options (e.g., 640-1, 640-2, 640-3, 641-1, 641-2, 641-3, and / or 641-4) (e.g., the second set includes at least one visual effect option not included in the first set, the second set does not include a visual effect option included in the first set, the first set has more visual effect options than the second set, and / or the second set has more visual effect options than the first set) (in some embodiments, and based on the capabilities of the corresponding camera). In some embodiments, the second set of one or more visual effect options may be selected to change (e.g., enable, disable, and / or modify) the visual effects used for video information captured by the corresponding camera (and, in some embodiments, used to generate a video feed for the first computer system). Displaying a second set of one or more visual effects options that are different than the first set of visual effects options, wherein the second set of one or more visual effects options are selectable to change visual effects for video information captured by the corresponding camera, enabling the first computer system to automatically display controls for modifying visual effects for the video information based on capabilities of the corresponding camera without displaying additional controls, and reducing the number of inputs displayed and / or selected for controlling the visual effects for video information used to generate a video feed for the first computer system.

[0277] In some embodiments, the first computer system (e.g., 601) selects video information captured by the corresponding camera (e.g., 601-2 and / or 604) after (in some embodiments, in response to) receiving a set of one or more inputs (e.g., 605-8) corresponding to a request to select video information captured by the corresponding camera to generate a video feed (e.g., 612-3) for the first computer system. In some embodiments, the first computer system receives the set of one or more inputs corresponding to the request to select video information captured by the corresponding camera while displaying a system user interface (e.g., 625). In some embodiments, the set of one or more inputs includes a request to switch from a first camera (e.g., 650-2) (e.g., the one or more cameras (e.g., 650-2) of a second computer system (e.g., 650)) to a second camera (e.g., 601-2 and / or 604) (e.g., a camera of the first computer system) to provide a video feed for the first computer system.

[0278] In some embodiments, displaying the system user interface (e.g., 625) includes displaying (e.g., simultaneously with the camera selection option (e.g., 625-3) and / or the set of one or more options (e.g., 630-1, 630-2, 630-3, and / or 630-4) associated with camera settings for video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650)) status information (e.g., 628) of properties of the second computer system (e.g., battery charge status, connection status, and / or availability status), wherein the status information changes as the properties of the second computer system change. Displaying the status information of the properties of the second computer system provides feedback about the status of the second computer system, wherein the status information changes as the properties of the second computer system change.

[0279] In some embodiments, before displaying a system user interface (e.g., 625) for a first computer system (e.g., 601), the computer system receives a request to display a system user interface for the first computer system (e.g., 605-4 or 605-11). After receiving the request to display a system user interface for the first computer system (in some embodiments, in response to receiving the request), and based on determining that a first set of criteria are met (e.g., the distance between the first computer system and the second computer system (e.g., 650) meets a distance threshold, the second computer system is positioned within a threshold distance of the first computer system, the second computer system has previously provided a video feed for the first computer system, the second computer system has a particular orientation (e.g., on an edge), the second computer system has a particular operating state, the second computer system meets a stability criterion (no motion for 1 second-5 seconds, no motion for more than 1 second, and / or In some embodiments, the first computer system displays a system user interface (e.g., automatically and / or without detecting further user input) that includes a camera selection option (e.g., 650-3) for selecting video information captured by one or more cameras (e.g., 625-2) of the second computer system. Based on determining that the first set of criteria is not met, the first computer system displays a system user interface (e.g., 625) that does not have a camera selection option for selecting video information captured by one or more cameras (e.g., 625-2) of the second computer system. Fig.6D Displaying a system user interface including a camera selection option based on determining that the first set of criteria is met enables the first computer system to automatically display the camera selection option without requiring additional user input.

[0280] In some embodiments, a first set of criteria for displaying a system user interface (e.g., 625) that includes a camera selection option (e.g., 625-3) for selecting video information captured by one or more cameras (e.g., 650-2) of a second computer system (e.g., 650) is different from a set of criteria for automatically selecting video information captured by the one or more cameras of the second computer system for generating a video feed (e.g., 612) for a first computer system (e.g., 601). For example, in some embodiments, the system user interface includes the camera selection option based on determining that the second computer system is within a first threshold distance from the first computer system, and the video information is automatically selected from the second computer system based on determining that the second computer system is within a second threshold distance that is different from the first threshold distance (e.g., less than the first threshold distance).

[0281] In some embodiments, when video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) is not selected for use in generating a video feed (e.g., 612) for the first computer system (e.g., the camera option for the second computer system is not selected and / or the camera option for a different computer system (e.g., the first computer system and / or the third computer system) is selected), the first computer system (e.g., 601) receives data (e.g., information indicating a change in one or more properties of the second computer system (such as, the position, orientation, and / or stability of the second computer system)). In response to receiving the data, and based on determining that the data indicates that a set of camera selection criteria are satisfied (e.g., the second computer system (e.g., 650) has previously provided a video feed for the first computer system, the second computer system has a particular orientation (e.g., on an edge), the second computer system has a particular operating state, the second computer system satisfies a stability criterion (no motion for 1 second-5 seconds, no motion for more than 1 second, and / or no motion for 2 seconds-7 seconds), the second computer system is logged into the same user account as the first computer system, the second computer system is connected to the first computer system in a particular manner, the frequency with which the second computer system is used to provide a video feed to the first computer system satisfies a frequency criterion, and / or the second computer system is within a predetermined threshold distance from the first computer system), the first computer system selects (e.g., automatically and / or without detecting further user input) video information captured by the one or more cameras (e.g., 650-2) of the second computer system for use in generating (e.g., immediately or at a later time) a video feed (e.g., 612-2) for the first computer system (e.g., as Figure 6G). Video information captured by the one or more cameras of the second computer system is selected for use in generating a video feed for the first computer system based on determining that the data indicates that a set of camera selection criteria are satisfied, so that the first computer system automatically selects the video information captured by the one or more cameras of the second computer system for use in generating a video feed for the first computer system without requiring additional user input. In some embodiments, in response to receiving the data, and based on determining that the data indicates that the set of camera selection criteria are not satisfied, the first computer system abandons selecting the video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) for use in generating a video feed for the first computer system (e.g., 612-2). In some embodiments, abandoning selecting the video information captured by the one or more cameras of the second computer system for use in generating a video feed for the first computer system includes selecting (or maintaining selection) video information captured by cameras of different computer systems (e.g., the first computer system and / or the third computer system) for use in generating a video feed for the first computer system (e.g., immediately or at a later time) (e.g., as Fig. 6F shown).

[0282] In some embodiments, the camera selection criteria are different from a set of criteria used to display a camera selection option (e.g., 625-3) for selecting video information captured by one or more cameras (e.g., 650-2) of a second computer system (e.g., 650) for use in generating a video feed (e.g., 612-2) for a first computer system (e.g., 601). For example, in some embodiments, the camera selection option is displayed when the second computer system is within a first threshold distance from the first computer system, and the video information captured by the one or more cameras of the second computer system is automatically selected for use in generating a video feed for the first computer system when the second computer system is within a second threshold distance that is different from the first threshold distance (e.g., less than the first threshold distance).

[0283] In some embodiments, the set of camera selection criteria includes a requirement that an automatic camera switching setting (e.g., 624-1) (e.g., a setting that, when enabled, causes the application providing the video feed to automatically switch from using a video feed from one camera to using a video feed from another camera when criteria are met) be enabled for a corresponding application (e.g., 610) (e.g., a real-time video communication application, a presentation application, and / or a camera application) used to display a video feed (e.g., 612) for a first computer system (e.g., 601) in order to satisfy the set of camera selection criteria. Including a requirement that an automatic camera switching setting be enabled for a corresponding application used to display a video feed for the first computer system in order to satisfy the set of camera selection criteria provides improved security and / or privacy by allowing a user of the computer system to enable or disable a setting for automatically switching a camera used to generate a video feed at the first computer system.

[0284] In some embodiments, the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) have a field of view that is different from (e.g., larger than or smaller than) the field of view of the camera (e.g., 601-2) of the first computer system (e.g., 601). Using the field of view of the one or more cameras of the second computer system that is different from the field of view of the camera of the first computer system enables the first computer system to easily use cameras with different fields of view for generating a video feed. In some embodiments, the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) have a field of view that captures a first amount of scene, and the one or more cameras of the first computer system have a field of view that captures a second amount of scene that is different from the first amount of scene. In some embodiments, the camera of the second computer system is a wide-angle camera (e.g., a camera including a wide-angle lens), and the camera of the first computer system is not a wide-angle camera.

[0285] In some embodiments, the video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) has been selected for use with the one or more options (e.g., Fig.6IAfter the settings (e.g., changed settings, updated settings and / or modified settings) corresponding to the first group (e.g., one or more options) of the video information of the second computer system (e.g., 630-2 and 630-3) are generated for the first computer system (e.g., 601) (e.g., after one or more settings of the video information of the second computer system have been changed (e.g., enabling, disabling and / or modifying image blur settings (e.g., background blur and / or foreground blur), enabling, disabling and / or modifying one or more image lighting settings, and / or enabling, disabling and / or modifying object tracking settings), and the video information is selected for use in generating a video feed for the first computer system), the first computer system performs the following steps. When a camera (e.g., 601-2 and / or 604) different from the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) (e.g., a camera of the first computer system and / or a camera of the third computer system) is selected to provide a video feed (e.g., 612-1 or 612-3) for the first computer system (e.g., 601) (e.g., after selecting video information captured by a camera different from the one or more cameras of the second computer system for use in generating a video feed for the first computer system, after deselecting video information captured by the one or more cameras of the second computer system for use in generating a video feed for the first computer system, and / or after ceasing to output video information captured by the one or more cameras of the second computer system as a video feed for the first computer system), the first computer system receives input (e.g., 605-9) corresponding to a selection of the camera selection option (e.g., 625-3). In some embodiments, video information captured by a camera different from the one or more cameras of the second computer system has one or more settings (e.g., image blur, image lighting, and / or object tracking) that are different from the settings of a video feed generated at the first computer system using the video information from the second computer system. In response to receiving an input (e.g., 605-9) corresponding to a selection of a camera selection option (e.g., 625-3), the first computer system selects (reselects) the video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) for viewing with a first set of the one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system (e.g., 650-2). Figure 6KThe video information captured by the one or more cameras of the second computer system is selected for use in generating a video feed for the first computer system with settings corresponding to the first group of one or more options associated with the camera settings for the video information captured by the one or more cameras of the second computer system, reducing the number of inputs required to reselect particular camera settings by retaining the previous camera settings for the corresponding cameras. In some embodiments, when switching back to using the one or more cameras (e.g., 650) of the second computer system (e.g., 650), only the changed settings for the video feed from the one or more cameras of the second computer system are retained.

[0286] In some embodiments, a first computer system (e.g., 601) receives (e.g., when a second computer system (e.g., 650) is communicating with the first computer system and / or when video information captured by the one or more cameras (e.g., 650-2) of the second computer system is selected for use in generating a video feed (e.g., 612-2) for the first computer system) data indicating an event at the second computer system (e.g., an incoming call, a low battery at the second computer system, an expiration of a timer, a message received, and / or a notification received). In response to receiving the data indicating the event at the second computer system (e.g., 650), the first computer system displays a notification (e.g., 644) of the event via the one or more display generation components (e.g., 601-1) (e.g., displaying a graphical element at the first computer system depicting the event occurring at the second computer system, such as a banner or notification), without providing a notification of the event at the second computer system (e.g., the second computer system does not generate a response to the event, such as a vibration, an audible alert, and / or a display element). Displaying a notification of an event without providing a notification of the event at the second computer system provides improved security and privacy by suppressing display of content about the event at the second computer system (which may be visible to other devices) and instead displaying a notification of the event at the first computer system.

[0287] In some embodiments, in response to detecting a termination of use of video information captured by the one or more cameras (e.g., 650-2) of a second computer system (e.g., 650) to generate a video feed (e.g., 612-2) for a first computer system (e.g., 601) (e.g., the second computer system is a multifunction device, such as a smart phone or tablet, and is being used for purposes that do not involve use of a camera (e.g., performing operations that do not involve use of a camera or executing an application that does not involve use of a camera), a user has interrupted use of the camera of the second computer system, or the user is using the camera for another purpose), the first computer system selects (e.g., automatically without user input) video information captured by one or more cameras (e.g., 601-2 or 604) of a computer system other than the second computer system for use in generating a video feed (e.g., 612-1 or 612-3) for the first computer system (e.g., automatically switching to a different camera (e.g., a default or previously selected camera) to provide the video feed). In response to detecting the termination of use of the video information captured by the camera of the second computer system, video information captured by one or more cameras of a computer system other than the second computer system is selected for use in generating a video feed for the first computer system, so that the first computer system automatically switches the video feed to a different camera. In some embodiments, in response to detecting the termination of use of the video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) to generate a video feed for the first computer system (e.g., 612-2), the first computer system displays a video feed from a camera of a different computer system, a representation of a paused video feed from the one or more cameras of the second computer system, and / or an indication that a camera of a different computer system is selected to provide a video feed for the first computer system.

[0288] In some embodiments, a first computer system (e.g., 601) displays, via the one or more display generating components (e.g., 601), indications (e.g., 632-1, 632-2, 632-3, and / or 632-4) (e.g., icons, enable representations, graphical elements, and / or text) of one or more functions (e.g., image blur functions (e.g., background blur and / or foreground blur), image lighting functions, and / or object tracking functions) of the one or more cameras (e.g., 650-2) of a second computer system (e.g., 650), wherein the indications of the one or more functions are visually associated with (e.g., displayed as being adjacent to and / or at least partially overlapping) a representation (e.g., 612-2, 656, and / or 662) of video information captured by the one or more cameras of the second computer system (e.g., a camera preview or view of video information captured by the one or more cameras of the second computer system). Displaying an indication of one or more functions of the one or more cameras of the second computer system in visual association with a representation of video information captured by the one or more cameras of the second computer system provides feedback regarding the ability of the second computer system to modify a video feed generated at the first computer system.

[0289] In some embodiments, the representation (e.g., 612-2, 656, and / or 662) of video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) is a preview (e.g., 612-2, 656, and / or 662) of the video feed (e.g., 612-2) captured by the one or more cameras of the second computer system displayed at the first computer system (e.g., 601) (e.g., in an application user interface (e.g., 610)) before the real-time video communications session was active. Figure 6K In some embodiments, the representation of video information captured by the one or more cameras of the second computer system is a video feed (e.g., 612-2) captured by the one or more cameras of the second computer system displayed at the first computer system (e.g., in the application user interface (e.g., 610)) when the real-time video communication session is active (e.g., 656 and / or 662).

[0290] In some embodiments, the indication of one or more functions of the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) includes an indication of a surface display function (e.g., an icon, an affordance, a graphical element, and / or text displayed as overlapping at least a first portion of a representation of video information captured by the one or more cameras of the second computer system) (e.g., 632-4). The first computer system (e.g., 601) receives a set of one or more inputs corresponding to selections of the surface display functions (e.g., 605-13 or 605-15). In response to receiving the set of one or more inputs corresponding to selection of a surface display function, the first computer system ceases display of at least a second portion (in some embodiments, the second portion includes at least a portion of the first portion of the representation of the video information) of the representation (e.g., 662) of the video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) and displays the video information at a location corresponding to (e.g., is or includes) the second portion of the representation of the video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) (e.g., 662). The first computer system may further include a first computer system that displays a surface view (e.g., 674) that includes a representation of a portion of the video information of the one or more cameras of the second computer system, the portion of the video information being modified (e.g., adjusted, manipulated, cropped, and / or corrected) to include a view of a surface (e.g., 675) that is positioned within (e.g., located within and / or detected within) a field of view of the one or more cameras of the second computer system (e.g., replacing at least a portion of the video feed from the one or more cameras of the second computer system with the surface view). The surface view is displayed at a location corresponding to a second portion of the representation of the video information captured by the one or more cameras of the second computer system, such that the first computer system automatically replaces at least a portion of the camera preview with a view of the surface detected within the field of view of the one or more cameras of the second computer system.

[0291] In some embodiments, the representation of the video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) is a video feed (e.g., 612-2 and / or 662) of a user of the first computer system and / or the second computer system (which is also referred to as a self-view). In some embodiments, the surface view (e.g., 674) is displayed as superimposed in front of a portion of the self-view (e.g., as shown in FIG. 1 ). Figure 6Q). In some embodiments, the surface view is provided by one or more cameras (e.g., 601-2 or 604) of a computer system other than the second computer system. For example, the surface view is a modified view of a video feed (including the surface) provided by a camera (e.g., 601-2) of the first computer system (e.g., 601) or provided by a camera (e.g., a separate camera, such as a webcam (e.g., 604)) of a third computer system.

[0292] In some embodiments, the surface view (e.g., 674) is displayed concurrently with at least a third portion of the representation (e.g., 662) of the video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) (e.g., the surface view is displayed concurrently with the camera preview or a portion thereof). Displaying the surface view concurrently with the third portion of the representation of the video information captured by the one or more cameras of the second computer system provides feedback about the state of the second computer system (e.g., a state in which the second computer system is providing video information for displaying two portions of the video feed at the first computer system).

[0293] In some embodiments, while the surface view (e.g., 674) is displayed at a first display location and a fourth portion of a representation (e.g., 662) of video information captured by the one or more cameras (e.g., 650-2) of a second computer system (e.g., 650) is displayed at a second display location, the first computer system (e.g., 601) receives input (e.g., 605-14) directed to the representation (e.g., 662) of the video information (e.g., 662) (e.g., input directed to the fourth portion of the representation of the video information and / or input directed to the surface view). In response to receiving the input directed to the representation of the video information, the first computer system displays the surface view at the second display location and displays the fourth portion of the representation of the video information at the first display location (e.g., swaps the display positions of the surface view and the self view) (e.g., as shown in FIG. 2 ). Figure 6R In response to receiving input directed to the representation of the video information, the surface view is displayed at the second display location and a fourth portion of the representation of the video information is displayed at the first display location, enabling the first computer system to swap display locations of corresponding portions of the video feed without displaying additional controls.

[0294] In some embodiments, selecting (e.g., tapping and / or clicking) the surface view causes the first computer system (e.g., 601) to swap the display positions of the surface view (e.g., 674) and the camera preview (e.g., 622). In some embodiments, selecting the camera preview causes the first computer system to swap the display positions of the surface view and the camera preview. In some embodiments, a subsequent selection of the surface view or the camera preview causes the first computer system to reverse the swapped display positions of the surface view and the camera preview. In some embodiments, the surface view is displayed in an enlarged state, and the self-view is displayed in a reduced state and is displayed as overlapping with a portion of the enlarged surface view. In some embodiments, in response to receiving a selection of the surface view or the self-view, the computer system displays the self-view having an enlarged state and the surface view having a reduced state and overlapping with a portion of the enlarged self-view.

[0295] Note that the process described above with reference to method 700 (eg, Fig. 7A and Figure 7B ) also apply in a similar manner to the methods described below. For example, methods 800 and / or 1000 optionally include one or more of the features of the various methods described above with reference to method 700. For example, any of the techniques discussed with respect to method 700 may be used to select a video feed, camera source, and / or visual effects for a corresponding computer system. For the sake of brevity, these details are not repeated.

[0296] Figure 8 800 is a flowchart illustrating a method for managing camera sharing between devices using a computer system according to some embodiments. Method 800 is performed at a first computer system (e.g., 100, 300, 500, 601, and / or 602) (e.g., a first device, a desktop computer, a laptop, a smart phone, and / or a tablet), which communicates with (e.g., includes and / or is connected to) one or more display generation components (e.g., 601-1) (e.g., a display controller, a touch-sensitive display system, a projector, a display screen, a display monitor, and / or a holographic display) and one or more input devices (e.g., 601-3 and / or 601-4) (e.g., a touch-sensitive surface, a keyboard, a mouse, a trackpad, one or more optical sensors for detecting gestures, one or more capacitive sensors for detecting hovering inputs, and / or an accelerometer / gyroscope / inertial measurement unit). In some embodiments, the first computer system communicates with a first camera (e.g., 601-2 and / or 604) (e.g., an infrared camera, a depth camera, and / or a visible light camera). Some operations in method 800 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

[0297] As described below, method 800 provides an intuitive way to manage camera sharing between devices. The method reduces the cognitive burden on users when managing camera sharing between devices, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to manage camera sharing between devices faster and more efficiently saves power and increases the time between battery charges.

[0298] At method 800, a first computer system (e.g., 601) receives (802) via the one or more input devices (e.g., 601-3 and / or 601-4) a request (e.g., 605-1, 605-2, 605-3, 605-4, and / or 605-11) (e.g., a set of one or more inputs and / or instructions) to display a video feed interface (e.g., 625, 620, and / or 610) for the first computer system (e.g., a system interface, a video conferencing interface, a camera application interface, and / or a video camera selection interface). In some embodiments, the request is an instruction to display the video feed interface and / or update the display of the video feed interface based on a change detected at the first computer system and / or the second computer system (e.g., 650) (such as, for example, a change detected at the second computer system and / or a set of criteria for displaying one or more aspects of the video feed interface).

[0299] In response to receiving a request to display a video feed interface (e.g., 605-1, 605-2, 605-3, 605-4, and / or 605-11), the first computer system (e.g., 601) displays (804) the video feed interface, including: in response to determining that a second computer system (e.g., 650) (e.g., an external computer system, a second device different from the first device, and / or a smart phone) meets a first set of one or more criteria (e.g., the second computer system has previously provided a video feed for the first computer system, the second computer system has a particular orientation (e.g., on edge), the second computer system has a particular operating state, the second computer system meets a stability criterion (no motion for 1 second-5 seconds, no motion for more than 1 second, and / or no motion for 2 seconds-7 seconds), the second computer system is logged into the same user account as the first computer system, the second computer system is connected to the first computer system in a particular manner, and / or a frequency with which the second computer system is used to provide a video feed for the first computer system meets a frequency criterion), wherein the first set of one or more criteria includes the requirement that: When the second computer system is within a first threshold distance (e.g., 626-1 and / or 626-2) (e.g., 2.5 feet, 2.2 feet, 2 feet, 1.8 feet, 1.5 feet, 1 foot, 0.8 feet, or 0.5 feet) of the first computer system to satisfy the first set of one or more criteria, the first computer system displays (806) (e.g., automatically and / or without requiring additional user input) content corresponding to the second computer system (e.g., 612-2, 625-3, 620-4, 630-1, 630-2). In accordance with a determination that the second computer system (e.g., 650) does not satisfy the first set of one or more criteria, the first computer system displays (808) (e.g., automatically and / or without requiring additional user input) a video feed interface that does not have content corresponding to the second computer system.Displaying a video feed interface with or without content corresponding to the second computer system based on determining whether the second computer system meets a first set of one or more criteria enables the first computer system to automatically connect the second computer system as a camera or a selectable option for activating a camera when proximity and other criteria are met, while also preserving privacy by not automatically activating a camera based on proximity and other criteria of the second computer system and potentially disabling the ability to connect as a camera.

[0300] In some embodiments, the request to display a video feed interface (e.g., 625, 620, and / or 610) includes a request to display a video camera selection interface (e.g., 620 and / or 625) (e.g., a menu, pop-up, or other graphical element including a list and / or representation of one or more cameras that can be selected for outputting video content) (e.g., 605-2, 605-4, and / or 605-11), and the content corresponding to the second computer system (e.g., 650) includes a camera selection option (e.g., 620-4 and / or 625-3) that can be selected to cause the first computer system (e.g., 601) to output (e.g., via the one or more display generation components) a video feed (e.g., 612-2) generated using one or more cameras (e.g., 650-2) of the second computer system. Displaying a video camera selection interface with or without a camera selection option that can be selected to cause the first computer system to output a video feed generated using one or more cameras of the second computer system, such that the first computer system automatically displays the video camera selection interface with or without the camera selection option without requiring additional input from a user of the first computer system or the second computer system.

[0301] In some embodiments, when the first computer system (e.g., 601) is not outputting a video feed (e.g., 612-2) generated using one or more cameras (e.g., 650-2) of a second computer system (e.g., 650), the first computer system receives input (e.g., 605-9) corresponding to a selection of a camera selection option (e.g., 625-3), and in response to receiving the input corresponding to the selection of the camera selection option, the first computer system outputs a video feed (e.g., 612-2) generated using one or more cameras of the second computer system.

[0302] In some embodiments, displaying a video feed interface (e.g., 625, 620, and / or 610) includes: based on determining that a second computer system (e.g., 650) satisfies a second set of one or more criteria (in some embodiments, the second set of criteria includes the first set of criteria), wherein the second set of one or more criteria includes a requirement that the second computer system is within a second threshold distance (e.g., 626-1) of the first computer system (e.g., 601) that is different from (e.g., greater than or less than) a first threshold distance (e.g., 626-2) in order to satisfy the second set of one or more criteria, the first computer system displays a video camera selection interface (e.g., 625, 620, and / or 610) having a camera selection option (e.g., 625-3 and / or 620-4), which camera selection option can be selected to cause the first computer system to output (e.g., via the one or more display generation components) a video feed (e.g., 612-2) generated using the one or more cameras (e.g., 650-2) of the second computer system. Based on determining that the second computer system does not meet the second set of one or more criteria, the first computer system displays a video camera selection interface without a camera selection option (e.g., similar to Figure 6C and / or Fig.6D ). Displaying a video camera selection interface with or without a camera selection option based on determining that the second computer system is within a second threshold distance of the first computer system causes the first computer system to automatically include the camera selection option in displaying the video camera selection interface without requiring additional input from a user of the first computer system or the second computer system, and privacy is preserved by avoiding streaming of a video feed from a camera of the second computer system when the user is not near the computer system that is receiving the video feed.

[0303] In some embodiments, the request to display a video feed interface (e.g., 625, 620, and / or 610) includes a request to begin (e.g., enable, initiate, activate, and / or start) a real-time video communication session (e.g., a video conference) (e.g., 605-10), and the content corresponding to the second computer system (e.g., 650) includes a representation (e.g., 656, 612-2, 662, and / or 674) of video information (e.g., video data, image data, camera preview, and / or real-time camera feed) captured by one or more cameras (e.g., 650-2) of the second computer system. The video feed interface is displayed with or without a representation of the video information captured by one or more cameras of the second computer system, such that the first computer system automatically displays the video feed interface with or without a video feed from the second computer system without requiring additional input from a user of the first computer system or the second computer system.

[0304] In some embodiments, the representation of the video information includes (e.g., is) a view (e.g., a camera preview, a preview of a video feed) of the video information captured by the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) before the video information was shared with the real-time video communication session (e.g., before the real-time video communication session began, before the user joined the real-time video communication session, and / or before the user's video was shared with the real-time video communication session). Figure 6G , Figure 6H , Fig.6I , Figure 6K and / or Figure 6L 612-2).

[0305] In some embodiments, the representation of video information (e.g., 656, 612-2, 662, and / or 674) includes a representation (e.g., 600-1a) of a subject (e.g., 600-1) (e.g., a user of the first computer system and / or the second computer system) positioned within the field of view of the one or more cameras (e.g., 650-2) of the second computer system (e.g., 650) while the real-time video communications session is active (e.g., after the real-time video communications session has begun and before the real-time video communications session ends).

[0306] In some embodiments, displaying the video feed interface (e.g., 625, 620, and / or 610) includes: based on determining that the second computer system (e.g., 650) satisfies a third set of one or more criteria (in some embodiments, the third set of criteria includes the first set of one or more criteria), wherein the third set of one or more criteria includes a requirement that the one or more cameras (e.g., 650-2) of the second computer system are available for (e.g., enabled to, configured to, capable of, and / or within range of the first computer system) capturing video information so as to satisfy the third set of one or more criteria, the first computer system (e.g., 601) displays a representation (e.g., 602) that includes video information captured by the one or more cameras of the second computer system. , 656, 612-2, 662, and / or 674); and based on determining that the second computer system does not meet the third set of one or more criteria, the first computer system displays a video feed interface that includes a representation of video information (e.g., 612-1 and / or 612-3) captured by one or more cameras (e.g., 601-2) of the first computer system (e.g., cameras integrated into the first computer system, cameras integrated into a monitor or display generating component of the first computer system, and / or cameras (e.g., 604) connected to the first computer system via a wired connection (e.g., a cable)) (e.g., without including a representation of video information captured by the one or more cameras of the second computer system). Based on whether the second computer system is available to display a video feed interface that includes a representation of video information captured by the one or more cameras of the second computer system or includes a representation of video information captured by one or more cameras of the first computer system, the first computer system automatically selects a video feed from the first computer system or the second computer system based on the availability of the second computer system without requiring additional input from a user of the first computer system or the second computer system.

[0307] In some embodiments, the first set of one or more criteria includes a criterion based on the orientation of the second computer system (e.g., 650) (e.g., the second computer system has a corresponding orientation (e.g., within a threshold amount of a landscape orientation (e.g., within 5°, 10°, 15°, 20°, 25°, 30°, 35°, or 40°) and / or perpendicular to gravity) to satisfy the requirements of the first set of one or more criteria). A video feed interface (e.g., 625, 620, and / or 610) with or without content corresponding to the second computer system is displayed based on whether the second computer system has the corresponding orientation, so that the first computer system automatically includes or does not include content corresponding to the second computer system based on the orientation of the second computer system without requiring additional input from a user of the first computer system or the second computer system.

[0308] In some embodiments, the first set of one or more criteria includes criteria based on a user account associated with the first computer system (e.g., 601) (e.g., the second computer system (e.g., 650) is associated with (e.g., logged into and / or logged into) a user account associated with the first computer system in order to meet the requirements of the first set of one or more criteria). Displaying a video feed interface (e.g., 625, 620, and / or 610) with or without content corresponding to the second computer system based on whether the second computer system is associated with a user account associated with the first computer system provides improved security and / or privacy by ensuring that data (e.g., video information) is only shared with devices associated with a common user account.

[0309] In some embodiments, a second computer system (e.g., 650) is configured to provide video information captured by one or more cameras of the second computer system (e.g., 650-2) to a first remote computer system associated with a user account for use in generating a video feed for the first remote computer system (e.g., 612-2), and to provide video information captured by one or more cameras of the second computer system to a second remote computer system associated with a user account for use in generating a video feed for the second remote computer system (e.g., the second computer system is configured to provide video information for generating a video feed at a remote computer system logged into the same user account as the second computer system). Providing video information to a first remote computer system and a second remote computer system associated with a user account associated with the first computer system for use in generating a video feed for the respective first remote computer system and second remote computer system provides improved security and / or privacy by ensuring that the video information is shared only with devices associated with a common user account.

[0310] In some embodiments, the first set of one or more criteria includes criteria based on a corresponding state of the second computer system (e.g., 650) (e.g., the second computer system is in a corresponding state (e.g., an active state or an inactive state (passive state)) in order to meet the requirements of the first set of one or more criteria). A video feed interface (e.g., 625, 620, and / or 610) with or without content corresponding to the second computer system is displayed based on whether the second computer system is in a corresponding state, so that the first computer system automatically includes or does not include content corresponding to the second computer system based on the state of the second computer system without requiring additional input from a user of the first computer system or the second computer system. In some embodiments, the first set of one or more criteria is met when the second computer system (e.g., 650) is in an inactive state. In some embodiments, the inactive state is a state in which a display component of the second computer system is turned off and / or is in a low power state, a locked state, or a sleep state. In some embodiments, the first set of one or more criteria is met when the second computer system is in an active state (e.g., a state in which the device is displaying a home screen or application user interface and / or the device has detected user interaction with the currently displayed user interface within a threshold time period (such as 1 second, 5 seconds, 10 seconds, 30 seconds, or 60 seconds). In some embodiments, the active state is a state in which the display component of the second computer system is turned on and is in a full power state.

[0311] In some embodiments, the first set of one or more criteria includes a usage history criterion (e.g., a criterion that is satisfied (or not satisfied) based on a usage history of the second computer system (e.g., 650) for providing video information for generating a video feed (e.g., 612-2) for the first computer system (e.g., 601) based on whether the second computer system (e.g., 650) has been previously used to provide video information for generating a video feed (e.g., 612-2) for the first computer system (e.g., 601). Displaying a video feed interface (e.g., 625, 620, and / or 610) with or without content corresponding to the second computer system based on whether the second computer system has been previously used to provide video information for generating a video feed for the first computer system, such that the first computer system automatically includes or does not include content corresponding to the second computer system based on the usage history of the second computer system without requiring additional input from a user of the first computer system or the second computer system.

[0312] In some embodiments, the usage history criterion is met when the second computer system (e.g., 650) has previously been used to provide video information for generating a video feed (e.g., 612-2) for the first computer system (e.g., 601). For example, the first computer system does not automatically select the second computer system as a system camera (e.g., a camera for providing a video feed for an application operating at the first computer system and / or a preferred video feed source for the first computer system) unless a user has previously manually selected the second computer system's camera (e.g., 650-2) as a system camera for the first computer system. In some embodiments, the usage history criterion provides a different (e.g., stricter, smaller, and / or shorter) threshold for automatically selecting the second computer system's camera as a system camera for the first computer system when the camera has not previously been manually selected (e.g., ever or within a threshold amount of time, such as 1 day, 1 week, 1 month, or 1 year) as a system camera than when the second computer system's camera has previously been selected as a system camera. For example, in some embodiments, if the camera of the second computer system has been previously used as a system camera and is within a threshold distance (e.g., 626-1) of the first computer system, the first computer system automatically selects the camera of the second computer system as the system camera for the first computer system. However, if the camera of the second computer system has not been previously used as a system camera, the camera is not automatically selected as the system camera, but can be selected by a user of the first computer system by manually selecting a camera.

[0313] In some embodiments, the usage history criteria include a criterion that a usage threshold is satisfied based on usage of the second computer system (e.g., 650) for providing video information for generating a video feed (e.g., 612-2) for the first computer system (e.g., 601) (e.g., a requirement satisfied when the second computer system has been used to provide video information for generating a video feed for the first computer system a threshold number of times and / or a threshold number of times within a certain amount of time (e.g., once, more than once, once a day, once a week, once a month, twice a week, or twice a month). Displaying a video feed interface (e.g., 625, 620, and / or 610) with or without content corresponding to the second computer system based on the usage threshold for using the second computer system to provide video information for generating a video feed for the first computer system allows the first computer system to automatically include or not include content corresponding to the second computer system based on the frequency of use of the second computer system without requiring additional input from a user of the first computer system or the second computer system.

[0314] In some embodiments, the usage history criterion is met when the second computer system (e.g., 650) has been used at least once to provide video information for generating a video feed (e.g., 612-2) at the first computer system (e.g., 601). For example, in some embodiments, if the camera of the second computer system (e.g., 650-2) has been previously used as a system camera at least once and is within a threshold distance (e.g., 626-1) of the first computer system, the first computer system automatically selects the camera of the second computer system as the system camera for the first computer system. However, if the camera of the second computer system has not been previously used as a system camera at least once, the camera is not automatically selected as the system camera, but can be selected by a user of the first computer system by manually selecting a camera.

[0315] In some embodiments, the usage history criteria includes displaying a video feed interface (e.g., 625, 620, and / or 610) with or without content corresponding to the second computer system based on criteria for selecting the second computer system (e.g., 650) as a preferred video feed source (e.g., requirements that are satisfied when the second computer system has been selected (and / or is currently selected) (e.g., manually selected by a user of the first computer system and / or the second computer system) as a preferred video feed source (e.g., via a selection in a menu or settings UI of the first computer system (e.g., 601) and / or via a selection in a menu or settings UI of the second computer system) based on whether the second computer system has been selected as a preferred video feed source, such that the first computer system automatically includes or does not include content corresponding to the second computer system based on a user preference to use the second computer system as a video feed source without requiring additional input from a user of the first computer system or the second computer system.

[0316] In some embodiments, the usage history criterion is met when the second computer system (e.g., 650) has been selected as the preferred video feed source for the first computer system (e.g., 601). For example, in some embodiments, if the second computer system's camera has previously been selected as the preferred video feed source for the first computer system and the second computer system is within a threshold distance (e.g., 626-1) of the first computer system, the first computer system automatically selects the second computer system's camera (e.g., 650-2) as the system camera for the first computer system. However, if the second computer system's camera has not previously been selected as the preferred video feed source, the camera is not automatically selected as the system camera, but can be selected by a user of the first computer system by manually selecting a camera.

[0317] In some embodiments, the first set of one or more criteria includes motion criteria (e.g., criteria that are met (or not met) based on a magnitude and / or direction of movement of the second computer system) based on detected movement of the second computer system (e.g., 650) (e.g., based on whether the second computer system is stationary or substantially stationary), and displaying a video feed interface (e.g., 625, 620, and / or 610) with or without content corresponding to the second computer system based on the detected movement of the second computer system, such that the first computer system automatically includes or does not include content corresponding to the second computer system based on the movement of the second computer system, without requiring additional input from a user of the first computer system or the second computer system.

[0318] In some embodiments, movement of the second computer system (e.g., 650) is detected by the second computer system and / or the first computer system (e.g., 601). In some embodiments, the motion criterion is met when the second computer system moves within a threshold range of movement (e.g., the second computer system is stationary or substantially stationary). For example, in some embodiments, if the camera of the second computer system is stationary or substantially stationary (and within a threshold distance (e.g., 626-1)), the first computer system automatically selects the camera of the second computer system (e.g., 650-2) as the system camera of the first computer system. However, if the camera of the second computer system is not stationary or substantially stationary, the camera is not automatically selected as the system camera, but can be selected by a user of the first computer system by manually selecting a camera.

[0319] In some embodiments, the motion criteria include criteria based on the second computer system (e.g., 650) having movement within a threshold range of movement (e.g., the second computer system has been stationary or substantially stationary) for at least a threshold amount of time (e.g., a requirement that is satisfied when the second computer system is stationary (or determined to be stationary) (e.g., the second computer system is not moving or is moving less than a threshold amount of movement) for at least a threshold amount of time (e.g., 2 seconds, 5 seconds, 10 seconds, 20 seconds, 30 seconds, 45 seconds, 60 seconds, or 90 seconds). Displaying a video feed interface (e.g., 625, 620, and / or 610) with or without content corresponding to the second computer system based on whether the second computer system is stationary for at least the threshold amount of time causes the first computer system to automatically include or not include content corresponding to the second computer system based on the movement of the second computer system without requiring additional input from a user of the first computer system or the second computer system.

[0320] In some embodiments, the motion criterion is met when the second computer system (e.g., 650) moves within a threshold range of motion (e.g., the second computer system is stationary or substantially stationary) for at least a threshold amount of time (e.g., 2 seconds, 5 seconds, 10 seconds, or 20 seconds). For example, in some embodiments, if the second computer system's camera is stationary or substantially stationary for a threshold amount of time (and within a threshold distance (e.g., 626-1)), the first computer system (e.g., 601) automatically selects the second computer system's camera (e.g., 650-2) as the first computer system's system camera. However, if the second computer system's camera is not stationary or substantially stationary for the threshold amount of time, the camera is not automatically selected as the system camera, but may be selected by a user of the first computer system by manually selecting a camera.

[0321] In some embodiments, the first set of one or more criteria includes a criterion based on whether the first computer system (e.g., 601) has a wired connection or a wireless connection with the second computer system (e.g., 650) (e.g., the second computer system is connected to the first computer system via a wired connection or a wireless connection so as to meet the requirements of the first set of one or more criteria). Displaying a video feed interface (e.g., 625, 620, and / or 610) with or without content corresponding to the second computer system based on whether the second computer system is connected to the first computer system via a wired connection or a wireless connection enables the first computer system to automatically include or not include content corresponding to the second computer system based on the connection between the second computer system and the first computer system without requiring additional input from a user of the first computer system or the second computer system.

[0322] In some embodiments, if the second computer system is connected to the first computer system via a wired connection, the first computer system (e.g., 601) automatically selects a camera (e.g., 650-2) of the second computer system (e.g., 650) as the system camera for the first computer system. In some embodiments, if the second computer system is connected to the first computer system via a wireless connection, the camera is not automatically selected as the system camera, but can be selected by a user of the first computer system by manually selecting a camera. In some embodiments, if the second computer system is connected to the first computer system via a wireless connection, the camera of the second computer system is automatically selected as the system camera for the first computer system if other criteria are met (e.g., usage history criteria, motion criteria, proximity criteria, and / or the state of the second computer system).

[0323] In some embodiments, when the first computer system is in communication (e.g., via a wired connection or a wireless connection) with a second computer system (e.g., 650), the first computer system (e.g., 601) receives a request to display a video feed interface (e.g., 625, 620, and / or 610) for the first computer system (e.g., 601).

[0324] In some embodiments, the first computer system (e.g., 601) communicates with an audio generation component (e.g., a speaker and / or a bone conduction audio output device). When displaying a video feed interface (e.g., 625, 620, and / or 610) having content (e.g., 612-2, 656, 662, and / or 674) corresponding to a second computer system (e.g., 650), the first computer system outputs audio data (e.g., sound) based on sound detected using one or more microphones of the second computer system via the audio generation component. Outputting audio data based on sound detected using one or more microphones of the second computer system when displaying a video feed interface having content corresponding to the second computer system enables the first computer system to automatically select the second computer system as the audio source for the video feed without requiring additional input from a user of the first computer system or the second computer system.

[0325] In some embodiments, when a video feed interface (e.g., 625, 620, and / or 610) is displayed with content (e.g., 612-2, 656, 662, and / or 674) corresponding to a second computer system (e.g., 650), the second computer system (e.g., one or more microphones of the second computer system) is selected as the audio source for a video feed (e.g., 612-2) at the first computer system (where the video feed is provided by one or more cameras (e.g., 650-2) of the second computer system). In some embodiments, when a video feed interface is displayed without content corresponding to the second computer system, the microphone of the first computer system is selected as the audio source.

[0326] In some embodiments, the first set of one or more criteria includes a requirement that an automatic camera switching setting (e.g., 624-1) (e.g., a setting that, when enabled, allows an application providing (or configured to provide) a video feed to automatically (without user input) select a camera from which to display a video feed, display a video feed from a camera, and / or switch from using a video feed from one camera to using a video feed from another camera when the criteria are met) be enabled for a corresponding application (e.g., a real-time video communication application, a presentation application, and / or a camera application) for displaying a video feed interface (e.g., 625, 620, and / or 610) having content (e.g., 612-2, 656, 662, and / or 674) corresponding to a second computer system (e.g., 650) in order to satisfy the first set of one or more criteria. A requirement is included that an automatic camera switching setting is enabled for a corresponding application for displaying a video feed interface having content corresponding to a second computer system so as to satisfy a first set of one or more criteria, providing improved security and / or privacy by allowing a user of the computer system to enable or disable a setting for automatically switching a camera used to generate a video feed at the first computer system.

[0327] In some embodiments, different applications may have different settings for allowing (or not allowing) automatic selection of a camera or automatic switching to different cameras for the respective applications (e.g., 624-1). In some embodiments, when the automatic camera switching setting is enabled for an application, the first computer system (e.g., 601) automatically selects a camera (e.g., 650-2) of a second computer system (e.g., 650) as a video feed for the application (e.g., 612-2) when criteria are met (e.g., the first camera becomes unavailable, the second computer system is within proximity of the first computer system, motion criteria are met for the second computer system, usage history criteria are met, and / or the second computer system has a particular state in which the camera can be selected for use at the first computer system). In some embodiments, when the automatic camera switching setting is not enabled for an application, the first computer system does not automatically select the camera of the second computer system as the video feed for the application, but the camera may be selected by manual selection from a user of the first computer system. For example, when the automatic camera switching criteria are met for the second computer system, if the user selects a first application with automatic camera switching enabled, the one or more cameras of the second computer system are used as a video feed for the first application, but if the user selects a second application with automatic camera switching disabled, the one or more cameras of the second computer system are not automatically used as a video feed for the second application. Conversely, when the automatic camera switching criteria are not met for the second computer system, the one or more cameras of the second computer system are not automatically used as a video feed, regardless of whether the automatic camera switching setting for the first application or the second application is enabled. Additionally, in some embodiments, different thresholds are used for the automatic camera switching criteria (e.g., different thresholds for device orientation and / or proximity) so that the one or more cameras of the second computer system are automatically used as a video feed for the first application rather than the second application. In some embodiments, the application can select the threshold, and in other embodiments, the user can select the threshold for different applications.

[0328] Note that the above description is relative to method 800 (eg, Figure 8 ) also apply in a similar manner to the methods described above and / or below. For example, methods 700 and / or 1000 optionally include one or more of the features of the various methods described above with reference to method 800. For example, these methods may incorporate any of the techniques for selecting a camera and / or video feed for use based on criteria discussed with respect to method 800. For the sake of brevity, these details are not repeated.

[0329] FIG. 9A to FIG. 9KIllustrated are exemplary user interfaces for managing camera sharing between devices according to some embodiments. The user interfaces in these figures are used to illustrate the following description of the Fig.10 In some embodiments, the process of FIG. 9A to FIG. 9K The devices depicted in the figure can be used to perform the techniques described above. For example, FIG. 9A to FIG. 9K The telephone in the computer system is connected to the computer system and is connected to the computer system in a manner similar to that described above with respect to FIG. 6A to FIG. 6R The discussed method selects the phone as the video feed source. Similarly, the FIG. 6A to FIG. 6R The devices depicted in the figure are used to perform the techniques described below.

[0330] FIG. 9A to FIG. 9K Depicted are computer system 901 (referred to as John's laptop) (similar to John's computer system 601) and Jane's computer system 902 (similar to Jane's computer system 602) during a video conference. John's computer system 901 includes a display 901-1, a camera 901-2, a keyboard 901-3, and a trackpad 901-4. Jane's computer system 902 includes a display 902-1, a camera 902-2, a keyboard 902-3, and a trackpad 902-4. John's computer system 901 and Jane's computer system 902 include one or more elements of devices 100, 300, and / or 500, such as speakers, microphones, memory, and processors. John's computer system 901 is connected to device 950 (referred to as John's phone) (similar to device 650) and is connected in a manner similar to that described above with respect to FIG. FIG. 6A to FIG. 6RThe discussed approach uses the video information captured by the camera 950-2 (similar to the camera 650-2) of the device 950 to provide a video feed for the video conference. The device 950 includes a touch-sensitive display 950-1, a camera 950-2, and a camera 950-3. The device 950 includes one or more elements of the device 100, 300, and / or 500, such as a speaker, a microphone, a memory, and a processor. In some embodiments, John's device 950 can be used as a video feed source for multiple different devices that are all logged into the same user account. For example, the device 950 and the computer system 901 log in to John's user account, so the device 950 can be used as a video feed source for the computer system 901. If John has a second device (such as a second computer or a tablet computer) that is also logged in to John's user account, the device 950 can also be used as a video feed source for the second device. In the embodiments provided herein, one or more laptop computers and phones are used to describe these technologies; however, other devices, such as tablet computers, desktop computers, and / or other computer systems can be used. For example, computer system 901 may be a desktop computer instead of a laptop computer. As another example, for device 950, a tablet computer may be used instead of a phone.

[0331] During some portions of the video conference, John's device 950 is mounted to John's computer system 901 in a landscape orientation, where a rear side view of the device 950 is shown, e.g., as shown in FIG. Fig. 9A During some portions of the video conference, John is holding device 950, and device 950 is depicted as being detached from the laptop, e.g. Fig.9D In addition to depicting device 950 in an installed or removed configuration, FIG. 9A to FIG. 9K A schematic diagram 950a of device 950 is also provided. The schematic diagram depicts a front-side view of device 950 showing display 950-1 and camera 950-3 (e.g., a front-facing camera or a front-side camera), and represents the state of device 950 during a corresponding portion of the video conference, including depicting input received at device 950 (e.g., touch input at display 950-1). For example, in Fig. 9A , diagram 950a indicates that display 950-1 is inactive (eg, turned off, in a sleep state, and / or low power state) when device 950 is installed to John's computer system 901 and is being used for video conferencing.

[0332] exist Fig. 9A, John's computer system 901 displays a video conferencing application interface 910 (similar to video conferencing application interface 610) via display 901-1, which includes a self-view 908 showing a video feed 912 generated using camera 950-2 of John's device 950. Video feed 912 includes a representation 900-1a of John in environment 900. Fig. 9A In the illustrated embodiment, John has enabled various camera effects, such as those described above with respect to FIG. 6A to FIG. 6R The camera blur effects and lighting effects discussed.The video conferencing application interface 910 also includes Jane's video feed 914 (which is a video feed generated using camera 902-2 of Jane's computer system 902), and includes a representation 914-1 of Jane.

[0333] Jane's computer system 902 displays a video conferencing application interface 920 (similar to video conferencing application interface 910) via display 902-1, which includes a self-view 928 showing a video feed 922 generated using camera 902-2 of Jane's computer system 902. Video feed 922 includes a representation of Jane. Video conferencing application interface 920 also includes John's video feed 924, which is a video feed generated using camera 950-2 of John's device 950 (and transmitted from John's computer system 901 to Jane's computer system 902). Video feed 924 includes a representation 924-1 of John and includes camera effects enabled by John.

[0334] In some embodiments, the behavior of device 950 is modified when it is used as a video feed source for computer system 901. For example, Fig. 9A As shown, when device 950 is used as a video feed source during a video conference, device 950 turns off display 950-1 or puts display 950-1 into a low power state or sleep state, which saves battery power of device 950 and reduces screen burn-in and general wear and tear on display 950-1. Additionally, device 950 modifies typical notification behaviors, such as, for example, displaying notifications and generating audio alerts and tactile alerts. For example, in Fig. 9B, device 950 receives a phone call from "Mom" while phone 950 is being used as a video feed source for a video conference at computer system 901. When the call is detected, device 950 suppresses notifications at device 950 by keeping display 950-1 off, and does not generate other alerting behavior, such as generating an audio alert or a tactile alert, both of which may interfere with the use of device 950 as a video feed source during the video conference by introducing undesirable noise and vibration into the audio and video feeds of the video conference. In some embodiments, notification behavior at device 950 is modified rather than suppressed. For example, notifications are displayed at device 950, but audio alerts and / or tactile alerts are suppressed (e.g., not provided). In some embodiments, when device 950 is connected to computer system 901 but is not currently being used as a video feed source, device 950 displays notifications without generating audio alerts and / or tactile alerts. In some embodiments, notifications are provided at computer system 901 rather than at device 950. For example, in Fig. 9B , computer system 901 displays notification 930, thereby notifying John of an incoming call from Mom at device 950. In some embodiments, John can accept the call by selecting accept option 930-1, or reject the call by selecting reject option 930-2. In some embodiments, when the call is accepted, the call with Mom is transferred to device 950. In some embodiments, when the call is accepted, the call with Mom is enabled at computer system 901 (the computer system optionally pauses the video conference and / or pauses the use of device 950 as a video feed source for the video conference). The call is an example of a type of event for which notifications may be suppressed, not provided, and / or modified at device 950. Notifications of other events may be suppressed and / or modified, such as, for example, low battery notifications, incoming video conference requests, alarms, timers, received messages, etc. In some embodiments, when an event is received at device 950 while it is being used as a video feed source at computer system 901, and device 950 is picked up, moved, or an input (e.g., a tap input) is detected at device 950, device 950 displays a notification for the event. In some embodiments, the notification is displayed on a status user interface such as status user interface 934, which will be described in more detail below.

[0335] exist Fig. 9B In FIG. 9 , when device 950 is used as a video feed source for a video conference, device 950 detects input 905-1 on display 950-1. In response to detecting input 905-1, device 950 wakes up display 950-1 and displays status interface 934, such as Fig. 9CAs shown. Status interface 934 includes an indicator 936, such as text and / or an image, indicating that device 950 is currently being used as a video source at computer system 901. Status interface 934 also includes a disconnect option 938, which can be selected to disconnect device 950 from computer system 901, thereby terminating the use of device 950 as a video feed source at computer system 901. In some embodiments, when the use of device 950 is terminated, computer system 901 pauses or closes the video feed displayed at computer system 901, switches the video feed to a default image, switches the video feed to a different camera feed available at computer system 901 (if the automatic camera switching setting (similar to setting 624-1) is enabled for the video conferencing application), terminates the video conference, or a combination thereof. Status interface 934 provides improved privacy and security control by notifying the user that video information is being transmitted from device 950 to computer system 901 (specifically, the camera of device 950 is being used as a video feed source), and provides the user with an easily accessible option to terminate the connection.

[0336] exist Fig. 9C , John's device 950 continues to provide the video feed while displaying the status user interface 934, as indicated by the video feeds 912 and 924. However, in some embodiments, the device 950 turns off or pauses the video feed in response to the wake input 905-1 at the display 950-1.

[0337] exist Fig.9D , John is holding device 950, as depicted in the schematic diagram of John 900-1 in environment 900. In some embodiments, computer system 901 pauses the video feed, switches the video feed to a different image or camera feed, or disconnects the device when the device is moved around or if the device moves beyond a threshold distance from computer system 901. However, in Fig.9D , even when John moves the device around (e.g., rotates, turns, and moves) when picking up the device, device 950 remains connected to computer system 901 and continues to serve as a video feed source, as shown in video feeds 912 and 924. Device 950 detects input 905-2, which is a gesture for displaying the home screen at device 950.

[0338] In response to input 905-2, device 950 displays home screen 940 and turns off (or pauses) the video feed for the video conferencing application while remaining connected to computer system 901, as shown in FIG. Fig.9E When the video feed is turned off at the computer system 901, the camera control 948 is modified to indicate that the camera feed is turned off, and the self view 908 is updated to display a different image. Fig.9E In the embodiment depicted in , John's computer system 901 displays John's initials 944 and Jane's computer system 902 displays John's initials 946 instead of the live video feed from device 950. In some embodiments, when the video feed is turned off, the audio feed remains active for the video conference. In some embodiments, computer system 901 switches to a different video feed (if available) instead of displaying John's initials. In some embodiments, pausing or turning off the video feed allows John to remain connected to the video conference while using his phone. For example, in Fig.9E In FIG. 9 , John selects message icon 942 via input 905-3, and device 950 displays message interface 952, such as Fig.9F As shown, device 950 remains connected to computer system 901, and computer system 901 continues to display John's initials while the video feed is turned off.

[0339] In the embodiments described herein, John's computer system 901 may select John's device 950 as the video feed source when the criteria are met, in a manner similar to the manner in which device 650 is selected as the video feed source for computer system 601, as described above with respect to FIG. 6A to FIG. 6R discussed. For example, Figure 9G Two schematic diagrams of environment 900 are illustrated, which are similar to Fig. 6E 900a is similar to the schematic diagram provided in FIG. Fig.9D The environment 900 shown in FIG. 9 is a side view of the environment 900, and view 900b is a top view of the environment 900. The environment 900 is Figure 9G 900, wherein the device 950 is depicted as having multiple representations, each representing an example position, location, and / or orientation of the device 950 in the environment 900, wherein the representations are shown in two different views (900a and 900b). The view 900b also shows boundary lines representing different distance thresholds from the computer system 901 within which the device 950 may be selected for a video feed at the computer system 901 (e.g., relative to the device 950). FIG. 6A to FIG. 6R926-2 represents a proximity boundary within which device 950 may be selected (e.g., manually or automatically) as a video source at computer system 901 when other criteria are met. Inner boundary 926-1 represents a proximity boundary within which device 950 may be automatically (or in some cases, manually) selected as a video source by computer system 901 when other criteria are met. In some embodiments, when device 950 is within outer boundary 926-2 but outside inner boundary 926-1, device 950 may be manually selected but not automatically selected as a video feed source for computer system 901 when other criteria are met. In some embodiments, device 950 may be located within inner boundary 926-1 but not automatically selected by computer system 901 if other criteria are not met (such as, for example, if device 950 has not been previously connected to computer system 901, device 950 is not currently connected to computer system 901, device 950 has not been stationary for at least a threshold amount of time, device 950 has not been previously selected as a camera for computer system 901, device 950 has not been selected as a preferred or default camera for computer system 901, device 950 and computer system 901 are not logged into the same user account, computer system 901 and / or device 950 are not turned on, and / or other criteria are not met). In some embodiments, device 950 may be located within inner boundary 926-1 and, based on meeting or not meeting other criteria, the device may be manually selected but not automatically selected. For example, if device 950 is within inner boundary 926-1, but has not been previously selected as a video feed source for computer system 901, has not been stationary for a threshold amount of time, does not have a specific orientation, and / or has not been selected as a default or preferred camera, device 950 may be manually selected as a video feed source, but cannot be automatically selected by computer system 901. Similarly, device 950 may be located within outer boundary 926-2, and if other criteria are not met, it cannot be selected as a camera source by computer system 901. In some embodiments, some criteria prevent device 950 from being selected as a video source for computer system 901, regardless of whether other criteria are met. For example, if other criteria are met, but device 950 is located outside outer boundary 926-2, device 950 may not be selected (e.g., manually or automatically) as a video feed source for computer system 901. As another example, if computer system 901 or 950 is turned off, or if either device has been configured not to communicate with the other device, device 950 may not be selected as the video feed source for computer system 901 even if other criteria are met.Unless specifically noted otherwise, the standards described herein are not an exhaustive list of standards, nor are all listed standards required to be met for device 950 to be selected (e.g., manually and / or automatically) as a video feed source for computer system 901. Furthermore, combinations of the standards described herein may be used, including, in some embodiments, using the described standards in combination with other standards.

[0340] Representations of device 950 are provided to illustrate example scenarios in which some criteria for selecting device 950 as a video source for computer system 901 are met and some criteria for selecting the device as a video source for the computer system are not met. The different scenarios represent some of the criteria discussed above, but are not an exhaustive representation of different combinations of criteria for enabling use of device 950 as a video feed source for computer system 901. Representation 950a represents a scenario in which device 950 is supported in front of computer system 901 and is available for automatic selection as a video feed source for computer system 901 because device 950 is located within inner boundary 926-1 and device 950 meets other criteria for being automatically selected, such as, for example, being stationary and in a portrait orientation with camera 950-2 facing user John 900-1. Representation 950b represents a scenario in which device 950 is mounted to the top of computer system 901 (similar to, for example, FIG. 1 ). 9A to 9C 926-1 and device 950 meets other criteria for being automatically selected, such as, for example, being stationary and in a landscape orientation with camera 950-2 facing user John 900-1. Representation 950c represents a scenario where device 950 is mounted to the side of computer system 901 and is available for being automatically selected as a video feed source for computer system 901 because device 950 is within inner boundary 926-1 and device 950 meets other criteria for being automatically selected, similar to representation 950a. Representation 950d represents a scenario where device 950 is supported beside computer system 901 and is available for being automatically selected as a video feed source for computer system 901 because device 950 is within inner boundary 926-1 and device 950 meets other criteria for being automatically selected, similar to representation 950a.

[0341] Representation 950e represents a scenario where device 950 is in John's hand and is outside inner boundary 926-1 and inside outer boundary 926-2. At least because representation 950e is outside inner boundary 926-1, representation 950e cannot be automatically selected by computer system 901. However, because representation 950e is inside outer boundary 926-2, device 950 can be manually selected as a video feed source at computer system 901 if other criteria are met (e.g., both devices are turned on, both devices are connected to each other, and / or both devices are logged into the same user account). Some criteria may also prevent device 950 from being automatically selected as a video feed source for computer system 901 even if representation 950e is within inner boundary 926-1, such as, for example, movement of device 950, an angled orientation of device 950 depicted by representation 950e (non-portrait or landscape orientation), and camera 950-2 is positioned away from John 900-1.

[0342] Representation 950f represents a scenario where device 950 is supported on a table outside outer boundary 926-2, in a portrait orientation, with camera 950-2 facing John 900-1. In this embodiment, because device 950 is outside outer boundary 926-2, device 950 is not available for selection as a video feed source for computer system 901 even if other criteria are met (e.g., device 950 is stationary, in a portrait orientation, and the camera is facing the user).

[0343] Representation 950g represents a scenario where device 950 is positioned on top of computer system 901 with camera 950-2 facing away from John 900-1 (e.g., facing upward and / or toward the ceiling). Although representation 950g is within inner boundary 926-1 and device 950 is stationary, computer system 901 does not automatically select device 950 as the video feed source because other criteria are not met, such as, for example, that the camera is facing away from John 900-1. In some embodiments, although computer system 901 does not automatically select device 950 in the scenario for representation 950g, the device may be manually selected as the video feed source for computer system 901.

[0344] Representation 950h represents a scenario in which device 950 is positioned next to computer system 901, within inner boundary 926-1, with camera 950-2 facing away from John 900-1 (e.g., facing upward and / or toward the ceiling). Although representation 950h is located within inner boundary 926-1 and device 950 is stationary, computer system 901 does not automatically select device 950 as the video feed source because other criteria are not met, such as, for example, that the camera is facing away from John 900-1. In some embodiments, although computer system 901 does not automatically select device 950 in the scenario for representation 950h, the device may be manually selected as the video feed source for computer system 901, as described in more detail above.

[0345] exist Figure 9H , John's device 950 displays the home screen 940 while the video feed is turned off for the video conference. John's computer system 901 detects input 949 selecting the camera control 948 to cancel turning off the video feed. In some embodiments, John's device 950 displays controls for the video conference, including, for example, controls to turn off or cancel turning off the video feed, a view of the video feed (similar to the self view 908), and / or controls to turn off or cancel turning off the audio of the video feed. In some embodiments, the controls may be displayed as part of the status interface 934. In some embodiments, if the controls at John's device 950 are used to cancel turning off the video feed, the video conferencing application switches to the video feed from John's device 950. In some embodiments, if controls at computer system 901 are used to cancel closing the video feed, the video conferencing application switches to the video feed from John's device 950 if criteria are met (e.g., John's device is within the proximity threshold (e.g., 926-1 and / or 926-2), John's device is connected to computer system 901, and / or John's device is not displaying a user interface for a different application (e.g., 952 or an interface for a different application)). In some embodiments, John's device 950 displays an indication that the video conferencing application is canceling closing the video feed, and provides an option that can be selected at device 950 to restore the video feed using camera 950-2. In some embodiments, if controls at computer system 901 are used to cancel closing the video feed, the video conferencing application switches to the video feed from a different camera, such as Fig.9I shown.

[0346] exist Fig.9I, computer system 901 automatically (e.g., without receiving input at computer system 901) switches to a video feed from a different camera because John's device 950 does not meet the criteria (e.g., the criteria discussed above) for being automatically selected as the video feed source for computer system 901. For example, when input 949 is detected, the positioning of John's device 950 is consistent with Figure 9G The in indicates the corresponding positioning of 950e, 950f, 950g or 950h....

Claims

1. A method, comprising: At a first computer system in communication with one or more display generation components and one or more input devices: displaying, via the one or more display generating components, a system user interface for the first computer system, wherein the system user interface is associated with options for selecting one or more cameras for use with the first computer system, and wherein displaying the system user interface comprises simultaneously displaying: a first camera selection option for selecting video information captured by one or more cameras of a second computer system separate from the first computer system to generate a video feed for the first computer system; a second camera selection option for selecting video information captured by one or more cameras of a corresponding computer system separate from the second computer system to generate a video feed for the first computer system; and a set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system; as well as receiving, via the one or more input devices, one or more inputs directed to the system user interface while displaying the system user interface, wherein displaying the system user interface includes simultaneously displaying the first camera selection option, the second camera selection option, and the set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system; as well as In response to receiving the one or more inputs directed to the system user interface: based on determining that the one or more inputs correspond to a selection of a corresponding option from the set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system, changing a setting corresponding to the corresponding option for the one or more cameras of the second computer system when the video information of the one or more cameras of the second computer system is used to generate a video feed for the first computer system; as well as selecting the video information captured by the one or more cameras of the second computer system for use in generating a video feed for the first computer system based on determining that the one or more inputs correspond to a selection of the first camera selection option; as well as Based on determining that the one or more inputs correspond to a selection of the second camera selection option, the video information captured by the one or more cameras of the corresponding computer system is selected for use in generating a video feed for the first computer system.

2. The method of claim 1, wherein the first computer system communicates with the second computer system via a wireless connection.

3. The method of any one of claims 1 to 2, wherein displaying the system user interface for the first computer system comprises simultaneously displaying the first camera selection option, the second camera selection option, the set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system, and a set of one or more options for controlling system functions of the first computer system.

4. The method according to any one of claims 1 to 2, further comprising: displaying, via the one or more display generation components, a camera options element prior to displaying the system user interface; detecting a selection of the camera options element; as well as In response to detecting the selection of the camera options element, displaying the system user interface including the set of one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system.

5. The method according to any one of claims 1 to 2, wherein the set of one or more options associated with the camera settings for the video information captured by the one or more cameras of the second computer system includes a first set of one or more visual effects options, and the first set of one or more visual effects options can be selected to modify the visual effects used for the video information captured by the one or more cameras of the second computer system. The method of claim 5 , wherein the visual effect is applied by the second computer system.

7. The method of claim 5, wherein the visual effect comprises a blur effect applied to the one or more cameras of the second computer system used to generate the video information of the video feed for the first computer system.

8. The method of claim 5, wherein the visual effect comprises changing a zoom level of the video feed based on subject tracking information.

9. The method of claim 5, wherein the visual effect comprises changing the framing of the video feed based on subject tracking information.

10. The method of claim 5, wherein the visual effect comprises a simulated lighting effect applied to the one or more cameras of the second computer system used to generate the video information of the video feed for the first computer system.

11. A method according to claim 5, wherein the visual effect includes modifying a portion of the video information of the one or more cameras of the second computer system that corresponds to a surface in the field of view of the one or more cameras based on: the positioning of the surface in the portion of the video information relative to the one or more cameras of the second computer system.

12. The method according to claim 5, further comprising: After selecting video information captured by a corresponding camera to generate a video feed for the first computer system, a second set of one or more visual effects options different from the first set of one or more visual effects options are displayed in the system user interface, wherein the second set of one or more visual effects options are selectable to change the visual effects used for the video information captured by the corresponding camera.

13. The method according to any one of claims 1 to 2, wherein displaying the system user interface comprises displaying status information of a property of the second computer system, wherein the status information changes as the property of the second computer system changes.

14. The method according to any one of claims 1 to 2, further comprising: before displaying the system user interface for the first computer system, receiving a request to display the system user interface for the first computer system; as well as After receiving the request to display the system user interface for the first computer system: based on determining that the first set of criteria is satisfied, displaying the system user interface including the first camera selection option for selecting video information captured by one or more cameras of the second computer system; as well as Based on determining that the first set of criteria is not met, displaying the system user interface without the first camera selection option for selecting video information captured by one or more cameras of the second computer system.

15. The method according to any one of claims 1 to 2, further comprising: receiving data when the video information captured by the one or more cameras of the second computer system is not selected for use in generating the video feed for the first computer system; as well as In response to receiving the data: Based on determining that the data indicates that a set of camera selection criteria is satisfied, the video information captured by the one or more cameras of the second computer system is selected for use in generating the video feed for the first computer system.

16. The method of claim 15, wherein the set of camera selection criteria includes a requirement that an automatic camera switching setting be enabled for a corresponding application used to display the video feed for the first computer system in order to satisfy the set of camera selection criteria.

17. The method of any one of claims 1-2, wherein the one or more cameras of the second computer system have a field of view that is different from a field of view of a camera of the first computer system.

18. The method according to any one of claims 1 to 2, further comprising: After the video information captured by the one or more cameras of the second computer system has been selected for generating the video feed for the first computer system with settings corresponding to the first set of the one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system: receiving input corresponding to a selection of the first camera selection option when a camera different from the one or more cameras of the second computer system is selected to provide a video feed for the first computer system; as well as In response to receiving the input corresponding to the selection of the first camera selection option, the video information captured by the one or more cameras of the second computer system is selected for generating the video feed for the first computer system with the settings corresponding to the first group of the one or more options associated with camera settings for the video information captured by the one or more cameras of the second computer system.

19. The method according to any one of claims 1 to 2, further comprising: receiving data indicative of an event at the second computer system; as well as In response to receiving the data indicative of an event at the second computer system, a notification of the event is displayed via the one or more display generation components without providing notification of the event at the second computer system.

20. The method according to any one of claims 1 to 2, further comprising: In response to detecting a termination of use of the video information captured by the one or more cameras of the second computer system to generate the video feed for the first computer system, video information captured by one or more cameras of a computer system other than the second computer system is selected for use in generating a video feed for the first computer system.

21. The method according to any one of claims 1 to 2, further comprising: Displaying, via the one or more display generating components, an indication of one or more functions of the one or more cameras of the second computer system, wherein the indication of the one or more functions is visually associated with a representation of the video information captured by the one or more cameras of the second computer system.

22. The method of claim 21, wherein the indication of one or more functions of the one or more cameras of the second computer system comprises an indication of a surface display function, the method further comprising: receiving a set of one or more inputs corresponding to selection of the surface display function; as well as In response to receiving the set of one or more inputs corresponding to selection of the surface display function: ceasing display of at least a second portion of the representation of the video information captured by the one or more cameras of the second computer system, and and displaying a surface view at a location corresponding to the second portion of the representation of the video information captured by the one or more cameras of the second computer system, the surface view comprising a representation of a portion of the video information of the one or more cameras of the second computer system, the portion of the video information being modified to include a view of a surface positioned within a field of view of the one or more cameras of the second computer system.

23. The method of claim 22, wherein the surface view is displayed simultaneously with at least a third portion of the representation of the video information captured by the one or more cameras of the second computer system.

24. The method of claim 22, further comprising: receiving input directed to the representation of the video information while the surface view is displayed at a first display location and a fourth portion of the representation of the video information captured by the one or more cameras of the second computer system is displayed at a second display location, and In response to receiving the input directed to the representation of the video information, the surface view is displayed at the second display location and the fourth portion of the representation of the video information is displayed at the first display location.

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

26. A first computer system configured to communicate with one or more display generation components and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 24.

27. A first computer system configured to communicate with one or more display generation components and one or more input devices, the first computer system comprising: Device for carrying out the method according to any one of claims 1 to 24.

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

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