USER INTERFACES FOR REMOTE CONTENT DISPLAY

The present disclosure generally relates to user interfaces for displaying remote content. In some embodiments, the display of remote content can be split across two or more local display screens. In some embodiments, virtual displays can be generated to view remote content. In some embodiments, visual effects can be displayed associated with a cursor to provide indication of an input at a remote computer system.

FIELD

The present disclosure relates generally to computer user interfaces, and more specifically to techniques for displaying remote content.

BACKGROUND

Content can be shared between computer systems such that a local computer system can display content that is provided by a remote computer system. User interfaces can be provided so that the remote content can be displayed at the local computer system.

BRIEF SUMMARY

Some techniques for displaying remote content using electronic devices, however, are generally cumbersome and inefficient. For example, some existing techniques use a complex and time-consuming user interface, which may include multiple key presses or keystrokes. Existing techniques require more time than necessary, wasting user time and device energy. This latter consideration is particularly important in battery-operated devices.

Accordingly, the present technique provides electronic devices with faster, more efficient methods and interfaces for displaying remote content. Such methods and interfaces optionally complement or replace other methods for displaying remote content. Such methods and interfaces reduce the cognitive burden on a user and produce a more efficient human-machine interface. For battery-operated computing devices, such methods and interfaces conserve power, increase the time between battery charges, provide improved control schemes for displaying remote content, and reduce the computational workload of the computing devices.

Example methods are described herein. An example method includes, at a computer system that is in communication with a set of one or more display generation components and one or more input devices: displaying, via the set of one or more display generation components, a shared-content user interface having respective content shared from an external computer system, the shared-content user interface including: a representation of first content shared from a first desktop of the external computer system; and a representation of second content shared from a second desktop of the external computer system; while displaying the shared-content user interface having a first displayed state, receiving a request to modify the shared-content user interface from the first displayed state to a second displayed state; and in response to receiving the request to modify the shared-content user interface from the first displayed state to the second displayed state, displaying the shared-content user interface having the second displayed state, including: in accordance with a determination that the set of one or more display generation components includes a first display generation component and a second display generation component different from the first display generation component, displaying the representation of the first content shared from the first desktop of the external computer system at the first display generation component and displaying the representation of the second content shared from the second desktop of the external computer system at the second display generation component; and in accordance with a determination that the set of one or more display generation components includes the first display generation component and does not include another display generation component, displaying the representation of the first content shared from the first desktop of the external computer system and the representation of the second content shared from the second desktop of the external computer system at the first display generation component of the computer system.

An example method includes, at a computer system that is in communication with a set of one or more display generation components and one or more input devices: displaying, via the set of one or more display generation components, a setup user interface for enabling display of content shared from an external computer system, including displaying, in the setup user interface, a plurality of display type options for selecting a display type for displaying the content shared from the external computer system; detecting, via the one or more input devices, a first set of one or more inputs corresponding to a request to enable display of content shared from the external computer system; and in response to detecting the first set of one or more inputs corresponding to a request to enable display of content shared from the external computer system, displaying, via the one or more display generation components, content shared from the external computer system, including: in accordance with a determination that a first display type option is selected, displaying, via the set of one or more display generation components, a representation of first content that is shared from the external computer system and is displayed at a display device of the external computer system; and in accordance with a determination that a second display type option is selected, generating a virtual display interface that includes a representation of second content that is shared from the external computer system and is not displayed at a display device of the external computer system.

An example method includes, at a computer system that is in communication with a display generation component and one or more input devices: while displaying, via the display generation component, a first user interface that includes a representation of respective content shared between the computer system and an external computer system: in response to detection of an input while a cursor is displayed at the first user interface: in accordance with a determination that the cursor is displayed at a location in the first user interface that overlaps at least a portion of the representation of respective content shared between the computer system and the external computer system when the input is detected, performing a first action associated with the detected input and displaying a visual effect that is visually associated with the cursor when a set of criteria is met; and in accordance with a determination that the cursor is displayed at a location in the first user interface that does not overlap at least a portion of the representation of respective content shared between the computer system and the external computer system when the input is detected, performing a second action associated with the detected input without displaying the visual effect that is visually associated with the cursor regardless of whether the set of criteria is met.

Example non-transitory computer-readable storage media are described herein. An example non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system that is in communication with a set of one or more display generation components and one or more input devices, the one or more programs including instructions for: displaying, via the set of one or more display generation components, a shared-content user interface having respective content shared from an external computer system, the shared-content user interface including: a representation of first content shared from a first desktop of the external computer system; and a representation of second content shared from a second desktop of the external computer system; while displaying the shared-content user interface having a first displayed state, receiving a request to modify the shared-content user interface from the first displayed state to a second displayed state; and in response to receiving the request to modify the shared-content user interface from the first displayed state to the second displayed state, displaying the shared-content user interface having the second displayed state, including: in accordance with a determination that the set of one or more display generation components includes a first display generation component and a second display generation component different from the first display generation component, displaying the representation of the first content shared from the first desktop of the external computer system at the first display generation component and displaying the representation of the second content shared from the second desktop of the external computer system at the second display generation component; and in accordance with a determination that the set of one or more display generation components includes the first display generation component and does not include another display generation component, displaying the representation of the first content shared from the first desktop of the external computer system and the representation of the second content shared from the second desktop of the external computer system at the first display generation component of the computer system.

An example non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system that is in communication with a set of one or more display generation components and one or more input devices, the one or more programs including instructions for: displaying, via the set of one or more display generation components, a setup user interface for enabling display of content shared from an external computer system, including displaying, in the setup user interface, a plurality of display type options for selecting a display type for displaying the content shared from the external computer system; detecting, via the one or more input devices, a first set of one or more inputs corresponding to a request to enable display of content shared from the external computer system; and in response to detecting the first set of one or more inputs corresponding to a request to enable display of content shared from the external computer system, displaying, via the one or more display generation components, content shared from the external computer system, including: in accordance with a determination that a first display type option is selected, displaying, via the set of one or more display generation components, a representation of first content that is shared from the external computer system and is displayed at a display device of the external computer system; and in accordance with a determination that a second display type option is selected, generating a virtual display interface that includes a representation of second content that is shared from the external computer system and is not displayed at a display device of the external computer system.

An example non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system that is in communication with a display generation component and one or more input devices, the one or more programs including instructions for: while displaying, via the display generation component, a first user interface that includes a representation of respective content shared between the computer system and an external computer system: in response to detection of an input while a cursor is displayed at the first user interface: in accordance with a determination that the cursor is displayed at a location in the first user interface that overlaps at least a portion of the representation of respective content shared between the computer system and the external computer system when the input is detected, performing a first action associated with the detected input and displaying a visual effect that is visually associated with the cursor when a set of criteria is met; and in accordance with a determination that the cursor is displayed at a location in the first user interface that does not overlap at least a portion of the representation of respective content shared between the computer system and the external computer system when the input is detected, performing a second action associated with the detected input without displaying the visual effect that is visually associated with the cursor regardless of whether the set of criteria is met.

Example transitory computer-readable storage media are described herein. An example transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system that is in communication with a set of one or more display generation components and one or more input devices, the one or more programs including instructions for: displaying, via the set of one or more display generation components, a shared-content user interface having respective content shared from an external computer system, the shared-content user interface including: a representation of first content shared from a first desktop of the external computer system; and a representation of second content shared from a second desktop of the external computer system; while displaying the shared-content user interface having a first displayed state, receiving a request to modify the shared-content user interface from the first displayed state to a second displayed state; and in response to receiving the request to modify the shared-content user interface from the first displayed state to the second displayed state, displaying the shared-content user interface having the second displayed state, including: in accordance with a determination that the set of one or more display generation components includes a first display generation component and a second display generation component different from the first display generation component, displaying the representation of the first content shared from the first desktop of the external computer system at the first display generation component and displaying the representation of the second content shared from the second desktop of the external computer system at the second display generation component; and in accordance with a determination that the set of one or more display generation components includes the first display generation component and does not include another display generation component, displaying the representation of the first content shared from the first desktop of the external computer system and the representation of the second content shared from the second desktop of the external computer system at the first display generation component of the computer system.

An example transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system that is in communication with a set of one or more display generation components and one or more input devices, the one or more programs including instructions for: displaying, via the set of one or more display generation components, a setup user interface for enabling display of content shared from an external computer system, including displaying, in the setup user interface, a plurality of display type options for selecting a display type for displaying the content shared from the external computer system; detecting, via the one or more input devices, a first set of one or more inputs corresponding to a request to enable display of content shared from the external computer system; and in response to detecting the first set of one or more inputs corresponding to a request to enable display of content shared from the external computer system, displaying, via the one or more display generation components, content shared from the external computer system, including: in accordance with a determination that a first display type option is selected, displaying, via the set of one or more display generation components, a representation of first content that is shared from the external computer system and is displayed at a display device of the external computer system; and in accordance with a determination that a second display type option is selected, generating a virtual display interface that includes a representation of second content that is shared from the external computer system and is not displayed at a display device of the external computer system.

An example transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system that is in communication with a display generation component and one or more input devices, the one or more programs including instructions for: while displaying, via the display generation component, a first user interface that includes a representation of respective content shared between the computer system and an external computer system: in response to detection of an input while a cursor is displayed at the first user interface: in accordance with a determination that the cursor is displayed at a location in the first user interface that overlaps at least a portion of the representation of respective content shared between the computer system and the external computer system when the input is detected, performing a first action associated with the detected input and displaying a visual effect that is visually associated with the cursor when a set of criteria is met; and in accordance with a determination that the cursor is displayed at a location in the first user interface that does not overlap at least a portion of the representation of respective content shared between the computer system and the external computer system when the input is detected, performing a second action associated with the detected input without displaying the visual effect that is visually associated with the cursor regardless of whether the set of criteria is met.

Example computer systems are described herein. An example computer system is configured to communicate with a set of one or more display generation components and one or more input devices and includes: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying, via the set of one or more display generation components, a shared-content user interface having respective content shared from an external computer system, the shared-content user interface including: a representation of first content shared from a first desktop of the external computer system; and a representation of second content shared from a second desktop of the external computer system; while displaying the shared-content user interface having a first displayed state, receiving a request to modify the shared-content user interface from the first displayed state to a second displayed state; and in response to receiving the request to modify the shared-content user interface from the first displayed state to the second displayed state, displaying the shared-content user interface having the second displayed state, including: in accordance with a determination that the set of one or more display generation components includes a first display generation component and a second display generation component different from the first display generation component, displaying the representation of the first content shared from the first desktop of the external computer system at the first display generation component and displaying the representation of the second content shared from the second desktop of the external computer system at the second display generation component; and in accordance with a determination that the set of one or more display generation components includes the first display generation component and does not include another display generation component, displaying the representation of the first content shared from the first desktop of the external computer system and the representation of the second content shared from the second desktop of the external computer system at the first display generation component of the computer system.

An example computer system is configured to communicate with a set of one or more display generation components and one or more input devices and includes: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying, via the set of one or more display generation components, a setup user interface for enabling display of content shared from an external computer system, including displaying, in the setup user interface, a plurality of display type options for selecting a display type for displaying the content shared from the external computer system; detecting, via the one or more input devices, a first set of one or more inputs corresponding to a request to enable display of content shared from the external computer system; and in response to detecting the first set of one or more inputs corresponding to a request to enable display of content shared from the external computer system, displaying, via the one or more display generation components, content shared from the external computer system, including: in accordance with a determination that a first display type option is selected, displaying, via the set of one or more display generation components, a representation of first content that is shared from the external computer system and is displayed at a display device of the external computer system; and in accordance with a determination that a second display type option is selected, generating a virtual display interface that includes a representation of second content that is shared from the external computer system and is not displayed at a display device of the external computer system.

An example computer system is configured to communicate with a display generation component and one or more input devices and includes: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: while displaying, via the display generation component, a first user interface that includes a representation of respective content shared between the computer system and an external computer system: in response to detection of an input while a cursor is displayed at the first user interface: in accordance with a determination that the cursor is displayed at a location in the first user interface that overlaps at least a portion of the representation of respective content shared between the computer system and the external computer system when the input is detected, performing a first action associated with the detected input and displaying a visual effect that is visually associated with the cursor when a set of criteria is met; and in accordance with a determination that the cursor is displayed at a location in the first user interface that does not overlap at least a portion of the representation of respective content shared between the computer system and the external computer system when the input is detected, performing a second action associated with the detected input without displaying the visual effect that is visually associated with the cursor regardless of whether the set of criteria is met.

An example computer system is configured to communicate with a set of one or more display generation components and one or more input devices and includes means for displaying, via the set of one or more display generation components, a shared-content user interface having respective content shared from an external computer system, the shared-content user interface including: a representation of first content shared from a first desktop of the external computer system; and a representation of second content shared from a second desktop of the external computer system; means for, while displaying the shared-content user interface having a first displayed state, receiving a request to modify the shared-content user interface from the first displayed state to a second displayed state; and means for, in response to receiving the request to modify the shared-content user interface from the first displayed state to the second displayed state, displaying the shared-content user interface having the second displayed state, including: in accordance with a determination that the set of one or more display generation components includes a first display generation component and a second display generation component different from the first display generation component, displaying the representation of the first content shared from the first desktop of the external computer system at the first display generation component and displaying the representation of the second content shared from the second desktop of the external computer system at the second display generation component; and in accordance with a determination that the set of one or more display generation components includes the first display generation component and does not include another display generation component, displaying the representation of the first content shared from the first desktop of the external computer system and the representation of the second content shared from the second desktop of the external computer system at the first display generation component of the computer system.

An example computer system is configured to communicate with a set of one or more display generation components and one or more input devices and includes means for displaying, via the set of one or more display generation components, a setup user interface for enabling display of content shared from an external computer system, including displaying, in the setup user interface, a plurality of display type options for selecting a display type for displaying the content shared from the external computer system; means for detecting, via the one or more input devices, a first set of one or more inputs corresponding to a request to enable display of content shared from the external computer system; and means for, in response to detecting the first set of one or more inputs corresponding to a request to enable display of content shared from the external computer system, displaying, via the one or more display generation components, content shared from the external computer system, including: in accordance with a determination that a first display type option is selected, displaying, via the set of one or more display generation components, a representation of first content that is shared from the external computer system and is displayed at a display device of the external computer system; and in accordance with a determination that a second display type option is selected, generating a virtual display interface that includes a representation of second content that is shared from the external computer system and is not displayed at a display device of the external computer system.

An example computer system is configured to communicate with a display generation component and one or more input devices and includes means for while displaying, via the display generation component, a first user interface that includes a representation of respective content shared between the computer system and an external computer system: in response to detection of an input while a cursor is displayed at the first user interface: in accordance with a determination that the cursor is displayed at a location in the first user interface that overlaps at least a portion of the representation of respective content shared between the computer system and the external computer system when the input is detected, performing a first action associated with the detected input and displaying a visual effect that is visually associated with the cursor when a set of criteria is met; and in accordance with a determination that the cursor is displayed at a location in the first user interface that does not overlap at least a portion of the representation of respective content shared between the computer system and the external computer system when the input is detected, performing a second action associated with the detected input without displaying the visual effect that is visually associated with the cursor regardless of whether the set of criteria is met.

Example computer program products are described herein. An example computer program product includes one or more programs configured to be executed by one or more processors of a computer system that is in communication with a set of one or more display generation components and one or more input devices, the one or more programs including instructions for: displaying, via the set of one or more display generation components, a shared-content user interface having respective content shared from an external computer system, the shared-content user interface including: a representation of first content shared from a first desktop of the external computer system; and a representation of second content shared from a second desktop of the external computer system; while displaying the shared-content user interface having a first displayed state, receiving a request to modify the shared-content user interface from the first displayed state to a second displayed state; and in response to receiving the request to modify the shared-content user interface from the first displayed state to the second displayed state, displaying the shared-content user interface having the second displayed state, including: in accordance with a determination that the set of one or more display generation components includes a first display generation component and a second display generation component different from the first display generation component, displaying the representation of the first content shared from the first desktop of the external computer system at the first display generation component and displaying the representation of the second content shared from the second desktop of the external computer system at the second display generation component; and in accordance with a determination that the set of one or more display generation components includes the first display generation component and does not include another display generation component, displaying the representation of the first content shared from the first desktop of the external computer system and the representation of the second content shared from the second desktop of the external computer system at the first display generation component of the computer system.

An example computer program product includes one or more programs configured to be executed by one or more processors of a computer system that is in communication with a set of one or more display generation components and one or more input devices, the one or more programs including instructions for: displaying, via the set of one or more display generation components, a setup user interface for enabling display of content shared from an external computer system, including displaying, in the setup user interface, a plurality of display type options for selecting a display type for displaying the content shared from the external computer system; detecting, via the one or more input devices, a first set of one or more inputs corresponding to a request to enable display of content shared from the external computer system; and in response to detecting the first set of one or more inputs corresponding to a request to enable display of content shared from the external computer system, displaying, via the one or more display generation components, content shared from the external computer system, including: in accordance with a determination that a first display type option is selected, displaying, via the set of one or more display generation components, a representation of first content that is shared from the external computer system and is displayed at a display device of the external computer system; and in accordance with a determination that a second display type option is selected, generating a virtual display interface that includes a representation of second content that is shared from the external computer system and is not displayed at a display device of the external computer system.

An example computer program product includes one or more programs configured to be executed by one or more processors of a computer system that is in communication with a display generation component and one or more input devices, the one or more programs including instructions for: while displaying, via the display generation component, a first user interface that includes a representation of respective content shared between the computer system and an external computer system: in response to detection of an input while a cursor is displayed at the first user interface: in accordance with a determination that the cursor is displayed at a location in the first user interface that overlaps at least a portion of the representation of respective content shared between the computer system and the external computer system when the input is detected, performing a first action associated with the detected input and displaying a visual effect that is visually associated with the cursor when a set of criteria is met; and in accordance with a determination that the cursor is displayed at a location in the first user interface that does not overlap at least a portion of the representation of respective content shared between the computer system and the external computer system when the input is detected, performing a second action associated with the detected input without displaying the visual effect that is visually associated with the cursor regardless of whether the set of criteria is met.

Thus, devices are provided with faster, more efficient methods and interfaces for displaying remote content, thereby increasing the effectiveness, efficiency, and user satisfaction with such devices. Such methods and interfaces may complement or replace other methods for displaying remote content.

DESCRIPTION OF EMBODIMENTS

There is a need for electronic devices that provide efficient methods and interfaces for displaying remote content. Such techniques can reduce the cognitive burden on a user who views remote content, thereby enhancing productivity. Further, such techniques can reduce processor and battery power otherwise wasted on redundant user inputs.

Below,FIGS.1A-1B,2,3,4A-4B, and5A-5Bprovide a description of exemplary devices for performing the techniques for editing, creating, and using stickers.FIGS.6A-6Oillustrate exemplary user interfaces for displaying remote content.FIG.7is a flow diagram illustrating methods of displaying remote content, in accordance with some embodiments. The user interfaces inFIGS.6A-6Oare used to illustrate the processes described below, including the processes inFIG.7.FIGS.8A-8Pillustrate exemplary user interfaces for generating virtual displays for displaying remote content.FIG.9is a flow diagram illustrating methods of generating virtual displays for displaying remote content, in accordance with some embodiments. The user interfaces inFIGS.8A-8Pare used to illustrate the processes described below, including the processes inFIG.9.FIGS.10A-10Killustrate exemplary user interfaces for displaying shared content.FIG.11is a flow diagram illustrating methods of displaying shared content, in accordance with some embodiments. The user interfaces inFIGS.10A-10Kare used to illustrate the processes described below, including the processes inFIG.11.

The processes described below enhance the operability of the devices and make the user-device interfaces more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating/interacting with the device) through various techniques, including by providing improved visual feedback to the user, reducing the number of inputs needed to perform an operation, providing additional control options without cluttering the user interface with additional displayed controls, performing an operation when a set of conditions has been met without requiring further user input, providing improved control schemes for viewing shared content, providing improved control schemes for accessing content at remote computer systems, reducing the computational workload of the computer system, and/or additional techniques. These techniques also reduce power usage and improve battery life of the device by enabling the user to use the device more quickly and efficiently.

Although the following description uses terms “first,” “second,” etc. to describe various elements, these elements should not be limited by the terms. In some embodiments, these terms are used to distinguish one element from another. For example, a first touch could be termed a second touch, and, similarly, a second touch could be termed 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, the first touch and the second touch are both touches, but they are not the same touch.

I/O subsystem106couples input/output peripherals on device100, such as touch screen112and other input control devices116, to peripherals interface118. I/O subsystem106optionally includes display controller156, optical sensor controller158, depth camera controller169, intensity sensor controller159, haptic feedback controller161, and one or more input controllers160for other input or control devices. The one or more input controllers160receive/send electrical signals from/to other input control devices116. The other input control devices116optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and so forth. In some embodiments, input controller(s)160are, optionally, coupled to any (or none) of the following: a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. The one or more buttons (e.g.,208,FIG.2) optionally include an up/down button for volume control of speaker111and/or microphone113. The one or more buttons optionally include a push button (e.g.,206,FIG.2). In some embodiments, the electronic device is a computer system that is in communication (e.g., via wireless communication, via wired communication) with one or more input devices. In some embodiments, the one or more input devices include a touch-sensitive surface (e.g., a trackpad, as part of a touch-sensitive display). In some embodiments, the one or more input devices include one or more camera sensors (e.g., one or more optical sensors164and/or one or more depth camera sensors175), 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 independently of an input element that is a part of the device) and is based on detected motion of a portion of the user's body through the air including motion of the user's body relative to an absolute reference (e.g., an angle of the user's arm relative to the ground or a distance of the user's hand relative to the ground), relative to another portion of the user's body (e.g., movement of a hand of the user relative to a shoulder of the user, movement of one hand of the user relative to another hand of the user, and/or movement of a finger of the user relative to another finger or portion of a hand of the user), and/or absolute motion of a portion of the user's body (e.g., a tap gesture that includes movement of a hand in a predetermined pose by a predetermined amount and/or speed, or a shake gesture that includes a predetermined speed or amount of rotation of a portion of the user's body).

Device100optionally also includes one or more depth camera sensors175.FIG.1Ashows a depth camera sensor coupled to depth camera controller169in I/O subsystem106. Depth camera sensor175receives data from the environment to create a three dimensional model of an object (e.g., a face) within a scene from a viewpoint (e.g., a depth camera sensor). In some embodiments, in conjunction with imaging module143(also called a camera module), depth camera sensor175is optionally used to determine a depth map of different portions of an image captured by the imaging module143. In some embodiments, a depth camera sensor is located on the front of device100so that the user's image with depth information is, optionally, obtained for video conferencing while the user views the other video conference participants on the touch screen display and to capture selfies with depth map data. In some embodiments, the depth camera sensor175is located on the back of device, or on the back and the front of the device100. In some embodiments, the position of depth camera sensor175can be changed by the user (e.g., by rotating the lens and the sensor in the device housing) so that a depth camera sensor175is used along with the touch screen display for both video conferencing and still and/or video image acquisition.

Text input module134, which is, optionally, a component of graphics module132, provides soft keyboards for entering text in various applications (e.g., contacts module137, e-mail client module140, IM module141, browser module147, and any other application that needs text input).

GPS module135determines the location of the device and provides this information for use in various applications (e.g., to telephone module138for use in location-based dialing; to camera module143as picture/video metadata; and to applications that provide location-based services such as weather widgets, local yellow page widgets, and map/navigation widgets).

Each of the above-identified elements inFIG.3is, optionally, stored in one or more of the previously mentioned memory devices. Each of the above-identified modules corresponds to a set of instructions for performing a function described above. The above-identified modules or computer programs (e.g., sets of instructions or including instructions) need not be implemented as separate software programs (such as computer programs (e.g., including instructions)), procedures, or modules, and thus various subsets of these modules are, optionally, combined or otherwise rearranged in various embodiments. In some embodiments, memory370optionally stores a subset of the modules and data structures identified above. Furthermore, memory370optionally stores additional modules and data structures not described above.

As used here, the term “affordance” refers to a user-interactive graphical user interface object that is, optionally, displayed on the display screen of devices100,300, and/or500(FIGS.1A,3, and5A-5B). For example, an image (e.g., icon), a button, and text (e.g., hyperlink) each optionally constitute an affordance.

As used herein, the terms “open application” or “executing application” refer to a software application with retained state information (e.g., as part of device/global internal state157and/or application internal state192). An open or executing application is, optionally, any one of the following types of applications:an active application, which is currently displayed on a display screen of the device that the application is being used on;a background application (or background processes), which is not currently displayed, but one or more processes for the application are being processed by one or more processors; anda suspended or hibernated application, which is not running, but has state information that is stored in memory (volatile and non-volatile, respectively) and that can be used to resume execution of the application.

In some embodiments, the computer system is in a locked state or an unlocked state. In the locked state, the computer system is powered on and operational but is prevented from performing a predefined set of operations in response to user input. The predefined set of operations optionally includes navigation between user interfaces, activation or deactivation of a predefined set of functions, and activation or deactivation of certain applications. The locked state can be used to prevent unintentional or unauthorized use of some functionality of the computer system or activation or deactivation of some functions on the computer system. In some embodiments, in the unlocked state, the computer system is powered on and operational and is not prevented from performing at least a portion of the predefined set of operations that cannot be performed while in the locked state. When the computer system is in the locked state, the computer system is said to be locked. When the computer system is in the unlocked state, the computer is said to be unlocked. In some embodiments, the computer system in the locked state optionally responds to a limited set of user inputs, including input that corresponds to an attempt to transition the computer system to the unlocked state or input that corresponds to powering the computer system off.

FIGS.6A-6Oillustrate exemplary user interfaces for displaying remote content, in accordance with some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes inFIG.7.

The present disclosure describes embodiments in which respective content can be concurrently output at devices participating in a shared-content session (e.g., a screen sharing session). In some embodiments, the respective content is screen-share content. For example, the content of a host device's displayed screen(s) is shared with one or more participants of the screen sharing session such that the participant(s) can view, at their respective device or devices, the screen content of the host device (the sharing device, or, the device whose screen content is being shared), including any changes to the displayed screen content, in real time. In some embodiments, the screen-share content is referred to as remote content because the content originates from a computer (e.g., the host computer) that is remote from the computer that is displaying the screen-share content. In some embodiments, screen-share content is used to refer to content that is available at a host computer, but is not necessarily displayed at a display device of the host computer. For example, the host computer can provide content for the screen sharing session even if the content is not being displayed at the host computer (e.g., the host computer does not have a display device (for example the host computer is a server) or the display device is inactive). In some embodiments, the screen-share content is synchronized in its output (e.g., via an application local to the devices of the participants) at the devices of the participants of the screen sharing session. In some embodiments, each device of the participants outputs the content at a size and quality that is appropriate for the respective device and connectivity (e.g., data connection conditions such as data transmission and/or processing speeds) of the device, thereby providing a more customized, yet synchronized, playback or viewing experience at each of the participants' devices. In some embodiments, an application (or “app”) is available (e.g., downloaded and/or installed) at a respective device to enable the device to participate in screen sharing sessions. In some embodiments, devices participating in a shared-content session (e.g., a screen sharing session) can communicate with each other to provide data that is relevant for the shared-content session. For example, a host device may transmit information to a participant device to indicate one or more inputs received at the host device. Similarly, a participant device may transmit information to the host device to indicate one or more inputs received at the participant device.

In some embodiments, the screen-share content is displayed in a window that is optionally overlaid on another user interface (e.g., a home screen and/or an application user interface) and can be moved and/or resized separately from the user interface over which it is displayed. In some embodiments, a window can be moved, resized, minimized, docked, undocked, and/or expanded in response to various inputs and/or gestures.

Unless specified otherwise, as discussed herein, the term “share,” “sharing,” or “shared” is used generally to refer to a situation in which content (e.g., screen-share content) is, or is capable of, being output (e.g., viewed and/or played) concurrently at devices that are participating in a screen sharing session. In some embodiments, screen sharing content is shared with participants of the screen sharing session by transmitting, from a host device to participant devices of the screen sharing session, image data representing content that is available at the host device and, in some embodiments, is displayed on display screens of the host device. In some embodiments, the shared content is content that is available at the host device, but is not displayed at a display screen of the host device. For example, in some embodiments, the host device is a computer processor that does not include any display components. In some embodiments, control rights can be granted to a participant device of the screen-share session, even if the participant device is not providing the screen-share content. For example, a participant device that is displaying the shared content can be given access to control the content at the host device such that the displayed screen-share content is modified in response to inputs provided by the participant device.

In some embodiments, a real-time communication session can be active for a screen sharing session through one or more audio and/or video channels that, when active (e.g., open), enable real-time communication for one or more participants of the screen sharing session. For example, when one or more audio channels are active during the screen sharing session, a real-time communication session is considered to be enabled and participants of the screen sharing session can speak to one another in real time (e.g., via an audio call and/or live audio feed) while the screen sharing session is ongoing and, optionally, while content is being shared via the screen sharing session. As another example, when one or more video channels are active (e.g., via a video conferencing application that is local to respective devices), a real-time communication session is considered to be enabled and participants of the screen sharing session can participate in a live video communication (e.g., video chat, video call, video conference, and/or live video feed) while the screen sharing session is ongoing and, optionally, while content is being shared via the screen sharing session. In some embodiments, a real-time communication session can be audio only (e.g., an audio channel is active without a video channel), video only (e.g., a video channel is active without an audio channel), or both audio and video enabled (e.g., the audio channel and video channel are both active). In some embodiments, the audio or video channel can be active with the respective audio feed or video feed temporarily disabled or muted (e.g., the microphone providing the audio feed is muted and/or the camera providing the video feed is disabled). In some embodiments, a real-time communication session can be active (e.g., real-time communication is enabled) separate from a screen sharing session (e.g., without an active screen sharing session). In some embodiments, a screen sharing session can be active separate from a real-time communication session (e.g., without real-time communication enabled). Various aspects of these embodiments, and further details of a screen sharing session and real-time communication session, are discussed below with reference to the figures.

FIGS.6A-6Oillustrate exemplary systems or devices for participating in screen sharing sessions, in accordance with some embodiments. Specifically, these systems or devices include Jane's system600(also referred to as Jane's computer600in some embodiments) and John's system (including John's computer610, John's laptop650, or in some embodiments, both), which are shown concurrently in some figures to illustrate concurrent states of the respective devices, including the user interfaces and inputs at the respective devices.

In the embodiments provided herein, John's system can be described as performing a set of functions associated with the screen sharing session, and Jane's system can be described as performing a different set of functions associated with the screen sharing session. These descriptions are not intended to limit the functions performed by the respective systems, but rather, are provided to illustrate various aspects and embodiments of a screen sharing session. Thus, unless specified otherwise, the functions that are described as being performed using John's system are similarly capable of being performed using Jane's system. Likewise, the functions that are described as being performed by Jane's system are similarly capable of being performed by John's system, unless specified otherwise.

FIG.6Adepicts Jane's system600, which is a computer system that, in some embodiments, is comprised of first display screen600a, second display screen600b, and hardware600c. Hardware600cincludes processors, memory, and other components for operating Jane's system600. In some embodiments, Jane's system600includes one or more elements of devices100,300, and/or500. Jane's system600displays first desktop601on first display screen600aand second desktop602on second display screen600b. First desktop601includes menu bar603, system window604, and application window606. Menu bar603includes icons that can be selected to launch applications operating on Jane's system600. Second desktop602includes messaging application window608. A balloon-themed wallpaper is shown on first desktop601and second desktop602.

In the embodiments described with respect toFIGS.6A-6O, the content displayed at Jane's system600is being shared with John's system so that John's system is displaying screen-share content from Jane's system600. In some embodiments, the sharing of content is enabled through a sharing application operating at Jane's system600and at John's system. As described in greater detail below, the sharing application permits John's system to display the content shared from Jane's system600and, in some embodiments, to perform actions at Jane's system600. In the embodiments described herein, Jane's system is sharing content with John's system. However, it should be appreciated that John's system can be configured to share content with Jane's system in an analogous manner. For the sake of brevity, these details are not repeated.

FIG.6Bdepicts John's computer610, which is a part of John's system. John's computer610includes display610aand other hardware for operating John's computer610. In some embodiments, John's computer610includes one or more elements of devices100,300, and/or500. In some embodiments, John's system includes John's computer610without other devices. In some embodiments, John's system includes John's computer610and other devices such as John's laptop650, as described in greater detail below. In some embodiments, John's system can include John's laptop without other devices.

As shown inFIG.6B, John's computer610displays John's desktop611and menu bar613. John's desktop611is the desktop for John's computer610, which is shown with a star-themed wallpaper and includes menu bar613. Menu bar613includes icons that can be selected to launch an application operating at John's computer610. John's computer610also displays sharing application window615, which is a user interface for the sharing application being used to display the remote content being shared from Jane's system600. Sharing application window615includes menu region612, which includes information associated with the sharing application and/or shared content and icons for controlling aspects of the shared content, as described in greater detail below.

Content in menu region612includes indicator614, display lock option616, control access option618, dynamic resolution option620, show application icons option622, show open applications option624, show desktop option626, and display menu628. Indicator614indicates that the screen-share content is being shared from Jane (by way of Jane's system600). Options616,622,624, and626are selectable to perform system-level functions at Jane's system600. For example, display lock option616can be selected to cause Jane's system600to lock display screens600aand600bwhile the shared screen content remains displayed at John's computer610. Show application icons option622can be selected to cause Jane's system600to display an arrangement of application icons corresponding to applications available at Jane's system600. Show open applications option624can be selected to cause Jane's system600to display an arrangement of application windows that are open at Jane's system600. Show desktop option626can be selected to cause Jane's system600to display a desktop view. Control access option618can be selected to request control of the content at Jane's system600. Dynamic resolution option620can be selected to enable or disable a mode for automatically adjusting a resolution of the displayed screen-share content. The mode is currently enabled, as indicated by the border around dynamic resolution option620inFIG.6B. Display menu628can be selected to change which of Jane's shared desktops are shown in sharing application window615. The functions and operations of the various options in menu region612are described in greater detail below.

InFIG.6B, John's computer610is displaying content from Jane's display screen600a. Display menu628indicates that “Display1” is selected for display in sharing application window615. Accordingly, John's computer610is displaying the content from Jane's first desktop, as depicted by representation601aof first desktop601, including the balloon wallpaper and representation603aof menu bar603, representation604aof system window604, and representation606aof application window606. John's computer610detects input630, which is a selection (e.g., via a mouse click, trackpad click, a touch input on a touch-sensitive surface, or the like) of display menu628, and in response, displays expanded display menu632, as shown inFIG.6C.

InFIG.6C, John's computer610displays expanded display menu632with options for selecting which of Jane's display screens are shown in sharing application window615. Both displays option632acan be selected to show the content of both of Jane's first desktop601and second desktop602in sharing application window615. Display1option632bcan be selected to show the representation of Jane's first desktop601in sharing application window615(e.g., as shown inFIGS.6B and6C). Display2option632ccan be selected to show the representation of Jane's second desktop602in sharing application window615in a manner that is analogous to the display of the representation of Jane's first desktop610inFIGS.6B and6C. John's computer610detects input634selecting both displays option632a, and in response, updates sharing application window615to show the content from both Jane's first desktop601and second desktop602, as shown inFIG.6D.

InFIG.6D, John's computer610updates the shared content displayed in sharing application window615to include representation601aof first desktop601and representation602aof second desktop602. Representation602aof second desktop602includes representation608aof messaging application window608. Display menu628is updated to indicate that content from both displays (e.g., the content shared from display screen600aand display screen600b) are shown in sharing application window615.

FIGS.6D-6Hdepict example user interfaces for various embodiments in which the sharing application window615is enlarged (e.g., to a full-screen mode) while displaying the shared content from both of Jane's display screens. In the embodiment depicted inFIGS.6D and6E, John's system includes John's computer610without another display device. InFIG.6D, John's computer610detects input636selecting expand option638and, in response, expands sharing application window to an enlarged (e.g., full-screen) display mode on John's computer610, as shown inFIG.6E.

In the embodiments depicted inFIGS.6F-6H, John's system includes John's computer610and John's laptop650. John's laptop650includes display650a, keyboard650b, and trackpad650c. In some embodiments, John's laptop650includes one or more elements of devices100,300, and/or500. InFIG.6F, John's laptop650displays second desktop640for John's system, and John's computer610displays sharing application window615, including the shared content from Jane's first and second desktops. InFIG.6F, John's computer610detects input642selecting expand option638. Because John's system includes a second display component (e.g., display650aof John's laptop650), the shared content in shared application window615is displayed in an enlarged (e.g., full-screen) display mode and split across the two display components, as shown inFIG.6G. In the embodiments provided herein, the second display component is provided by John's laptop650, however, it should be appreciated that other display components can be used such as, for example, a monitor, tablet, smartphone, or other display devices. In some embodiments, the sizes of the respective devices are not shown to scale for the sake of clarity. For example, inFIG.6F, John's laptop650is shown smaller than John's computer610so that the content displayed on John's computer610is easier to view in the figures. As another example, in some embodiments John's laptop650is smaller than John's computer610, but is shown in the figures (e.g.,FIG.6G) as having a similar size so that the content displayed on John's laptop650is easier to view in the figures.

InFIG.6G, John's system displays the shared content from Jane's system in the enlarged display mode and split (e.g., separated) across the two display devices in John's system (e.g., John's computer610and John's laptop650). Accordingly, John's computer610displays representation601aof first desktop601in expanded (e.g., full-screen) display mode, including the balloon wallpaper, representation603aof menu bar603, representation604aof system window604, and representation606aof application window606. Similarly, John's laptop650displays representation602aof second desktop602in expanded (e.g., full-screen) display mode, including the balloon wallpaper and representation608aof messaging application window608.

In the embodiment depicted inFIGS.6F and6G, the dynamic resolution mode is enabled (as indicated by the display of a border around dynamic resolution option620inFIG.6F). Accordingly, the resolution of the content displayed on John's computer610and John's laptop650(e.g., representation601aand representation602a, respectively) is automatically adjusted to fit the display capabilities of John's computer610and John's laptop650, respectively. For example, the physical size of display650aof John's laptop650is smaller than the physical size of Jane's second display screen600b. Therefore, when the shared content is displayed in expanded (e.g., full-screen) display mode as shown inFIG.6G, John's laptop650automatically adjusts the displayed resolution of representation602aof second desktop602to fit the size dimensions of display650a, thereby maintaining the dimensions of the shared content as originally displayed on Jane's second display screen600b. In the embodiment depicted inFIG.6G, John's computer610has the same size dimensions as Jane's first display screen600a. Therefore, the automatic adjustments to the displayed resolution of representation601aof first desktop601are not apparent. By splitting the shared content across the two display devices, John's system is able to utilize a greater amount of display space to display the shared content in an expanded view, better presenting the shared content for John's viewing. Because the dynamic resolution mode is enabled, the benefits of the expanded view are maintained, even if the display capabilities of the devices in John's system are not consistent with those of Jane's displays.

FIG.6Hdepicts an alternate embodiment to that shown inFIG.6G, wherein the shared content is expanded while the dynamic resolution mode is disabled. In this embodiment, the displayed resolution of the shared content is not automatically adjusted for the display capabilities of John's computer610and John's laptop650, because the dynamic resolution mode is disabled. Because the physical size of display650aof John's laptop650is smaller than the physical size of Jane's second display screen600b, the shared content from Jane's second display screen600adoes not fit properly onto display650awhen representation602aof second desktop602is displayed in expanded (e.g., full-screen) display mode, as shown inFIG.6H. In the embodiment depicted inFIG.6H, John's computer610has the same size dimensions as Jane's first display screen600a. Therefore, representation601aof first desktop601fits properly onto display610a, even though the dynamic resolution mode is disabled.

FIGS.6I-6Odepict example user interfaces for various embodiments in which the options in menu region612are selected while the content being shared from Jane's system600is displayed in the expanded (e.g., full-screen) display mode at John's computer610and John's laptop650. In some embodiments, when the shared application window is in the expanded (e.g., full-screen) display mode, menu region612is hidden. In some embodiments, menu region612can be displayed (or redisplayed), for example, by positioning a cursor near the top of display610aor display650a, or in response to another command or setting.FIG.6Idepicts John's computer610displaying menu region612and representation601aof first desktop601in the expanded display mode, and depicts John's laptop650displaying representation602aof second desktop602in the expanded display mode.

FIG.6Jdepicts Jane's system600and John's system (e.g., John's computer610and John's laptop650) in response to John's computer610detecting selection of show application icons option622inFIG.6I. The show application icons option622is an option for invoking a system function at Jane's system600that causes Jane's system to display an arrangement (e.g., a grid) of application icons that correspond to applications available at Jane's system600. The resulting action at Jane's system600is displayed at John's system because the content from Jane's system600is being shared with John's system. For example, in response to detecting selection of show application icons option622at John's computer610, Jane's system600ceases display of system window604and application window606and displays application icons644in a grid view in first desktop601. Respective application icons644can be selected to launch corresponding applications at Jane's system600, similar to selecting application icons from menu bar603. Jane's system600continues to display second desktop602with messaging application window608. Because the content at Jane's system600continues to be shared at John's system, John's computer610displays representation601aof first desktop601including representations644aof application icons644in the grid view, and John's laptop650continues to display representation602aof second desktop602including representation608aof messaging application window608.

FIG.6Kdepicts Jane's system600and John's system (e.g., John's computer610and John's laptop650) in response to John's computer610detecting selection of show open applications option624inFIG.6I. The show open applications option624is an option for invoking a system function at Jane's system600that causes Jane's system to display an arrangement (e.g., a non-overlapping arrangement) of application windows that are open at Jane's system600. The resulting action at Jane's system600is displayed at John's system because the content from Jane's system600is being shared with John's system. For example, in response to detecting selection of show open applications option624at John's computer610, Jane's system600displays system window604and application window606in a non-overlapping arrangement and displays region646including tabs648that can be selected to access content opened at Jane's system600. Jane's system600also displays messaging application window608and message window652in a non-overlapping arrangement on second desktop602. Message window652is a window that is open at Jane's system600, but was previously not displayed (for example, window652was hidden behind messaging application window608). Because the content at Jane's system600continues to be shared at John's system, John's computer610displays representation601aof first desktop601including the non-overlapping arrangement of representation604aof system window604and representation606aof application window606, and representation646aof region646including representations648aof tabs648. John's laptop650displays the non-overlapping arrangement of representation608aof messaging application window608and representation652aof message window652on representation602aof second desktop602.

FIG.6Ldepicts Jane's system600and John's system (e.g., John's computer610and John's laptop650) in response to John's computer610detecting selection of show desktop option626inFIG.6I. The show desktop option626is an option for invoking a system function at Jane's system600that causes Jane's system to display default or homescreen views of first desktop601and second desktop602without open application windows. The resulting action at Jane's system600is displayed at John's system because the content from Jane's system600is being shared with John's system. For example, in response to detecting selection of show desktop option626at John's computer610, Jane's system600displays first desktop601and second desktop602without any open application windows such as system window604, application window606, or messaging application window608. Because the content at Jane's system600continues to be shared at John's system, John's computer610displays representation601aof first desktop601without representations of the system window and application window, and John's laptop650displays representation602aof second desktop602without representation608aof messaging application window608.

FIG.6Mdepicts Jane's system600and John's system (e.g., John's computer610and John's laptop650) in response to John's computer610detecting selection of control access option618inFIG.6I, and after permission is granted from Jane's system600to allow John's system to control Jane's system600(permission can be granted in a manner similar to that described below with respect toFIG.10E). In this embodiment, John's system is configured to control movement of the cursor at Jane's system600and, as a result, to provide inputs using the cursor such as selecting content displayed at Jane's system600, which is also being shared with John's system. In some embodiments, the cursor is controlled using a mouse or other input device associated with John's computer610. In some embodiments, the cursor is controlled using trackpad650cof John's laptop650. InFIG.6M, Jane's system600displays cursor654positioned on second desktop602. In the embodiment depicted inFIG.6M, Jane's system600also displays indicator656, which indicates that John's system (e.g., John's computer610or John's laptop650) has control of cursor654(additional details of such embodiments are described with respect toFIGS.10A-10K). Because the content at Jane's system600is being shared at John's system, John's laptop650shows representation602aof desktop602including representation654aof cursor654positioned on representation608aof messaging application window608. In some embodiments, John's computer650does not display a representation of indicator656because it is apparent to John that he is controlling cursor654. In the embodiment inFIG.6M, John's system (either via John's computer610or via John's laptop650) selects message658at Jane's system600. In response, Jane's system600displays message window660, as shown inFIG.6N. Accordingly, John's laptop650also displays representation660aof message window660in representation602aof second desktop602.

FIG.6Odepicts Jane's system600and John's system (e.g., John's computer610and John's laptop650) in response to John's computer610detecting selection of display lock option616inFIG.6I(or in some embodiments, inFIG.6M). The display lock option616is an option for invoking a system function at Jane's system600that causes Jane's system to lock display screens600aand600b, displaying login screen665at Jane's system600. In this embodiment, Jane is restricted from accessing the content at Jane's system600, while John maintains access to the content at Jane's system600, even though the content from Jane's system600is not actively displayed at first display screen600aand second display screen600b. Accordingly, John's computer610continues to display representation601aof first desktop601and John's laptop650continues to display representation602aof second desktop602. In some embodiments, if John's system is granted control of the content at Jane's system600(in a manner similar to that described above with respect toFIGS.6M and6N), John's system can continue to control Jane's system600while display screens600aand600bremain locked. In some embodiments, the display lock feature can be implemented as a security feature to enhance privacy for John's operation of Jane's system600when John is a trusted user of Jane's system600.

FIG.7is a flow diagram illustrating a method for displaying remote content using a computer system in accordance with some embodiments. Method700is performed at a computer system (e.g.,100,300,500,600,610, and/or650) (e.g., a smartphone, a tablet computer, a desktop computer, a laptop computer, and/or a head-mounted device (e.g., a head-mounted augmented reality and/or extended reality device)) that is in communication with (e.g., includes and/or is connected to) a set of one or more display generation components (600a,600b,610a, and/or650a) (e.g., a display controller, a monitor, a touch-sensitive display system, a display screen, a projector, a holographic display, and/or a head-mounted display system) and one or more input devices (e.g.,650band/or650c) (e.g., a touch-sensitive surface, a keyboard, mouse, trackpad, one or more optical sensors for detecting gestures, one or more capacitive sensors for detecting hover inputs, and/or accelerometer/gyroscope/inertial measurement units). Some operations in method700are, optionally, combined, the orders of some operations are, optionally, changed, and some operations are, optionally, omitted.

As described below, method700provides an intuitive way for displaying remote content. The method reduces the cognitive burden on a user for manipulating user interfaces displaying remote content, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to manipulate user interfaces displaying remote content faster and more efficiently conserves power and increases the time between battery charges.

In method700, the computer system (e.g.,610and/or650) displays (702), via the set of one or more display generation components (e.g.,610aand/or650a), a shared-content user interface (e.g.,615) (e.g., a screen-sharing interface and/or a screen sharing application window) having respective content (e.g.,601aand/or602a) shared from an external computer system (e.g.,600) (e.g., a remote computer system having two or more desktops). In some embodiments, the respective content is shared (e.g., transmitted) from the external computer system (directly, or indirectly such as, for example, through a server) to the computer system for display at the computer system. In some embodiments, the respective content is concurrently displayed at both the computer system and the external computer system. In some embodiments, the respective content is not displayed at the external computer system. The shared-content user interface includes: a representation (e.g.,601a) of first content shared from a first desktop (e.g.,601) (e.g., content that represents a first desktop of the external computer system and/or is displayed on a first display screen (e.g.,600a) of the external computer system and is being shared with the computer system) of the external computer system (e.g., a first remote desktop); and a representation (e.g.,602a) of second content shared from a second desktop (e.g.,602) (e.g., content that represents a second desktop of the external computer system and/or is displayed on a second display screen (e.g.,600b) of the external computer system and is being shared with the computer system) of the external computer system (e.g., a second remote desktop).

While displaying the shared-content user interface (e.g.,615) having a first displayed state (e.g., as shown inFIG.6F) (e.g., a state in which the shared-content user interface is not displayed in a full-screen mode and/or is displayed at a smaller size than the second displayed state), the computer system (e.g.,610and/or650) receives (704) a request (e.g.,642) to modify (e.g., expand and/or enlarge) the shared-content user interface from the first displayed state to a second displayed state (e.g., a state in which the shared-content user interface is displayed in a full-screen mode and/or is displayed at a larger size than the first displayed state).

In response to receiving the request to modify the shared-content user interface (e.g.,615) from the first displayed state to the second displayed state, the computer system (e.g.,610and/or650) displays (706) the shared-content user interface having the second displayed state, including the following. In accordance with a determination that the set of one or more display generation components includes a first display generation component (e.g.,610a) and a second display generation component (e.g.,650a) different from the first display generation component (e.g., the computer system is in communication with, or includes, two or more display screens that are available for use at the computer system), the computer system displays (708) (or causes display of) the representation (e.g.,601a) of the first content shared from the first desktop (e.g.,601) of the external computer system (e.g.,600) at the first display generation component (e.g.,610a) (e.g., without displaying the representation of the second content at the first display generation component) and displays the representation (e.g.,602a) of the second content shared from the second desktop (e.g.,602) of the external computer system at the second display generation component (e.g.,650a) (e.g., as shown inFIG.6G) (e.g., without displaying the representation of the first content at the second display generation component). In some embodiments, the computer system displays the representation of the first content shared from the first desktop of the external computer system having the second displayed state (e.g., enlarged and/or full-screen) at the first display generation component. In some embodiments, the computer system displays the representation of the second content shared from the second desktop of the external computer system having the second displayed state (e.g., enlarged and/or full-screen) at the second display generation component.

In accordance with a determination that the set of one or more display generation components includes the first display generation component (e.g.,610aor650a) and does not include another display generation component (e.g., the computer system is in communication with, or includes, only a single display screen, and/or only a single display screen is available for use at the computer system), the computer system (e.g.,610) displays (710) the representation (e.g.,601a) of the first content shared from the first desktop (e.g.,601) of the external computer system (e.g.,600) and the representation (e.g.,602a) of the second content shared from the second desktop (e.g.,602) of the external computer system at the first display generation component (e.g.,610a) of the computer system (e.g., as shown inFIG.6E) (e.g., without displaying the shared-content user interface at any other display screen) (e.g., the representation of the first remote desktop and the representation of the second remote desktop are displayed having the second displayed state (e.g., enlarged and/or full-screen) at the first display screen of the computer system and are not displayed at any other display screen). Displaying the representation of the first content shared from the first desktop of the external computer system at the first display generation component and displaying the representation of the second content shared from the second desktop of the external computer system at the second display generation component when the set of one or more display generation components includes a first display generation component and a second display generation component different from the first display generation component provides an improved control scheme for viewing content shared from two different remote desktops. In some embodiments, the computer system displays the representation of the first remote desktop and the representation of the second remote desktop in a single enlarged and/or full-screen window (e.g., in the same window) at the first display screen.

In some embodiments, the request to modify the shared-content session user interface (e.g.,615) from the first displayed state (e.g., a state as shown inFIGS.6B and/or6C) to the second displayed state (e.g., a state as shown inFIGS.6D,6E,6F, and/or6G) includes a selection (e.g.,630and/or634) of a user interface element (e.g.,628and/or632a) (e.g., a “both displays” option) for concurrently displaying (e.g., at the first display generation component and/or at the second display generation component) the representation (e.g.,601a) of the first content shared from the first desktop (e.g.,601) of the external computer system (e.g.,600) and the representation (e.g.,602a) of the second content shared from the second desktop (e.g.,602) of the external computer system. In some embodiments, the representation of the first content shared from the first desktop of external computer system is displayed at the first display generation component (e.g.,610a) and the representation of the second content shared from the second desktop of the external computer system is displayed at the second display generation component (e.g.,650a) when the “both displays” option (e.g.,632a) is selected while the shared-content user interface (e.g.,615) is in an enlarged and/or full-screen mode.

In some embodiments, the computer system (e.g.,610and/or650) displays (e.g., in response to receiving a selection of a dropdown menu (e.g.,628and/or632) having options (e.g.,632a-632c) for selecting the first remote desktop content, the second remote desktop content, or both) a set of display options (e.g., user interface elements) for selecting content for display in the shared-content user interface, wherein the set of display options includes: a first selectable option (e.g., a “Display1” option) for displaying (e.g., at the first display generation component or at the second display generation component) the representation of the first content shared from the first desktop of the external computer system (e.g., without displaying the representation of the second content shared from the second desktop of the external computer system); a second selectable option (e.g., a “Display2” option) for displaying (e.g., at the first display generation component or at the second display generation component) the representation of the second content shared from the second desktop of the external computer system (e.g., without displaying the representation of the first content shared from the first desktop of the external computer system); and a third selectable option (e.g., a “both displays” option) for concurrently displaying (e.g., at the first display generation component and/or at the second display generation component) the representation of the first content shared from the first desktop of the external computer system and the representation of the second content shared from the second desktop of the external computer system. In some embodiments, in response to detecting a selection of the third selectable option (in some embodiments, the selection of the third selectable option is part of the request to modify the shared-content session user interface from the first displayed state to the second displayed state), the computer system performs the following: in accordance with a determination that the set of one or more display generation components includes the first display generation component and the second display generation component, displaying the representation of the first content shared from the first desktop of the external computer system at the first display generation component and displaying the representation of the second content shared from the second desktop of the external computer system at the second display generation component; and in accordance with a determination that the set of one or more display generation components includes the first display generation component and does not include another display generation component, displaying the representation of the first content shared from the first desktop of the external computer system and the representation of the second content shared from the second desktop of the external computer system at the first display generation component of the computer system.

In some embodiments, the representation (e.g.,601a) of the first content shared from the first desktop (e.g.,601) of the external computer system (e.g.,600) is displayed having a first resolution at the first display generation component (e.g.,610a) (e.g., a resolution that is determined based on the display settings of the first display generation component). In some embodiments, the representation (e.g.,602a) of the second content shared from the second desktop (e.g.,602) of the external computer system is displayed having a second resolution at the second display generation component (e.g.,650a) (e.g., a resolution that is determined based on the display settings of the second display generation component). In some embodiments, the first resolution is different from the second resolution (e.g., as shown inFIG.6G). Displaying the representation of the first content shared from the first desktop of the external computer system having a first resolution at the first display generation component and displaying the representation of the second content shared from the second desktop of the external computer system having a second, different resolution at the second display generation component provides additional control options for automatically adjusting the displayed resolution of content without cluttering the user interface with additional displayed controls. In some embodiments, the content displayed at the first display is displayed at a different resolution than the content displayed at the second display because the display settings of the first and second displays are different. In some embodiments, the content is displayed at different resolutions at the first/second displays if a feature (e.g., a dynamic resolution feature) is enabled to allow the display of content at different resolutions at different display devices.

In some embodiments, the shared-content user interface (e.g.,615) includes a set of one or more system function options (e.g.,616,622,624, and/or626) (e.g., user interface elements) that are selectable to cause a system function (e.g., displaying a predefined arrangement (e.g., a grid) of application icons, displaying a predefined arrangement of application windows, and/or displaying a desktop) to be performed by an operating system of the external computer system (e.g.,600). Displaying the shared-content user interface including a set of one or more system function options that are selectable to cause a system function to be performed by an operating system of the external computer system provides additional controls for performing a system function at the external computer system without cluttering the user interface with additional displayed controls (e.g., controls that would otherwise be displayed in the shared content from the first/second desktops).

In some embodiments, the set of one or more system function options includes a first system function option (e.g.,622) (e.g., a “show application icons” option). In response to detecting selection of the first system function option, the computer system (e.g.,610and/or650) causes the operating system of the external computer system (e.g.,600) to display, at the first desktop (e.g.,601) (e.g.,600a) of the external computer system (and/or the second desktop of the external computer system), a predefined arrangement (e.g., a grid arrangement and/or a non-overlapping arrangement) of application icons (e.g.,644) corresponding to applications available at the external computer system. The computer system displays the representation (e.g.,601a) of first content shared from the first desktop of the external computer system including a representation (e.g.,644a) of the predefined arrangement of application icons corresponding to applications available at the external computer system. Causing the operating system of the external computer system to display, at the first desktop of the external computer system, a predefined arrangement of application icons corresponding to applications available at the external computer system, and displaying the representation of first content shared from the first desktop of the external computer system including a representation of the predefined arrangement of application icons corresponding to applications available at the external computer system provides additional controls for causing the external computer system to display a predefined arrangement of the application icons without cluttering the user interface with additional displayed controls (e.g., controls that would otherwise be displayed in the shared content from the first/second desktops).

In some embodiments, the set of one or more system options includes a second system function option (e.g.,624) (e.g., a “show open applications” option). In response to detecting selection of the second system function option, the computer system (e.g.,610and/or650) causes the operating system of the external computer system (e.g.,600) to display, at the first desktop (e.g.,601) (e.g.,600a) of the external computer system (and/or the second desktop of the external computer system), a predefined arrangement (e.g., a grid arrangement and/or a non-overlapping arrangement) of application windows (e.g.,604,606,608, and/or652) corresponding to applications opened at the external computer system. The computer system displays the representation (e.g.,601a) of first content shared from the first desktop of the external computer system including a representation (e.g.,604a,606a,608a, and/or652a) of the predefined arrangement of application windows corresponding to applications opened at the external computer system. Causing the operating system of the external computer system to display, at the first desktop of the external computer system, a predefined arrangement of application windows corresponding to applications opened at the external computer system, and displaying the representation of first content shared from the first desktop of the external computer system including a representation of the predefined arrangement of application windows corresponding to applications opened at the external computer system provides additional controls for causing the external computer system to display a predefined arrangement of the opened application windows without cluttering the user interface with additional displayed controls (e.g., controls that would otherwise be displayed in the shared content from the first/second desktops).

In some embodiments, the set of one or more system options includes a third system function option (e.g.,626) (e.g., a “show desktop” option). In response to detecting selection of the third system function option, the computer system (e.g.,610and/or650) causes the operating system of the external computer system (e.g.,600) to display, at the first desktop (e.g.,601) (e.g.,600a) of the external computer system (and/or the second desktop of the external computer system), a desktop view of the first desktop (and/or the second desktop) of the external computer system (e.g., as shown inFIG.6L) (e.g., a view of the computer desktop (e.g., a home screen, an area of the computer screen in which application icons are optionally displayed, and/or an area of the computer screen that does not include any open application windows)). The computer system displays the representation of first content shared from the first desktop of the external computer system including a representation (e.g.,601a) of the desktop view of the first desktop of the external computer system. Causing the operating system of the external computer system to display, at the first desktop of the external computer system, a desktop view of the first desktop of the external computer system, and displaying the representation of first content shared from the first desktop of the external computer system including a representation of the desktop view of the first desktop of the external computer system provides additional controls for causing the external computer system to display the desktop view of the first desktop without cluttering the user interface with additional displayed controls (e.g., controls that would otherwise be displayed in the shared content from the first/second desktops).

In some embodiments, the shared-content user interface (e.g.,615) includes a control access option (e.g.,618) (e.g., user interface element). In response to detecting selection of the control access option, the computer system (e.g.,610and/or650) initiates a process for requesting access (e.g., from the external computer system (e.g.,600)) to control operation of the first desktop (e.g.,600a) (e.g.,601) and/or the second desktop (e.g.,600b) (e.g.,602) of the external computer system (e.g., using the one or more input devices of the computer system). Initiating a process for requesting access to control operation of the first desktop and/or the second desktop of the external computer system in response to detecting selection of the control access option provides additional control options for requesting access to control the external computer system without cluttering the user interface with additional displayed controls. In some embodiments, the external computer system is prompted to grant or deny the request for the computer system to control operation of the first and/or second desktop of the external computer system. If the external computer system grants the request, the computer system is given permission to control operation of the first and/or second desktop, including controlling the first content shared from the first desktop of the external computer system and/or the second content shared from the second desktop of the external computer system.

In some embodiments, the shared-content user interface (e.g.,615) includes a display lock option (e.g.,616) (e.g., user interface element). While the first content shared from the first desktop (e.g.,601) of the external computer system (e.g.,600) is displayed (e.g., at a first display device (e.g.,600a)) at the external computer system and the second content shared from the second desktop (e.g.,602) of the external computer system is displayed (e.g., at a second display device (e.g.,600b)) at the external computer system, the computer system (e.g.,610and/or650) detects, via the one or more input devices (e.g.,650cand/or650b), a selection of the display lock option. In response to detecting selection of the display lock option, the computer system initiates a process for disabling the display of the first content at the external computer system (e.g., locking, disabling, and/or visually obscuring the first content, the first desktop, and/or the first display device) and disabling the display of the second content at the external computer system (e.g., locking, disabling, and/or visually obscuring the second content, the second desktop, and/or the second display device). While the display of the first content and the second content are disabled at the external computer system (e.g., as shown inFIG.6O), the computer system continues to display, via the set of one or more display generation components (e.g.,610aand/or650a), the shared-content user interface including the representation (e.g.,601a) of first content shared from the first desktop (e.g.,601) (e.g.,600a) of the external computer system and the representation (e.g.,602a) of second content shared from the second desktop (e.g.,602) (e.g.,600b) of the external computer system. Continuing to display the shared-content user interface including the representation of first content shared from the first desktop of the external computer system and the representation of second content shared from the second desktop of the external computer system while the display of the first content and the second content are disabled at the external computer system provides an enhanced control scheme for accessing content at the external computer system while maintaining privacy for the user of the computer system accessing the external computer system.

In some embodiments, displaying the representation (e.g.,601a) of the first content shared from the first desktop (e.g.,601) of the external computer system (e.g.,600) at the first display generation component (e.g.,610a) includes adjusting (e.g., automatically, without further user input) a displayed size (e.g., increasing or decreasing the displayed dimensions) of the representation of the first content based on a set of one or more size characteristics (e.g., display screen size, resolution, and/or display dimensions) of the first display generation component (e.g., to fit within the dimensions of the first display generation component). In some embodiments, displaying the representation (e.g.,602a) of the second content shared from the second desktop (e.g.,602) of the external computer system at the second display generation component (e.g.,650a) includes adjusting (e.g., automatically, without further user input) a displayed size (e.g., increasing or decreasing the displayed dimensions) of the representation of the second content based on a set of one or more size characteristics (e.g., display screen size, resolution, and/or display dimensions) of the second display generation component (e.g., to fit within the dimensions of the second display generation component). Adjusting a displayed size of the representation of the first content based on a set of one or more size characteristics of the first display generation component and adjusting a displayed size of the representation of the second content based on a set of one or more size characteristics of the second display generation component reduces the number of inputs needed to adjust the displayed sizes of the representations of first and second content for the respective first and second display generation components.

Note that details of the processes described above with respect to method700(e.g.,FIG.7) are also applicable in an analogous manner to the methods described below. For example, methods900and1100optionally include one or more of the characteristics of the various methods described above with reference to method700. For example, the virtual user interfaces generated using the techniques in method900and/or the user interfaces for displaying shared content as described with respect to method1100can be manipulated using any of the techniques described with respect to method700. For brevity, these details are not repeated below.

FIGS.8A-8Pillustrate exemplary user interfaces for generating virtual displays for displaying remote content, in accordance with some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes inFIG.9.

FIG.8Aillustrates John's computer610displaying connections interface802, which is a user interface for establishing a connection with a remote device or computer system in order to share content. For example, a connection can be established with the remote device or computer system to share screen content as described with respect toFIGS.6A-6Oand FIGS.10A-10K. Connections interface802includes a listing of recently connected computer systems. In some embodiments, a connection can be reestablished with a recently connected computer system. For example, John's system was previously connected to Jane's computer and the connection can be established (or reestablished) by selecting connect option806. In some embodiments, a new connection can be established by selecting new connection option804.FIGS.8A-8Cdepict an example embodiment in which new connection option804is used to establish a connection with Jane's computer. However, it should be appreciated that the connection can instead be established by selecting connect option806. In some embodiments, selecting connect option806identifies Jane's computer for establishing a connection without displaying the user interface inFIG.8B, and the user interface inFIG.8Cis displayed in response to selecting connect option806. In some embodiments, selecting connect option806establishes a connection with Jane's computer without displaying the user interfaces depicted inFIGS.8B and8C, and the user interface depicted inFIG.8Dis displayed in response to selecting connect option806.

InFIG.8A, John's computer610detects input808selecting new connection option804and, in response, displays interface810, which prompts the user to enter the name or identification of a computer system with which to connect. For example, the identification can be a user ID, email address, or other means for identifying a computer for establishing the connection. As shown inFIG.8B, Jane's computer is identified in interface810and connect option812is selected via input814.

In response to selection of connect option812, John's computer610displays login interface816, as shown inFIG.8C. Login interface816is an interface used to provide credentials for accessing or logging into Jane's computer. After entering the login credentials such as a username and password, John's computer610detects input818selecting continue option820. In response, the login credentials are authorized and John's computer610establishes a connection with Jane's computer600.

After selecting continue option820, John's computer610displays display type interface822, as shown inFIG.8D. Display type interface822provides options for selecting different display types that can be generated at John's computer610for viewing content from Jane's computer600. Virtual display option824can be selected (e.g., via one or more inputs) to generate a single virtual display window for viewing content that is accessed from, but not displayed at, Jane's computer600. Virtual displays option826can be selected (e.g., via one or more inputs) to generate two virtual display windows for viewing content accessed from, but not displayed at, Jane's computer. Remote computer display option828can be selected (e.g., via one or more inputs) to generate a window for viewing content that is currently displayed at a physical display device (e.g., display screen600a) of Jane's computer600.

FIG.8Dalso depicts Jane's computer600, which is displaying desktop832on display screen600a. Desktop832includes system window834, application window836, and menu bar838including application icons that can be selected to launch an application available at Jane's computer600. In the embodiment depicted inFIG.8D, Jane's computer600includes display screen600aand hardware600c.

FIGS.8D-8Fdepict example interfaces for an embodiment in which remote computer display option828is selected in display type interface822. InFIG.8D, John's computer610detects input830selecting remote computer display option828. In response, John's computer610shows option828in a selected state (as indicated by a checkmark next to the option), as shown inFIG.8E. John's computer610then detects input840selecting continue option842and, in response, displays window845as shown inFIG.8F. Window845is a user interface for viewing content that is currently displayed at display screen600aof Jane's computer600. Specifically, window845includes representation832aof desktop832, which includes representation834aof system window834, representation836aof application window836, and representation838aof menu bar838. Accordingly, John's computer610is displaying the content from Jane's display screen600a, as shown inFIG.8F. In some embodiments, window845is similar to sharing application window615. Accordingly, John's computer610can view and interact with the content on Jane's display screen600ain a manner similar to that discussed above with respect toFIGS.6A-6O. For the sake of brevity, details are not repeated.

In some embodiments, John's computer610can generate one or more virtual displays for viewing content from Jane's computer600. In such embodiments, the content from Jane's computer600may not be displayed at a display screen (e.g., display screen600a) of Jane's computer, but can still be accessed via the connection between John's computer610and Jane's computer600. In this way, John's computer610establishes a virtual desktop for accessing (including displaying) content from a remote computer system, even when the content is not displayed at the remote computer system.FIGS.8G-8Ndepict example interfaces for embodiments in which one or more virtual displays are generated for displaying content that is not displayed at the remote computer system. Specifically,FIGS.8G-8Idepict example embodiments in which John's computer610generates a single virtual display window for displaying content from Jane's computer600, andFIGS.8J-8Ndepict example embodiments in which John's computer610generates multiple virtual display windows for displaying content from Jane's computer600.

InFIG.8G, John's computer610has selected virtual display option824(as indicated by the checkmark), and selects continue option842via input844. Jane's computer600is shown with display screen600ainactive or turned off. Accordingly, Jane's computer600is not displaying any content in the embodiment depicted inFIG.8G.

In response to detecting input844, John's computer610generates virtual display window847, as shown inFIG.8H. Virtual display window847is a virtual display for showing content that is accessed from Jane's computer600, even though display screen600ais inactive and, therefore, is not displaying any content. John's computer610agenerates virtual display window847in order to provide a user interface for remotely accessing Jane's computer600. Thus, John's computer610can be used to control Jane's computer600using virtual display window847. The resulting operations at Jane's computer600are then displayed at John's computer610using virtual display window847. In some embodiments, virtual display window847is similar to sharing application window615, except that the content displayed in virtual display window847is not displayed at Jane's computer600.

Virtual display window847includes virtual desktop846, including virtual menu bar848. Virtual desktop846is similar to desktop832at Jane's computer. For example, virtual desktop846includes a balloons-themed wallpaper and includes menu bar848(similar to menu bar838) with application icons for launching applications available at Jane's computer600. John's computer610can interact with (e.g., control) Jane's computer600using virtual desktop846. For example, John's computer610selects music icon850via input852at John's computer610. In response, John's computer610causes the music application to be launched from Jane's computer600, which is displayed in music interface854at John's computer610, as shown inFIG.8I. Accordingly, John's computer610is controlling the launching of the music application at Jane's computer600and is viewing the resulting music interface854displayed in virtual display window847. In some embodiments, John's computer610can select music from music interface854and the music is output at John's computer610, using speakers connected to John's computer.

In response to detecting input856, John's computer610generates virtual display window849, as shown inFIG.8K. Virtual display window849is a virtual display for showing content that is accessed from Jane's computer600, specifically hardware600c. John's computer610agenerates virtual display window849in order to provide a user interface for remotely accessing hardware600cof Jane's computer600. Virtual display window849is similar to virtual display window847except that virtual display window849is generated with two virtual desktops, instead of one. Thus, John's computer610can be used to control Jane's computer600using any of the virtual desktops provided in virtual display window849and the resulting operations at Jane's computer600are then displayed at John's computer610using virtual display window849. In some embodiments, virtual display window849is similar to sharing application window615, except that the content displayed in virtual display window849is not displayed at Jane's computer600.

Virtual display window849includes virtual desktop846and second virtual desktop858. Second virtual desktop858is a second instance of a virtual desktop for Jane's computer600that is similar to virtual desktop846. For example, second virtual desktop858includes a balloons-themed wallpaper and includes menu bar860(similar to menu bar848) with application icons for launching applications available at Jane's computer600. John's computer610can interact with (e.g., control) Jane's computer600using virtual desktop846and/or second virtual desktop858. For example, inFIG.8K, John's computer610selects music icon850via input862at virtual desktop846. In response, John's computer610causes the music application to launch at Jane's computer600, and John's computer610displays music interface854in virtual desktop846, as shown inFIG.8I. Similarly, John's computer610can control Jane's computer600using second virtual desktop858. For example, inFIG.8L, John's computer610detects input866selecting photos icon864. In response, John's computer610acauses Jane's computer600to launch the photos application, and photos interface868is displayed in second virtual desktop858, as shown inFIG.8M. Accordingly, John's computer610is controlling the launching of the music and photos applications at Jane's computer600and is displaying the resulting interfaces in the respective virtual desktops in virtual display window849.

In some embodiments, the two virtual desktops in virtual display window849can be split across two display devices in a manner similar to that described above with respect toFIGS.6F and6G. For example, inFIG.8MJohn's system includes John's computer610and John's laptop650. In response to detecting input872selecting enlarge option870, virtual desktop window849is expanded (e.g., to a full-screen display mode), and virtual desktop846and second virtual desktop858are displayed in an expanded (e.g., full-screen) mode at the respective devices in John's system. Specifically, virtual desktop846is displayed in an enlarged state at John's computer610, and second virtual desktop858is displayed in an enlarged state at John's laptop650, as shown inFIG.8N. It should be appreciated that John's system can be used to control operations at Jane's computer600while the virtual desktops are split across John's computer610and John's laptop650. For example, inputs at John's computer610or at John's laptop650can be used to control Jane's computer via the corresponding virtual desktops displayed at the respective devices (e.g., John's computer610and John's laptop650). In some embodiments, a single device can be used to provide input at both of the virtual desktops. For example, a mouse and/or keyboard that is connected to John's computer610can be used to provide input at virtual desktop846and/or at second virtual desktop858. Similarly, trackpad650cand/or keyboard650bcan be used to provide input at virtual desktop846and/or at second virtual desktop858.

In the embodiments depicted inFIGS.8M and8N, the dynamic resolution feature is enabled when virtual display window849is expanded. Accordingly, the resolutions and sizes of the virtual desktop846and second virtual desktop858are automatically adjusted to fit the display capabilities of John's computer610and John's laptop650, respectively.

In some embodiments, the dynamic resolution feature can be enabled or disabled by accessing the display settings of the host computer (e.g., Jane's computer600). For example,FIGS.8O and8Pdepict user interfaces for an example embodiment where display settings interface874of Jane's computer600is accessed by John's computer610using virtual desktop window875(similar to virtual desktop window847). InFIG.8O, the dynamic resolution feature is enabled. In response to detecting input878selecting toggle876, John's computer610disables the dynamic resolution feature at Jane's computer600, as shown inFIG.8P. When the dynamic resolution feature is disabled, display settings interface874includes various preset resolution options880that can be selected to set a resolution for the content displayed from Jane's computer600in the virtual desktop inFIGS.8O and8P. InFIG.8P, resolution option880cis shown as the selected preset resolution option.

FIG.9is a flow diagram illustrating a method for generating virtual displays for displaying remote content using a computer system in accordance with some embodiments. Method900is performed at a computer system (e.g.,100,300,500,600,610, and/or650) (e.g., a smartphone, a tablet computer, a desktop computer, a laptop computer, and/or a head-mounted device (e.g., a head-mounted augmented reality and/or extended reality device)) that is in communication with (e.g., includes and/or is connected to) a set of one or more display generation components (600a,600b,610a, and/or650a) (e.g., a display controller, a monitor, a touch-sensitive display system, a display screen, a projector, a holographic display, and/or a head-mounted display system) and one or more input devices (e.g.,650band/or650c) (e.g., a touch-sensitive surface, a keyboard, mouse, trackpad, one or more optical sensors for detecting gestures, one or more capacitive sensors for detecting hover inputs, and/or accelerometer/gyroscope/inertial measurement units). Some operations in method900are, optionally, combined, the orders of some operations are, optionally, changed, and some operations are, optionally, omitted.

As described below, method900provides an intuitive way for generating virtual displays for displaying remote content. The method reduces the cognitive burden on a user for generating virtual displays for displaying remote content, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to generate virtual displays for displaying remote content faster and more efficiently conserves power and increases the time between battery charges.

In method900, the computer system (e.g.,610and/or650) displays (902), via the set of one or more display generation components (e.g.,610aand/or650a), a setup user interface (e.g.,822) for enabling display (e.g., via the set of one or more display generation components) of content shared from an external computer system (e.g.,600) (e.g., a remote computer system), including displaying, in the setup user interface, a plurality of display type options (e.g.,824,826, and/or828) (e.g., user interface elements) for selecting a display type for displaying the content shared from the external computer system. In some embodiments, the content is shared (e.g., transmitted) from the external computer system (directly, or indirectly such as, for example, through a server) to the computer system for display at the computer system. In some embodiments, the content is concurrently displayed at both the computer system and the external computer system. In some embodiments, the content is not displayed at the external computer system (e.g., the external computer system does not have a display and/or is not associated with a display).

The computer system (e.g.,610and/or650) detects (904), via the one or more input devices (e.g.,650band/or650c), a first set of one or more inputs (e.g.,830,840,844, and/or856) (e.g., directed to the setup user interface) corresponding to a request to enable display of content shared from the external computer system (e.g.,600).

In response to detecting the first set of one or more inputs (e.g.,830,840,844, and/or856) corresponding to a request to enable display of content shared from the external computer system (e.g.,600), the computer system (e.g.,610and/or650) displays (906), via the one or more display generation components (e.g.,610aand/or650a), content shared from the external computer system, including the following. In accordance with a determination that a first display type option (e.g.,828) (e.g., an option (e.g., user interface element) corresponding to a respective physical display) is selected (e.g., the first set of one or more inputs includes a selection of the first display type option and/or the first display type option is selected when the display of the shared content is enabled), the computer system displays (908), via the set of one or more display generation components, a representation (e.g.,832a,834a,836a, and/or838a) of first content that is shared from the external computer system (e.g.,600) and is displayed (e.g., concurrently) at a display device (e.g.,600a) (e.g., a display screen, a monitor) of the external computer system (e.g., the computer system displays content that is shared from the external computer system while the shared content is also displayed at a physical display device of the external computer system). In accordance with a determination that a second display type option (e.g.,824) (e.g., a user interface element, a virtual display option, a “1 Virtual Display” option) is selected (e.g., the first set of one or more inputs includes a selection of the second display type option and/or the second display type option is selected when the display of the shared content is enabled), the computer system generates (910) (and, in some embodiments, displaying via the set of one or more display generation components) a virtual display interface (e.g.,847,849, or875) that includes a representation (e.g.,846,848, and/or850) of second content that is shared from the external computer system and is not displayed at a display device of the external computer system (e.g., the virtual display interface displays content that is shared from the external computer system (e.g., a first remote desktop) while the shared content is not displayed (e.g., at the time the display of the shared content is enabled) at a display device of the external computer system). Generating the virtual display interface that includes a representation of second content that is shared from the external computer system and is not displayed at a display device of the computer system when the second display type option is selected provides an improved control scheme for accessing content at a remote computer system that does not have a display component.

In some embodiments, as a part of displaying content shared from the external computer system (e.g.,600), the computer system (e.g.,610and/or650) performs the following. In accordance with a determination that a third display type option (e.g.,826) (e.g., a user interface element, a virtual display option, a “2 Virtual Displays” option) is selected (e.g., the first set of one or more inputs includes a selection of the third display type option and/or the third display type option is selected when the display of the shared content is enabled), the computer system generates (and, in some embodiments, displays via the set of one or more display generation components) a second virtual display interface (e.g.,849) (e.g., the virtual display interface) that includes: the representation of second content (e.g.,846,848, and/or850) (e.g., a first remote desktop) that is shared from the external computer system and is not displayed at a display device of the external computer system; and a representation of third content (e.g.,858,860, and/or864) (e.g., a second remote desktop) that is shared from the external computer system and is not displayed at a display device of the external computer system (e.g., the second virtual display interface displays content that is shared from the external computer system (e.g., a first remote desktop and a second remote desktop) while the shared content is not displayed (e.g., at the time the display of the shared content is enabled) at a display device of the external computer system). Generating a second virtual display interface that includes the representation of second content that is shared from the external computer system and is not displayed at a display device of the computer system and a representation of third content that is shared from the external computer system and is not displayed at a display device of the external computer system provides an improved control scheme for accessing content at a remote computer system that does not have a display component. In some embodiments, the representation of second content is concurrently displayed with the representation of third content in the second virtual display interface.

In some embodiments, the set of one or more display generation components includes a first display generation component (e.g.,610a) and a second display generation component (e.g.,650a) (e.g., the computer system is in communication with, or includes, two or more display screens that are available for use at the computer system). In some embodiments, while displaying the second virtual display interface (e.g.,849) having a first displayed state (e.g., as shown inFIG.8M) (e.g., a state in which the virtual display interface is not displayed in a full-screen mode and/or is displayed at a smaller size than the second displayed state), the computer system (e.g.,610and/or650) receives a request (e.g.,872) to modify (e.g., expand and/or enlarge) the second virtual display interface from the first displayed state to a second displayed state (e.g., a state in which the virtual display interface is displayed in a full-screen mode and/or is displayed at a larger size than the first displayed state). In response to receiving the request to modify the second virtual display interface from the first displayed state to the second displayed state, the computer system displays the second virtual display interface having the second displayed state, including: displaying (or causing display of) the representation of second content (e.g.,846,848,850, and/or854) at the first display generation component (e.g.,610a) (e.g., without displaying the representation of the third content at the first display generation component); and displaying the representation of third content (e.g.,858,860,864, and/or868) at the second display generation component (e.g.,650a) (e.g., without displaying the representation of the second content at the second display generation component). Displaying the representation of second content at the first display generation component and displaying the representation of third content at the second display generation component provides an improved control scheme for accessing and viewing two different representations of content from a remote computer system that does not have a display component.

In some embodiments, while displaying the virtual display interface (e.g.,847,849, and/or875) that includes the representation of second content that is shared from the external computer system (e.g.,600) and is not displayed at a display device of the external computer system, the computer system (e.g.,610and/or650) detects, via the one or more input devices (e.g.,850band/or850c), a request (e.g.,852,862, and/or866) to perform an operation (e.g., access content (e.g., for display via the virtual display interface at the computer system), perform a system function, and/or modify content) at the external computer system. In response to detecting the request to perform the operation at the external computer system, the computer system causes the external computer system to perform the operation (e.g., sending instructions to the external computer system for executing the operation). Causing the external computer system to perform the operation in response to detecting the request to perform the operation at the external computer system provides an improved control scheme for remotely accessing and controlling content at a remote computer system that does not have a display component. In some embodiments, the virtual display is used to control the external computer system. In some embodiments, the virtual display interface enables operations performed at the external computer system (or the results of such operations) to displayed at the set of one or more display generation components of the computer system, even when the operations (or results of the operations) are not viewable at the external computer system (e.g., because the external computer system does not include a display device).

In some embodiments, the computer system (e.g.,610and/or650) displays a resolution option (e.g.,876) (e.g., user interface element) that is selectable to enable (or disable) a dynamic resolution mode in which a displayed resolution of the representation of first content (e.g.,846,848,850,854,858,860,864, and/or868) is automatically adjusted (e.g., changed, updated, and/or modified) in the virtual display interface (e.g.,847,849, and/or875) based on one or more display characteristics (e.g., display settings and/or display capabilities) of the set of one or more display generation components (e.g.,610aand/or650a). Displaying the setup user interface including a resolution option that is selectable to enable a dynamic resolution mode in which a displayed resolution of the representation of first content is automatically adjusted in the virtual display interface based on one or more display characteristics of the set of one or more display generation components provides additional control options for automatically adjusting the displayed resolution of content, which reduces the number of inputs at the computer system by eliminating the need to adjust the displayed resolution of the content to fit the display generation components. In some embodiments, when the dynamic resolution mode is disabled, the representation of first content is displayed having a predetermined resolution in the virtual display interface.

In some embodiments, displaying the resolution option (e.g.,876) includes: in accordance with a determination that the dynamic resolution mode is disabled, displaying a set (e.g.,880) of predetermined resolution options (e.g.,880a-880d) that are selectable to provide a predetermined resolution for displaying the representation of first content (e.g.,846,848,850,854,858,860,864, and/or868) in the virtual display interface (e.g.,847,849, and/or875) (e.g., as shown inFIG.8P); and in accordance with a determination that the dynamic resolution mode is enabled, forgoing displaying the set of predetermined resolution options that are selectable to provide a predetermined resolution for displaying the representation of first content in the virtual display interface (e.g., as shown inFIG.8O). Displaying the set of predetermined resolution options that are selectable to provide a predetermined resolution for displaying the representation of first content in the virtual display interface when the dynamic resolution mode is disabled provide additional control options for setting a resolution setting without cluttering the user interface with additional displayed controls. In some embodiments, when the dynamic resolution mode is disabled, the computer system displays options for manually selecting a resolution for the content displayed in the virtual display interface.

Note that details of the processes described above with respect to method900(e.g.,FIG.9) are also applicable in an analogous manner to the methods described above and/or below. For example, methods700and1100optionally include one or more of the characteristics of the various methods described above with reference to method900. For example, the user interfaces described with respect to the techniques in method700and/or method1100can be generated using any of the techniques described with respect to method900. For brevity, these details are not repeated.

FIGS.10A-10Killustrate exemplary user interfaces for displaying shared content, in accordance with some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes inFIG.11.

FIGS.10A-10Kdepict example user interfaces for various embodiments in which John's laptop650is sharing content with Jane's computer600while participating in a real-time communication session (e.g., a video chat). In some embodiments, the user interfaces depict a changing appearance of a displayed cursor when an input is made using the cursor or when an input is made that may be relevant to the cursor position. This provides improved feedback to the participants of the shared-content session by providing context for inputs made by the other participant in the shared-content session. This is particularly advantageous for situations in which it may not otherwise be apparent to a participant of a shared-content session when an input is made by the other participant. The sharing of content, including the updates to the appearance of the cursors, avatars, and other visual features, is facilitated using the sharing application operating at Jane's computer600and John's laptop650.

InFIG.10A, John's laptop displays desktop1002which includes browser window1004. John's cursor1006is positioned on browser window1004. John's laptop650is sharing its screen content with Jane's computer600, as shown on Jane's computer in sharing application window1005(similar to sharing application window615). Accordingly, Jane's computer600displays, in sharing application window1005, representation1002aof John's desktop1002, including representation1004aof browser window1004, and representation1006aof John's cursor1006. In some embodiments, the displayed video feeds for the real-time communication session are not displayed in the shared content. Jane's computer also displays system window1010and Jane's cursor1008, which is positioned over system window1010. System window1010is positioned in front of a portion of sharing application window1005, however, system window1010is not part of the screen content shared from John's laptop650.

In some embodiments, a position of Jane's cursor1008can be shown at John's laptop650during the shared-content session when Jane's cursor is positioned over the shared content. For example, inFIG.10B, Jane has moved cursor1008off of system window1010and onto sharing application window1005. In response to detecting the position of Jane's cursor on sharing application window1005, Jane's computer displays Jane's avatar1012next to cursor1008to indicate to Jane that cursor1008is Jane's cursor and to provide feedback to Jane that her cursor (and avatar) is being displayed at John's laptop650. Similarly, John's laptop650displays representation1008aof Jane's cursor1008and representation1012aof Jane's avatar to indicate to John that Jane's cursor is displayed at John's laptop650over the shared content. As Jane moves cursor1008over the shared content in sharing application window1005, the positions of representation1008aof Jane's cursor and representation1012aof Jane's avatar are updated in real time on John's laptop650. In some embodiments, Jane's avatar1012is an avatar that is associated with a user account (e.g., Jane's user account) that is logged into Jane's computer600. In some embodiments, Jane's avatar is a user-created avatar or customized avatar that represents Jane.

In some embodiments, a visual indication of a cursor input is provided to indicate to a participant when the other participant provides an input using their respective cursor. For example, inFIG.10BJohn clicks trackpad650cin order to provide a click or selection input with John's cursor1006. Accordingly, Jane's computer600displays ripple effect1014, which is a visual animation associated with representation1006aof John's cursor1006, indicating to Jane that John provided a click input for cursor1006. In the embodiment depicted inFIG.10B, the ripple effect is not displayed at John's laptop650because it is unnecessary to indicate the click input to John since he is likely aware that he provided a click input. However, in some embodiments, the ripple effect can be displayed at John's laptop650. It should be appreciated that a ripple effect is one example of an animated effect that can be used to indicate a click input. Other animated effects can be used to indicate the click input such as, for example, a pulsing ring or other visual effect. In some embodiments, the ripple effect is shown one time for a single-click input. In some embodiments, the ripple effect is modified for a double-click input, for example, to display the ripple effect twice in succession or to display a ripple effect with additional ripples.

In some embodiments, a visual indication of a cursor input is not provided for some cursor inputs. For example, inFIG.10C, John right-clicks trackpad650c. In response to detecting the right-click input, John's laptop650displays right-click menu1016and Jane's computer600displays representation1016aof right-click menu1016, but neither device displays a ripple effect to indicate the detection of the right-click input. In some embodiments, Jane's computer does not display representation1016aof right-click menu1016in response to the right-click input at John's laptop650.

In some embodiments, a visual indication of a keyboard input is provided in response to a detected keyboard input. For example, inFIG.10D, John selects the “control” and “shift” keys from keyboard650b. In response to detecting the keyboard input, John's laptop650displays indicator1018, which provides feedback to John of the keyboard keys being pressed at John's laptop650(in some embodiments, indicator1018is not displayed at John's laptop650because the input is provided at John's laptop650). Similarly, Jane's computer600displays indicator1019, which provides feedback to Jane of the keyboard keys being pressed at John's laptop650. In some embodiments, visual indications can be combined for multiple types of inputs. For example, if John also clicks trackpad650cwhile pressing the “control” and “shift” keys, Jane's computer600(and optionally John's laptop650) displays a ripple effect in addition to indicator1018.

InFIG.10D, Jane has moved cursor1010off of the shared content (specifically, representation1002aof John's desktop1002) in sharing application window1005and is selecting control access option1020(similar to control access option618). Because Jane's cursor is no longer positioned over the shared content in sharing application window1005, Jane's computer600ceases to display avatar1012and John's laptop650ceases to display the representation1008aof Jane's cursor and representation1012aof Jane's avatar.

In response to detecting selection of control access option1020, Jane's computer600initiates a request for John's laptop650to permit Jane's computer600to control operation of John's laptop650. As shown inFIG.10E, Jane's computer600displays notification1022indicating that Jane's computer is waiting for John's laptop650to grant control rights to Jane's computer600. John's laptop650displays notification1023prompting John's laptop650to grant or deny Jane's computer's request for control of John's laptop. InFIG.10E, John's laptop650selects allow option1024to grant control rights to Jane's computer600.

InFIG.10F, Jane's computer600has permission to control operation of John's laptop650through the sharing application, including permission to control John's cursor1006(using hardware at Jane's computer600). Accordingly, control of John's cursor1006is shared between John's laptop650and Jane's computer600. Because control of John's cursor1006is shared, Jane's computer600displays text1026indicating to Jane that she is sharing control of cursor1006with John, and John's laptop650displays text1028indicating to John that he is sharing control of cursor1006with Jane—that is, both Jane's computer600and John's laptop650are capable of moving cursor1006and providing input using cursor1006.

InFIG.10G, while Jane's computer600and John's laptop650both have permission to control the cursor, Jane's computer600moves cursor1006thereby taking current control of the cursor. Accordingly, Jane's computer600modifies the appearance of representation1006aof John's cursor to include avatar1012, and John's laptop650modifies the appearance of cursor1006to include representation1012aof Jane's avatar. The display of Jane's avatar indicates to John and Jane that Jane's computer600currently has control of John's cursor1006.

InFIG.10I, John's laptop650moves cursor1006, thereby taking control of the cursor. In response to John's laptop650taking control of cursor1006, John's laptop650replaces the representation of Jane's avatar with John's avatar1034to indicate to John that he is controlling cursor1006. When John's laptop650takes control of cursor1006, Jane's computer600ceases to display Jane's avatar1012and instead displays representation1034aof John's avatar1034to indicate to Jane that John currently has control of cursor1006. In some embodiments, John's avatar1034is an avatar that is associated with a user account (e.g., John's user account) that is logged into John's laptop650. In some embodiments, John's avatar is a user-created avatar or customized avatar that represents John.

In response to selecting menu option1038, John's laptop650displays menu1040, as shown inFIG.10K. Menu1040provides information and controls for the shared-content session, including control option1042, which is selectable to terminate the permission for Jane's computer600to control John's laptop650. John's laptop moves cursor1006(including avatar1034) to control option1042and clicks on control option1042, thereby terminating Jane's computer's permission to control John's laptop650. Jane's computer600displays the representation of John's cursor and avatar moving to representation1042aof control option1042and displays ripple effect1044indicating to Jane that John is clicking on control option1042. Jane's computer600is now capable of viewing the content shared from John's laptop650(similar to the embodiment inFIG.10A), but it is no longer capable of controlling John's computer650.

FIG.11is a flow diagram illustrating a method for displaying shared content using a computer system in accordance with some embodiments. Method1100is performed at a computer system (e.g.,100,300,500,600,610, and/or650) (e.g., a smartphone, a tablet computer, a desktop computer, a laptop computer, and/or a head-mounted device (e.g., a head-mounted augmented reality and/or extended reality device)) that is in communication with (e.g., includes and/or is connected to) a display generation component (600a,600b,610a, and/or650a) (e.g., a display controller, a monitor, a touch-sensitive display system, a display screen, a projector, a holographic display, and/or a head-mounted display system) and one or more input devices (e.g.,650band/or650c) (e.g., a touch-sensitive surface, a keyboard, mouse, trackpad, one or more optical sensors for detecting gestures, one or more capacitive sensors for detecting hover inputs, and/or accelerometer/gyroscope/inertial measurement units). Some operations in method1100are, optionally, combined, the orders of some operations are, optionally, changed, and some operations are, optionally, omitted.

As described below, method1100provides an intuitive way for displaying shared content. The method reduces the cognitive burden on a user for displaying shared content, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to display shared content faster and more efficiently conserves power and increases the time between battery charges.

In method1100, while displaying (1102), via the display generation component (e.g.,600aand/or650a), a first user interface (e.g.,1005and/or any location on display screen600aor display650a) that includes a representation (e.g.,1004a) of respective content shared between the computer system (e.g.,600) and an external computer system (e.g.,650) (e.g., a remote computer system) (and, in some embodiments, a representation of content that is not shared between the computer system and the external computer system), the computer system performs the following.

In response to detection (1104) of (e.g., at the computer system or at the external computer system) an input (e.g., cursor movement, mouse click, touch input, and/or keyboard input) while a cursor (e.g.,1006,1006a,1008, and/or1008a) (e.g., a graphical element that indicates a position associated with an input device such as a mouse or trackpad) is displayed at the first user interface (e.g.,1005and/or any location on display screen600aor display650a), and in accordance with a determination that the cursor is displayed at a location in the first user interface that overlaps at least a portion of the representation (e.g.,1002aand/or1004a) of respective content shared between the computer system and the external computer system when the input is detected (e.g., the cursor is positioned over the shared content), the computer system performs (1106) a first action associated with the detected input (e.g., executing one or more commands associated with the input such as performing a selection, a cursor movement, a cursor click, and/or a keyboard input) and displays a visual effect (e.g.,1012,1012a,1014,1018,1019,1030,1034,1034a,1036, and/or1044) (e.g., an avatar, a visual indication of keyboard input, a visual indication that control of the cursor is being shared, and/or an animation such as a ripple effect) that is visually associated with the cursor (e.g.,1006,1006a,1008, and/or1008a) (e.g., displayed at a location that is determined based on a location of the cursor, displayed at the same location as the cursor, displayed adjacent to the cursor, and/or displayed moving with the cursor) when a set of criteria is met (e.g., the computer system is controlling the cursor (e.g., while control of the cursor is shared by the computer system and the external computer system), the cursor is the cursor of the external computer system, the external computer system is sharing the respective content with the computer system, the external computer system is controlling the cursor, or a combination thereof). In some embodiments, the input is performed and/or detected at the external computer system. In some embodiments, the input is performed and/or detected at the computer system. In some embodiments, the cursor represents a position of an input device associated with the external computer system (e.g., the cursor is the external computer system's cursor). In some embodiments, the cursor represents a position of an input device associated with the computer system (e.g., the cursor is the computer system's cursor). In some embodiments, when the set of criteria is not met, the first action is performed without displaying the visual effect associated with the cursor. In some embodiments, the visual effect that is visually associated with the cursor does not include a pointer trail of the cursor or a menu that is displayed in response to the mouse click. In some embodiments, an input performed and/or detected at the computer system can cause an action to be performed at the external computer system (e.g., a user of the computer system can remotely operate or control the external computer system), and an input performed and/or detected at the external computer system can cause an action to be performed at the external computer system (e.g., the external computer system can be controlled by the external computer system and can be remotely controlled by the computer system).

In response to detection (1104) of (e.g., at the computer system or at the external computer system) an input (e.g., cursor movement, mouse click, touch input, and/or keyboard input) while a cursor (e.g.,1006,1006a,1008, and/or1008a) (e.g., a graphical element that indicates a position associated with an input device such as a mouse or trackpad) is displayed at the first user interface (e.g.,1005and/or any location on display screen600aor display650a), and in accordance with a determination that the cursor is displayed at a location (e.g.,1010) in the first user interface that does not overlap at least a portion of the representation of respective content shared between the computer system and the external computer system when the input is detected (e.g., the cursor is not positioned over the shared content), the computer system (e.g.,600) performs (1108) a second action (e.g., the first action or an action different from the first action) associated with the detected input without displaying the visual effect that is visually associated with the cursor regardless of whether the set of criteria is met. Performing a first action associated with the detected input and displaying a visual effect that is visually associated with the cursor when a set of criteria is met, in accordance with a determination that the cursor is displayed at a location in the first user interface that overlaps at least a portion of the representation of respective content shared between the computer system and the external computer system when the input is detected, provides improved feedback about input occurring at a device that is sharing the respective content. In some embodiments, even if the set of criteria is met, the visual effect is not displayed if the cursor does not overlap at least a portion of the representation of respective content shared between the computer system and the external computer system (in some embodiments, however, the second action is still performed even when the visual effect is not displayed).

In some embodiments, the content is shared (e.g., transmitted) from the external computer system (directly, or indirectly such as, for example, through a server) to the computer system for display at the computer system. In some embodiments, the content is shared (e.g., transmitted) from the computer system (directly, or indirectly such as, for example, through a server) to the external computer system for display at the external computer system. In some embodiments, the content is concurrently displayed at both the computer system and the external computer system. In some embodiments, the respective content shared between the computer system and the external computer system includes (or, in some embodiments, is) a desktop of the external computer system, a screen of the external computer system, an application executing on the external computer system, a window of an application executing on the external computer system, and/or a user interface of an application executing on the external computer system.

In some embodiments, the visual effect (e.g.,1012,1012a,1014,1018,1019,1030,1034,1034a,1036, and/or1044) is associated with the cursor (e.g.,1006) of a respective computer system (e.g., the computer system (e.g.,600) or external computer system (e.g., 650)) that is sharing the respective content (e.g., the visual effect is visually associated with the cursor of the device that is sharing the content). Displaying the visual effect associated with the cursor of the respective computer system that is sharing the respective content provides improved feedback about input occurring at a device that is sharing the respective content. In some embodiments, the set of criteria is met when the external computer system is sharing the respective content (e.g., the external computer system is the sharing device), the cursor is associated with the external computer system (e.g., the cursor is the sharing device's cursor), and the input is received at the external computer system.

In some embodiments, the visual effect (e.g.,1012,1014,1019,1026,1036, and/or1044) is displayed at a display generation component (e.g.,600a) of a respective computer system (e.g.,600) (e.g., the computer system or the external computer system) that is receiving the respective content (e.g.,1002and/or1004). In some embodiments, the set of criteria is met when the external computer system is sharing the respective content. In some embodiments, the visual effect is not displayed at a display generation component (e.g.,650a) of the respective computer system that is sharing the respective content (e.g.,650). In some embodiments, the set of criteria is not met when the computer system is sharing the respective content (e.g., the visual effect of the sharing device's cursor is shown on the receiving device, but not the sharing device).

In some embodiments, displaying the visual effect that is visually associated with the cursor (e.g.,1006and/or1008) includes displaying a representation of a virtual avatar (e.g.,1012,1012a,1034, and/or1034a) (or other visual indicator identifying or representing the user account such as initials, a name, photo, etc.) associated with a user account that is assigned control of the cursor (e.g., the user account is enabled to control the cursor, granted permission to control the cursor, providing input to control the cursor, and/or is the user account that most recently controlled the cursor). Displaying a representation of a virtual avatar associated with a user account that is assigned control of the cursor provides improved feedback indicating which user is controlling the cursor. In some embodiments, the user account is logged into the computer system or the external computer system.

In some embodiments, while the user account is assigned control of the cursor (e.g.,1006and/or1008), the computer system (e.g.,600and/or650) detects an input corresponding to a request to move the cursor (e.g., from a current location to a different location). In response to detecting the input corresponding to a request to move the cursor, the computer system displays the cursor moving from a current location to a different location, including: in accordance with a determination that the representation of the virtual avatar is not displayed (e.g., as shown inFIG.10A) and the cursor moves to a location in the first user interface (e.g.,1005) that overlaps at least a portion of the representation (e.g.,1002a) of respective content shared between the computer system (e.g.,600) and the external computer system (e.g.,650), the computer system displays (e.g., introduces display of) the representation of the virtual avatar (e.g.,1012) that is visually associated with the cursor (e.g.,1008) when the cursor moves to the location that overlaps at least a portion of the representation of respective content (e.g., as shown inFIG.10B) (e.g., as the cursor moves onto the representation of the shared content, the computer system displays the visual effect that includes the virtual avatar). In accordance with a determination that the representation of the virtual avatar is displayed visually associated with the cursor (e.g., as shown inFIG.10C) and the cursor moves to a location in the first user interface that does not overlap at least a portion of the representation of respective content shared between the computer system and the external computer system (e.g., as shown inFIG.10D), ceasing display of the representation of the virtual avatar when the cursor moves to the location that does not overlap at least a portion of the representation of respective content (e.g., as the cursor moves off of the representation of the shared content, the computer system ceases to display the visual effect that includes the virtual avatar). Displaying the representation of the virtual avatar that is visually associated with the cursor when the cursor moves to the location that overlaps at least a portion of the representation of respective content, and ceasing display of the representation of the virtual avatar when the cursor moves to the location that does not overlap at least a portion of the representation of respective content, provides improved feedback about whether content is being shared and which device is controlling the cursor when it is positioned on the shared content.

In some embodiments, displaying the representation of the virtual avatar associated with the user account that is assigned control of the cursor includes: in accordance with a determination that a user account of the external computer system (e.g.,650) is assigned control of the cursor (e.g.,1006) (e.g., the external computer system has control of the cursor), displaying a representation of a virtual avatar (e.g.,1034) associated with the user account of the external computer system (e.g., when the external computer system is controlling the cursor, the visual effect includes an avatar associated with the user account logged into the external computer system). In accordance with a determination that a user account of the computer system (e.g.,600) is assigned control of the cursor (e.g.,1006) (e.g., the computer system has control of the cursor), displaying a representation of a virtual avatar (e.g.,1012) associated with the user account of the computer system (e.g., when the computer system is controlling the cursor, the visual effect includes an avatar associated with the user account logged into the computer system). Displaying the representation of the virtual avatar associated with the user account of the external computer system when the user account of the external computer system is assigned control of the cursor, and displaying the representation of the virtual avatar associated with the user account of the computer system when the user account of the computer system is assigned control of the cursor, provides improved feedback about which user account is controlling the cursor.

In some embodiments, while displaying the representation of the virtual avatar (e.g.,1034) associated with the user account of the external computer system (e.g.,650) (e.g., and while the external computer system has control of the cursor), the computer system (e.g.,600) determines that control of the cursor (e.g.,1006) has changed from the external computer system to the computer system. In response to determining that control of the cursor has changed from the external computer system to the computer system, the computer system displays the representation of the virtual avatar (e.g.,1012) associated with the user account of the computer system (e.g., replacing the avatar of the external computer system with the avatar of the computer system). Displaying the representation of the virtual avatar associated with the user account of the computer system in response to determining that control of the cursor has changed from the external computer system to the computer system, provides improved feedback about when control of the cursor has changed to the user account of the computer system. In some embodiments, when cursor control changes from the recipient device to the sharing device, the computer system changes the avatar from the avatar of the recipient device to the avatar of the sharing device. In some embodiments, when cursor control changes from the sharing device to the recipient device, the computer system changes the avatar from the avatar of the sharing device to the avatar of the recipient device. In some embodiments, the external computer system is the sharing device, and the computer system is the recipient device. In some embodiments, the external computer system is the recipient device, and the computer system is the sharing device.

In some embodiments, input includes a keyboard input (e.g., selecting one or more keyboard keys at the computer system that is controlling the cursor), and the computer system (e.g.,600) displays the visual effect that is visually associated with the cursor (e.g.,1006or1008), including displaying a visual representation (e.g.,1018and/or1019) of the keyboard input (e.g., a visual indication of the one or more keyboard keys that are selected via the keyboard input). Displaying the visual representation of the keyboard input provides improved feedback about the input that is being provided by a remote device while content is being shared. In some embodiments, the visual representation of the keyboard input includes text indicating specific keys being activated at the device controlling the cursor.

In some embodiments, while a first control mode is enabled for the cursor (e.g.,1006) (e.g., a mode in which the cursor is capable of being controlled by only the computer system or the external computer system) while the cursor is displayed at the first user interface (e.g.,1002and/or1005), the computer system (e.g.,600and/or650) detects that a second control mode is enabled for the cursor (e.g., a mode in which control of the cursor is shared between the computer system and the external computer system) (e.g., the first control mode is disabled). In response to detecting that the second control mode is enabled for the cursor, the computer system displays an indication (e.g.,1026and/or1028) of the second control mode that is visually associated with the cursor (e.g., displaying text indicating that control of the cursor is shared). Displaying an indication of the second control mode that is visually associated with the cursor in response to detecting that the second control mode is enabled for the cursor provides improved feedback about a control state of the cursor.

In some embodiments, the input includes a cursor selection input (e.g., an input using a mouse, trackpad, or other input device that controls placement of the cursor and provides a selection input using the cursor). In some embodiments, displaying the visual effect that is visually associated with the cursor includes displaying an animation (e.g.,1014,1030,1036, and/or1044) (e.g., a ripple effect) representing the cursor selection input. Displaying the animation representing the cursor selection input provides improved feedback about input provided by a remote device while content is being shared.

In some embodiments, the set of criteria is met when the cursor selection input is a first type of cursor selection input (e.g., a left-click input). In some embodiments, the set of criteria is not met when the cursor selection input is a second type of cursor selection input that is different from the first type of cursor selection input (e.g., a right-click input) (e.g., as shown inFIG.10C). Displaying the animation representing the cursor selection input when the cursor selection input is the first type of cursor selection, and forgoing displaying the animation when the cursor selection input is the second type of cursor selection reduces the computational workload of the computer system by avoiding the display of irrelevant animation when the cursor selection input is not relevant to the viewer.

Note that details of the processes described above with respect to method1100(e.g.,FIG.11) are also applicable in an analogous manner to the methods described above. For example, methods700and900optionally include one or more of the characteristics of the various methods described above with reference to method1100. For example, the user interfaces described with respect to the techniques in method700and/or method1100can include any of the techniques for displaying shared content described with respect to method1100. For brevity, these details are not repeated.

The various embodiments provided herein are generally described using devices600,610, and650. However, it should be appreciated that other computer systems or devices can be used (in addition to, or in lieu of, devices600/610/650) to participate in a shared-content session, and that various aspects of a shared-content session can be implemented in different manners across the various devices participating in the shared-content session. For example, a smart speaker, optionally including a display component, can be used to participate in a shared-content session. In some embodiments, inputs at the smart speaker can be provided verbally and, optionally, via a touch input, and outputs can be audio outputs and, optionally, visual outputs provided at a connected display component. As another example, a display component of a head-mounted device (HMD) can be used to display visual aspects of the shared-content session (and a speaker used to produce audio), and inputs can be received by detecting gestures, eye gaze, hand movements, audio inputs, touch inputs, or the like. In some embodiments, the user interfaces depicted in the figures can be displayed in an extended reality environment such as augmented reality or virtual reality. For example, video tiles, windows, and/or other display regions shown in the figures can be displayed suspended in a three-dimensional environment. As another example, the representations of users or participants can be displayed as simulated three-dimensional avatars or two-dimensional avatars positioned around a three-dimensional environment rather than video tiles or windows in a video call or video conference application. Additionally, embodiments are described herein using various types of inputs such as taps, drags, clicks, and hover gestures, however, it should be appreciated that the described embodiments can be modified to respond to other forms of input including gestures, eye gaze, hand movements, audio inputs, and the like. Additionally, different devices with different capabilities can be combined in a single shared-content session, for example a smartphone, tablet, laptop computer, desktop computer, smart speaker, smart TV, headphones or earbuds, HMD, and/or smart watch (or a subset thereof) could participate in the same shared-content session with the different devices participating in different manners according to the capabilities of the device (e.g., the HMD presenting content in a simulated three-dimensional environment or an augmented reality environment, the smart speaker providing audio outputs and inputs, the headphones providing spatial audio outputs and audio inputs, the laptop and desktop computers, smartphone and tablet providing audio and visual inputs and outputs, the smart TV providing audio and visual outputs and audio inputs (or audio and visual inputs)).

The present disclosure recognizes that the use of such personal information data, in the present technology, can be used to the benefit of users. For example, the personal information data can be used to customize a user's content that is shared with another user in a remote viewing session. Further, other uses for personal information data that benefit the user are also contemplated by the present disclosure. For instance, health and fitness data may be used to provide insights into a user's general wellness, or may be used as positive feedback to individuals using technology to pursue wellness goals.

Despite the foregoing, the present disclosure also contemplates embodiments in which users selectively block the use of, or access to, personal information data. That is, the present disclosure contemplates that hardware and/or software elements can be provided to prevent or block access to such personal information data. For example, in the case of customized content that is shared with other users, the present technology can be configured to allow users to “opt in” or “opt out” of the display of the customized content when shared in a remote viewing session. In addition to providing “opt in” and “opt out” options, the present disclosure contemplates providing notifications relating to the access or use of personal information. For instance, a user may be notified upon downloading an app that their personal information data will be accessed and then reminded again just before personal information data is accessed by the app.