Video Application Graphical Effects
The method addresses inefficiencies in graphical effect application by using gesture detection to apply effects efficiently and conserve power in battery-operated devices.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-23
- Publication Date
- 2026-03-04
AI Technical Summary
Existing techniques for displaying graphical effects in video applications are cumbersome and inefficient, often requiring multiple key presses or keystrokes, wasting user time and device energy, particularly in battery-operated devices.
A method and system that utilizes gesture detection to apply graphical effects in response to user gestures within a camera view, allowing for efficient and power-conserving display of graphical effects.
Enables faster and more efficient application of graphical effects by reducing cognitive burden and conserving power in battery-operated devices.
Smart Images

Figure 2026507439000001_ABST
Abstract
Description
[Technical Field]
[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Provisional Patent Application No. 63 / 448,237 entitled "VIDEO APPLICATION GRAPHICAL EFFECTS," filed February 24, 2023, U.S. Provisional Patent Application No. 63 / 465,093 entitled "VIDEO APPLICATION GRAPHICAL EFFECTS," filed May 9, 2023, U.S. Provisional Patent Application No. 63 / 470,885 entitled "VIDEO APPLICATION GRAPHICAL EFFECTS," filed June 3, 2023, and U.S. Patent Application No. 18 / 416,784 entitled "VIDEO APPLICATION GRAPHICAL EFFECTS," filed January 18, 2024. The contents of each of these applications are incorporated herein by reference in their entirety.
[0002] (Technical field) The present disclosure relates generally to computer user interfaces, and more particularly to displaying graphical effects in video applications. [Background technology]
[0003] Users often apply graphical effects to representations of camera views in video applications, and such techniques typically require the user to provide various inputs to apply the graphical effects. Summary of the Invention
[0004] However, some techniques for displaying graphical effects using electronic devices are generally cumbersome and inefficient. For example, some existing techniques use complex and time-consuming user interfaces that may involve multiple key presses or keystrokes. Existing techniques take more time than necessary, wasting the user's time and the device's energy. This latter consideration is particularly important in battery-operated devices.
[0005] The present technology thus provides electronic devices with faster and more efficient methods and interfaces for displaying graphical effects. Such methods and interfaces, optionally, complement or replace other methods for displaying graphical effects. Such methods and interfaces reduce the cognitive burden on users and create more efficient human-machine interfaces. For battery-operated computing devices, such methods and interfaces conserve power and increase the time between battery charges.
[0006] According to some embodiments, a method is described that is executed on a computer system in communication with a display generation component. The method includes: displaying, via a display generation component, a representation of a field of view of one or more camera sensors, where a person is visible within the representation of the field of view of the one or more camera sensors; and while the representation of the field of view of the one or more camera sensors is displayed, a first gesture performed by a first portion of the person is detected within the field of view of the one or more camera sensors; and displaying, via the display generation component, a first graphical effect in response to the detection of the first gesture performed by the first portion of the person, wherein the displaying includes: displaying the first graphical effect at a first effect location within the representation of the field of view of the one or more camera sensors in accordance with a determination that the first gesture is detected at a first gesture location within the field of view of the one or more camera sensors; and displaying the first graphical effect at a second effect location within the representation of the field of view of the one or more camera sensors that is different from the first effect location in accordance with a determination that the first gesture is at a second gesture location within the field of view of the one or more camera sensors that is different from the first gesture location.
[0007] According to some embodiments, a non-transitory computer-readable storage medium is described, the non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs displaying, via the display generation component, a representation of a field of view of the one or more camera sensors, where a person is visible within the representation of the field of view of the one or more camera sensors, a first gesture performed by a first portion of the person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed, and in response to detecting the first gesture performed by the first portion of the person: The method includes instructions for displaying, via a display generation component, a first graphical effect, the displaying including: displaying the first graphical effect at a first effect location within a representation of the field of view of the one or more camera sensors in accordance with a determination that a first gesture is detected at a first gesture location within the field of view of the one or more camera sensors; and displaying the first graphical effect at a second effect location within the representation of the field of view of the one or more camera sensors that is different from the first effect location in accordance with a determination that the first gesture is at a second gesture location within the field of view of the one or more camera sensors that is different from the first gesture location.
[0008] According to some embodiments, a temporary computer-readable storage medium is described, the temporary computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs displaying, via the display generation component, a representation of a field of view of the one or more camera sensors, where a person is visible within the representation of the field of view of the one or more camera sensors, a first gesture performed by a first portion of the person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed, and in response to detecting the first gesture performed by the first portion of the person, The method includes instructions for displaying a first graphical effect via a display generation component, the displaying including: displaying the first graphical effect at a first effect location within a representation of the field of view of the one or more camera sensors in accordance with a determination that a first gesture is detected at a first gesture location within the field of view of the one or more camera sensors; and displaying the first graphical effect at a second effect location within the representation of the field of view of the one or more camera sensors that is different from the first effect location in accordance with a determination that the first gesture is at a second gesture location within the field of view of the one or more camera sensors that is different from the first gesture location.
[0009] According to some embodiments, a computer system in communication with a display generation component is described, the computer system comprising one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs being configured to: display, via the display generation component, a representation of a field of view of the one or more camera sensors, where a person is visible within the representation of the field of view of the one or more camera sensors; detect a first gesture performed by a first portion of the person within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; and, in response to detecting the first gesture performed by the first portion of the person, generate a display image of the display generation component. The method includes instructions for displaying a first graphical effect via an element, the displaying including: displaying the first graphical effect at a first effect location within a representation of the field of view of the one or more camera sensors in accordance with a determination that a first gesture is detected at a first gesture location within the field of view of the one or more camera sensors; and displaying the first graphical effect at a second effect location within the representation of the field of view of the one or more camera sensors that is different from the first effect location in accordance with a determination that the first gesture is at a second gesture location within the field of view of the one or more camera sensors that is different from the first gesture location.
[0010] According to some embodiments, a computer system in communication with a display generation component is described, the computer system comprising one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including: means for displaying, via the display generation component, a representation of a field of view of the one or more camera sensors, where a person is visible within the representation of the field of view of the one or more camera sensors; detecting a first gesture performed by a first portion of the person within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; and, in response to detecting the first gesture performed by the first portion of the person, a display generation component configured to execute a program to the display generation component. and means for displaying a first graphical effect via the element, the displaying means including instructions for: means for displaying the first graphical effect at a first effect location within the representation of the field of view of the one or more camera sensors in accordance with a determination that the first gesture is detected at a first gesture location within the field of view of the one or more camera sensors; and means for displaying the first graphical effect at a second effect location within the representation of the field of view of the one or more camera sensors that is different from the first effect location in accordance with a determination that the first gesture is at a second gesture location within the field of view of the one or more camera sensors that is different from the first gesture location.
[0011] According to some embodiments, a computer program product is described, the computer program product including one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs displaying, via the display generation component, a representation of a field of view of the one or more camera sensors, where a person is visible within the representation of the field of view of the one or more camera sensors, a first gesture performed by a first portion of the person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed, and in response to detecting the first gesture performed by the first portion of the person, The method includes instructions for displaying, via the generating component, a first graphical effect, the displaying including: displaying the first graphical effect at a first effect location within the representation of the field of view of the one or more camera sensors in accordance with a determination that a first gesture is detected at a first gesture location within the field of view of the one or more camera sensors; and displaying the first graphical effect at a second effect location within the representation of the field of view of the one or more camera sensors that is different from the first effect location in accordance with a determination that the first gesture is at a second gesture location within the field of view of the one or more camera sensors that is different from the first gesture location.
[0012] According to some embodiments, a method executed on a computer system in communication with a display generation component is described. The method includes: displaying, via the display generation component, a representation of a field of view of one or more camera sensors, where a person is visible within the representation of the field of view of the one or more camera sensors; while the representation of the field of view of the one or more camera sensors is displayed, a first gesture performed by a first portion of the person is detected within the field of view of the one or more camera sensors; in response to detecting the first gesture performed by the first portion of the person, displaying, via the display generation component, a graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that a first set of criteria is met; and ceasing to display the graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that the first set of criteria is not met.
[0013] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs including instructions to: display, via the display generation component, a representation of a field of view of one or more camera sensors, where a person is visible within the representation of the field of view of the one or more camera sensors; detect a first gesture performed by a first portion of the person within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; and, in response to detecting the first gesture performed by the first portion of the person, display, via the display generation component, a graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that a first set of criteria is met; and, in accordance with a determination that the first set of criteria is not met, cease displaying the graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors.
[0014] According to some embodiments, a temporary computer-readable storage medium is described. The temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs including instructions to: display, via the display generation component, a representation of a field of view of one or more camera sensors, where a person is visible within the representation of the field of view of the one or more camera sensors; detect a first gesture performed by a first portion of the person within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; and, in response to detecting the first gesture performed by the first portion of the person, display, via the display generation component, a graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that a first set of criteria is met; and, in accordance with a determination that the first set of criteria is not met, cease displaying the graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors.
[0015] According to some embodiments, a computer system in communication with a display generation component is described, the computer system comprising one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions to: display, via the display generation component, a representation of a field of view of one or more camera sensors, where a person is visible within the representation of the field of view of the one or more camera sensors; detect a first gesture performed by a first portion of the person within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; and, in response to detecting the first gesture performed by the first portion of the person, display, via the display generation component, a graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that a first set of criteria is met; and, in accordance with a determination that the first set of criteria is not met, cease displaying the graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors.
[0016] According to some embodiments, a computer system in communication with a display generation component and one or more input devices is described. The computer system includes one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying, via the display generation component, a representation of the field of view of the one or more camera sensors, where a person is visible within the representation of the field of view of the one or more camera sensors; detecting a first gesture performed by a first portion of the person within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is being displayed; responsive to detecting the first gesture performed by the first portion of the person; displaying, via the display generation component, a graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that a first set of criteria is met; and ceasing to display the graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that the first set of criteria is not met.
[0017] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs including instructions to: display, via the display generation component, a representation of a field of view of one or more camera sensors, where a person is visible within the representation of the field of view of the one or more camera sensors; detect a first gesture performed by a first portion of the person within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; and, in response to detecting the first gesture performed by the first portion of the person, display, via the display generation component, a graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that a first set of criteria is met; and, in accordance with a determination that the first set of criteria is not met, cease displaying the graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors.
[0018] According to some embodiments, a method is described that is executed on a first computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, the first computer system being associated with a first user. The method includes displaying, via the display generation component, a user interface of a real-time communication session between the first computer system and one or more second computer systems, wherein an input is received while displaying the user interface of the real-time communication session requesting sharing of content associated with a first participant in the real-time communication session; and, in response to receiving the request to display the content associated with the first participant in the real-time communication session, displaying, via the display generation component, a user interface element within the user interface of the real-time communication session, the user interface element being a composite of the content associated with the first participant in the real-time communication session and a representation of the first participant within the user interface of the real-time communication session.
[0019] According to some embodiments, a non-transitory computer-readable storage medium is described, the non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a first computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, the first computer system being associated with a first user, the one or more programs including instructions for displaying, via the display generation component, a user interface of a real-time communication session between the first computer system and one or more second computer systems, wherein an input is received while displaying the user interface of the real-time communication session requesting sharing of content associated with a first participant in the real-time communication session, and in response to receiving the request to display the content associated with the first participant in the real-time communication session, displaying, via the display generation component, a user interface element within the user interface of the real-time communication session, the user interface element being a composite of content associated with the first participant in the real-time communication session and a representation of the first participant within the user interface of the real-time communication session.
[0020] According to some embodiments, a temporary computer-readable storage medium is described, the temporary computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a first computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, the first computer system being associated with a first user, the one or more programs including instructions for displaying, via the display generation component, a user interface of a real-time communication session between the first computer system and one or more second computer systems, wherein an input is received while displaying the user interface of the real-time communication session requesting sharing of content associated with a first participant in the real-time communication session, and in response to receiving the request to display the content associated with the first participant in the real-time communication session, displaying, via the display generation component, a user interface element within the user interface of the real-time communication session, the user interface element being a composite of content associated with the first participant in the real-time communication session and a representation of the first participant within the user interface of the real-time communication session.
[0021] According to some embodiments, a first computer system is described that is in communication with a display generation component, one or more input devices, and one or more camera sensors, the first computer system being associated with a first user. The first computer system comprises one or more processors and a memory that stores 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 display generation component, a user interface of a real-time communication session between the first computer system and one or more second computer systems, wherein, while displaying the user interface of the real-time communication session, an input is received requesting to share content associated with a first participant in the real-time communication session, and in response to receiving the request to display the content associated with the first participant in the real-time communication session, displaying, via the display generation component, a user interface element within the user interface of the real-time communication session, the user interface element being a composite of the content associated with the first participant in the real-time communication session and a representation of the first participant within the user interface of the real-time communication session.
[0022] According to some embodiments, a first computer system is described, the first computer system being in communication with a display generation component, one or more input devices, and one or more camera sensors, the first computer system being associated with a first user. The first computer system comprises one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying, via the display generation component, a user interface of a real-time communication session between the first computer system and one or more second computer systems, wherein an input requesting sharing of content associated with a first participant in the real-time communication session is received while displaying the user interface of the real-time communication session; and displaying, via the display generation component, a user interface element within the user interface of the real-time communication session in response to receiving the request to display the content associated with the first participant in the real-time communication session, the user interface element being a composite of content associated with the first participant in the real-time communication session and a representation of the first participant within the user interface of the real-time communication session.
[0023] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a first computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, the first computer system being associated with a first user. The one or more programs include instructions for displaying, via the display generation component, a user interface of a real-time communication session between the first computer system and one or more second computer systems, wherein, while displaying the user interface of the real-time communication session, an input is received requesting to share content associated with a first participant in the real-time communication session, and, in response to receiving the request to display the content associated with the first participant in the real-time communication session, displaying, via the display generation component, a user interface element within the user interface of the real-time communication session, the user interface element being a composite of the content associated with the first participant in the real-time communication session and a representation of the first participant within the user interface of the real-time communication session.
[0024] According to some embodiments, a method is described that is executed on a computer system in communication with a display generation component, one or more input devices, and one or more camera sensors. The method includes detecting, via the one or more input devices, a first set of one or more inputs comprising a request to display a user interface of a first application; and, in response to detecting the first set of one or more inputs, displaying, via the display generation component, the user interface of the first application, including displaying a first representation of a field of view of the one or more camera sensors and graphical enhancements applied to the representation of the field of view of the one or more camera sensors, wherein the displaying includes displaying the graphical enhancement having a first characteristic in accordance with a determination that a parameter associated with the graphical enhancement is set to a first value, and displaying the first graphical enhancement having a second characteristic different from the first characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to a second value different from the first value. and displaying a user interface of the second application via the display generation component; detecting, via the one or more input devices, a second set of one or more inputs including a request to display a user interface of a second application different from the first application; and in response to detecting the second set of one or more inputs, displaying, via the display generation component, the user interface of the second application including displaying a second representation of the field of view of the one or more camera sensors with graphical enhancements, wherein the displaying includes displaying the graphical enhancements having first characteristics in accordance with a determination that a parameter associated with the graphical enhancements is set to a first value, and displaying the graphical enhancements having second characteristics in accordance with a determination that the parameter associated with the graphical enhancements is set to a second value.
[0025] According to some embodiments, a non-transitory computer-readable storage medium is described.A non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, the one or more programs detecting, via the one or more input devices, a first set of one or more inputs including a request to display a user interface of a first application; and in response to detecting the first set of one or more inputs, displaying, via the display generation component, a first representation of a field of view of the one or more camera sensors and graphical enhancements applied to the representation of the field of view of the one or more camera sensors, wherein the displaying includes displaying the graphical enhancement having a first characteristic in accordance with a determination that a parameter associated with the graphical enhancement is set to a first value, and displaying the first representation of a field of view of the one or more camera sensors in accordance with a determination that the parameter associated with the graphical enhancement is set to a second value different from the first value. and displaying a first graphical enhancement having a second characteristic different from the first characteristic; detecting, via one or more input devices, a second set of one or more inputs including a request to display a user interface of the second application different from the first application; and in response to detecting the second set of one or more inputs, displaying, via the display generation component, the user interface of the second application, includes displaying a second representation of the field of view of the one or more camera sensors with the graphical enhancements, wherein the displaying includes displaying the graphical enhancement having the first characteristic in accordance with a determination that a parameter associated with the graphical enhancement is set to a first value, and displaying the graphical enhancement having the second characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to a second value.
[0026] According to some embodiments, a temporary computer-readable storage medium is described.A transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, the one or more programs detecting, via the one or more input devices, a first set of one or more inputs including a request to display a user interface of a first application; and in response to detecting the first set of one or more inputs, displaying, via the display generation component, the user interface of the first application, including displaying a first representation of a field of view of the one or more camera sensors and graphical enhancements applied to the representation of the field of view of the one or more camera sensors, the displaying including displaying the graphical enhancement having a first characteristic in accordance with a determination that a parameter associated with the graphical enhancement is set to a first value, and displaying the first characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to a second value different from the first value. and displaying a first graphical enhancement having a second characteristic different from the first characteristic; detecting, via one or more input devices, a second set of one or more inputs including a request to display a user interface of a second application different from the first application; and in response to detecting the second set of one or more inputs, displaying, via the display generation component, the user interface of the second application, includes displaying a second representation of the field of view of the one or more camera sensors with the graphical enhancements, wherein the displaying includes displaying the graphical enhancement having the first characteristic in accordance with a determination that a parameter associated with the graphical enhancement is set to a first value, and displaying the graphical enhancement having the second characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to a second value.
[0027] According to some embodiments, a computer system in communication with a display generation component, one or more input devices, and one or more camera sensors is described.The computer system comprises one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs detecting, via one or more input devices, a first set of one or more inputs including a request to display a user interface of a first application, and in response to detecting the first set of one or more inputs, displaying, via a display generation component, the user interface of the first application, including displaying a first representation of a field of view of one or more camera sensors and graphical enhancements applied to the representation of the field of view of the one or more camera sensors, the displaying including displaying the graphical enhancement having a first characteristic in accordance with a determination that a parameter associated with the graphical enhancement is set to a first value, and displaying the first representation of the field of view of the one or more camera sensors having a second characteristic different from the first characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to a second value different from the first value. and displaying the graphical enhancements; detecting, via one or more input devices, a second set of one or more inputs including a request to display a user interface of a second application different from the first application; and displaying, via the display generation component, the user interface of the second application in response to detecting the second set of one or more inputs, the user interface of the second application including displaying a second representation of the field of view of the one or more camera sensors with the graphical enhancements, wherein the displaying includes instructions for displaying the user interface of the second application including displaying the graphical enhancements having first characteristics in accordance with a determination that a parameter associated with the graphical enhancements is set to a first value, and displaying the graphical enhancements having second characteristics in accordance with a determination that the parameter associated with the graphical enhancements is set to a second value.
[0028] According to some embodiments, a computer system in communication with a display generation component, one or more input devices, and one or more camera sensors is described.The computer system comprises one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including: means for detecting, via one or more input devices, a first set of one or more inputs including a request to display a user interface of a first application; and means for displaying, via a display generation component, a first representation of a field of view of one or more camera sensors and graphical enhancements applied to the representation of the field of view of the one or more camera sensors in response to detecting the first set of one or more inputs, the means for displaying the user interface of the first application including: means for displaying the graphical enhancement having a first characteristic in accordance with a determination that a parameter associated with the graphical enhancement is set to a first value; and means for displaying the first graphical enhancement having a second characteristic different from the first characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to a second value different from the first value. means for displaying a user interface of the first application, the user interface including: means for detecting, via one or more input devices, a second set of one or more inputs including a request to display a user interface of a second application different from the first application; and means for displaying, via the display generation component in response to detecting the second set of one or more inputs, the user interface of the second application including displaying a second representation of the field of view of the one or more camera sensors with graphical enhancements, the displaying means including: means for displaying a graphical enhancement having a first characteristic in accordance with a determination that a parameter associated with the graphical enhancement is set to a first value; and means for displaying a graphical enhancement having a second characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to a second value.
[0029] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, one or more input devices, and one or more camera sensors. The one or more programs detect, via the one or more input devices, a first set of one or more inputs including a request to display a user interface of a first application. In response to detecting the first set of one or more inputs, displaying, via the display generation component, the user interface of the first application includes displaying a first representation of a field of view of the one or more camera sensors and graphical enhancements applied to the representation of the field of view of the one or more camera sensors, wherein the displaying includes displaying the graphical enhancement having a first characteristic in accordance with a determination that a parameter associated with the graphical enhancement is set to a first value, and displaying the first graphical enhancement having a second characteristic different from the first characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to a second value different from the first value. the display generation component includes instructions for displaying a user interface of the second application; detecting, via one or more input devices, a second set of one or more inputs including a request to display a user interface of a second application different from the first application; and in response to detecting the second set of one or more inputs, displaying, via the display generation component, the user interface of the second application, including displaying a second representation of the field of view of the one or more camera sensors with graphical enhancements, wherein the displaying includes displaying the graphical enhancements having first characteristics in accordance with a determination that a parameter associated with the graphical enhancements is set to a first value, and displaying the graphical enhancements having second characteristics in accordance with a determination that the parameter associated with the graphical enhancements is set to a second value.
[0030] According to some embodiments, a method is described that is executed on a computer system in communication with a display generation component and one or more camera sensors. The method includes detecting a subject at a first position while displaying a representation of a field of view of the one or more camera sensors via the display generation component, detecting an input while the subject is at the first position corresponding to a request to frame the subject within the representation of the field of view of the one or more camera sensors, framing the subject in the representation of the first portion of the field of view of the one or more camera sensors in response to detecting the input, detecting movement of the subject from the first position to a second position, and maintaining the display of the representation of the first portion of the field of view of the one or more camera sensors in response to detecting movement of the subject from the first position to the second position.
[0031] According to some embodiments, a non-transitory computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more camera sensors, the one or more programs including instructions to detect, via the display generation component, a subject at a first position while displaying a representation of the field of view of the one or more camera sensors, detect an input while the subject is at the first position corresponding to a request to frame the subject within the representation of the field of view of the one or more camera sensors, in response to detecting the input, frame the subject in the representation of the first portion of the field of view of the one or more camera sensors, detect movement of the subject from the first position to a second position, and in response to detecting movement of the subject from the first position to the second position, maintain the display of the representation of the first portion of the field of view of the one or more camera sensors.
[0032] According to some embodiments, a temporary computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more camera sensors, the one or more programs including instructions to detect, via the display generation component, a subject at a first position while displaying a representation of the field of view of the one or more camera sensors, detect an input while the subject is at the first position corresponding to a request to frame the subject within the representation of the field of view of the one or more camera sensors, in response to detecting the input, frame the subject in the representation of the first portion of the field of view of the one or more camera sensors, detect movement of the subject from the first position to a second position, and in response to detecting movement of the subject from the first position to the second position, maintain the display of the representation of the first portion of the field of view of the one or more camera sensors.
[0033] According to some embodiments, a computer system in communication with a display generation component and one or more camera sensors is described, the computer system comprising one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions to: detect, via the display generation component, a subject at a first position while displaying a representation of the field of view of the one or more camera sensors; detect, while the subject is at the first position, an input corresponding to a request to frame the subject within the representation of the field of view of the one or more camera sensors; in response to detecting the input, frame the subject in the representation of the first portion of the field of view of the one or more camera sensors; detect movement of the subject from the first position to a second position; and in response to detecting movement of the subject from the first position to the second position, maintain the display of the representation of the first portion of the field of view of the one or more camera sensors.
[0034] According to some embodiments, a computer system in communication with a display generation component and one or more camera sensors is described, the computer system comprising one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: detecting, via the display generation component, a subject at a first position while displaying a representation of the field of view of the one or more camera sensors; detecting an input while the subject is at the first position corresponding to a request to frame the subject within the representation of the field of view of the one or more camera sensors; framing the subject in the representation of the first portion of the field of view of the one or more camera sensors in response to detecting the input; detecting movement of the subject from the first position to a second position; and maintaining the display of the representation of the first portion of the field of view of the one or more camera sensors in response to detecting movement of the subject from the first position to the second position.
[0035] According to some embodiments, a computer program product is described that includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more camera sensors, the one or more programs including instructions for detecting, via the display generation component, a subject at a first position while displaying a representation of the field of view of the one or more camera sensors, detecting an input while the subject is at the first position corresponding to a request to frame the subject within the representation of the field of view of the one or more camera sensors, framing the subject in the representation of the first portion of the field of view of the one or more camera sensors in response to detecting the input, detecting movement of the subject from the first position to a second position, and maintaining the display of the representation of the first portion of the field of view of the one or more camera sensors in response to detecting movement of the subject from the first position to the second position.
[0036] According to some embodiments, a method is described that includes, at a computer system in communication with a display generation component and one or more input devices, detecting, via the one or more input devices, a request to display a user interface menu associated with first content, and in response to detecting the request to display the user interface menu, displaying, via the display generation component, the user interface menu, wherein the displaying includes displaying a first set of one or more shared user interface elements that, when selected, cause the first content to be included in the real-time communication session in accordance with a determination that a set of sharing option criteria is met and the content is being shared during the real-time communication session, and displaying a second set of one or more shared user interface elements that, when selected, cause the first content to be included in the real-time communication session in accordance with a determination that the set of sharing option criteria is met and the content is not being shared during the real-time communication session, wherein the first set of one or more shared user interface elements is different from the second set of one or more shared user interface elements.
[0037] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices. The one or more programs include instructions for detecting, via the one or more input devices, a request to display a user interface menu associated with first content, and displaying, via the display generation component, the user interface menu in response to detecting the request to display the user interface menu, the displaying including: displaying a first set of one or more shared user interface elements that, when selected, cause the first content to be included in the real-time communication session in accordance with a determination that a set of sharing option criteria is met and the content is being shared during the real-time communication session; and displaying a second set of one or more shared user interface elements that, when selected, cause the first content to be included in the real-time communication session in accordance with a determination that the set of sharing option criteria is met and the content is not being shared during the real-time communication session, the first set of one or more shared user interface elements being different from the second set of one or more shared user interface elements.
[0038] According to some embodiments, a temporary computer-readable storage medium is described. The temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices. The one or more programs include instructions for detecting, via the one or more input devices, a request to display a user interface menu associated with first content, and displaying, via the display generation component, the user interface menu in response to detecting the request to display the user interface menu, the displaying including: displaying a first set of one or more shared user interface elements that, when selected, cause the first content to be included in the real-time communication session in accordance with a determination that a set of sharing option criteria is met and the content is being shared during the real-time communication session; and displaying a second set of one or more shared user interface elements that, when selected, cause the first content to be included in the real-time communication session in accordance with a determination that the set of sharing option criteria is met and the content is not being shared during the real-time communication session, the first set of one or more shared user interface elements being different from the second set of one or more shared user interface elements.
[0039] According to some embodiments, a computer system in communication with a display generation component and one or more input devices is described. The computer system includes one or more processors and a memory storing one or more programs configured to be executed by the one or more processors. The one or more processors include instructions for detecting, via the one or more input devices, a request to display a user interface menu associated with first content, and, in response to detecting the request to display the user interface menu, displaying, via the display generation component, the user interface menu. The displaying includes displaying a first set of one or more shared user interface elements that, when selected, cause the first content to be included in the real-time communication session in accordance with a determination that a set of sharing option criteria is met and the content is being shared during the real-time communication session, and displaying a second set of one or more shared user interface elements that, when selected, cause the first content to be included in the real-time communication session in accordance with a determination that the set of sharing option criteria is met and the content is not being shared during the real-time communication session, the first set of one or more shared user interface elements being different from the second set of one or more shared user interface elements.
[0040] According to some embodiments, a computer system in communication with a display generation component and one or more input devices is described, the computer system comprising: means for detecting, via the one or more input devices, a request to display a user interface menu associated with first content; and means for displaying, via the display generation component, the user interface menu in response to detecting the request to display the user interface menu, the displaying including: displaying a first set of one or more shared user interface elements that, when selected, cause the first content to be included in the real-time communication session in accordance with a determination that a set of sharing option criteria is met and the content is being shared during the real-time communication session; and displaying a second set of one or more shared user interface elements that, when selected, cause the first content to be included in the real-time communication session in accordance with a determination that the set of sharing option criteria is met and the content is not being shared during the real-time communication session, the first set of one or more shared user interface elements being different from the second set of one or more shared user interface elements.
[0041] According to some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices. The one or more programs include instructions for detecting, via the one or more input devices, a request to display a user interface menu associated with first content, and displaying, via the display generation component, the user interface menu in response to detecting the request to display the user interface menu, the displaying including: displaying a first set of one or more shared user interface elements that, when selected, cause the first content to be included in the real-time communication session in accordance with a determination that a set of sharing option criteria is met and the content is being shared during the real-time communication session; and displaying a second set of one or more shared user interface elements that, when selected, cause the first content to be included in the real-time communication session in accordance with a determination that the set of sharing option criteria is met and the content is not being shared during the real-time communication session, the first set of one or more shared user interface elements being different from the second set of one or more shared user interface elements.
[0042] Executable instructions to perform these functions are optionally contained in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Executable instructions to perform these functions are optionally contained in a transitory computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0043] Thus, devices are provided with faster and more efficient methods and interfaces for displaying graphical effects, thereby increasing the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces may complement or replace other methods for displaying graphical effects. [Brief explanation of the drawings]
[0044] For a better understanding of the various described embodiments, reference should be made to the following Detailed Description of the Invention in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout:
[0045] [Figure 1A] FIG. 1 is a block diagram illustrating a portable multifunction device with a touch-sensitive display in accordance with some embodiments.
[0046] [Figure 1B] FIG. 2 is a block diagram illustrating exemplary components for event processing according to some embodiments.
[0047] [Figure 2] 1 illustrates a portable multifunction device with a touch screen according to some embodiments.
[0048] [Figure 3] FIG. 1 is a block diagram of an exemplary multifunction device having a display and a touch-sensitive surface in accordance with some embodiments.
[0049] [Figure 4A] 1 illustrates an exemplary user interface for a menu of applications on a portable multifunction device according to some embodiments.
[0050] [Figure 4B] 1 illustrates an exemplary user interface for a multifunction device having a touch-sensitive surface that is separate from the display, in accordance with some embodiments.
[0051] [Figure 5A] 1 illustrates a personal electronic device according to some embodiments.
[0052] [Figure 5B] FIG. 1 is a block diagram illustrating a personal electronic device according to some embodiments.
[0053] [Figure 5C] 1 illustrates an exemplary diagram of a communication session between electronic devices according to some embodiments.
[0054] [Figure 6A] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6B] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6C] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6D] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6E] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6F] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6G] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6H]1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6I] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6J] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6K] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6L] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6M] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6N] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6O] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6P] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6Q] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6R] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6S]1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6T1] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6T2] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6U] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6V] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6W] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6X] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments. [Figure 6Y] 1 illustrates an exemplary user interface for displaying graphical effects based on gesture detection, according to some embodiments.
[0055] [Figure 7A] FIG. 1 is a flow diagram illustrating a method for displaying a graphical effect based on gesture detection, according to some embodiments. [Figure 7B] FIG. 1 is a flow diagram illustrating a method for displaying a graphical effect based on gesture detection, according to some embodiments.
[0056] [Figure 8A] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8B] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8C] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8D] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8E] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8F] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8G] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8H] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8I] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8J] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8K] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8L]1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8M] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8N] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8O] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8P] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8Q] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8R] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8S] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8T] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8U] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8V]1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8W] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8X] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8Y] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments. [Figure 8Z] 1 illustrates an exemplary user interface for sharing content between computer systems during a real-time communication session, according to some embodiments.
[0057] [Figure 9] FIG. 1 is a flow diagram illustrating a method for sharing content between computer systems during a real-time communication session, according to some embodiments.
[0058] [Figure 10A] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10B] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10C] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10D]1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10E] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10F] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10G] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10H] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10I] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10J] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10K] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10L1] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10L2] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10M1]1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10M2] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10N1] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10N2] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10O] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10P] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments. [Figure 10Q] 1 illustrates an exemplary user interface for displaying graphical enhancements in a number of different video applications, according to some embodiments.
[0059] [Figure 11A] FIG. 1 is a flow diagram illustrating a method for displaying graphical enhancements in a plurality of different video applications, according to some embodiments. [Figure 11B] FIG. 1 is a flow diagram illustrating a method for displaying graphical enhancements in a plurality of different video applications, according to some embodiments.
[0060] [Figure 12A]1 illustrates an exemplary user interface for framing a representation of a subject within a representation of the field of view of one or more camera sensors, according to some embodiments. [Figure 12B] 1 illustrates an exemplary user interface for framing a representation of a subject within a representation of the field of view of one or more camera sensors, according to some embodiments. [Figure 12C] 1 illustrates an exemplary user interface for framing a representation of a subject within a representation of the field of view of one or more camera sensors, according to some embodiments. [Figure 12D] 1 illustrates an exemplary user interface for framing a representation of a subject within a representation of the field of view of one or more camera sensors, according to some embodiments. [Figure 12E] 1 illustrates an exemplary user interface for framing a representation of a subject within a representation of the field of view of one or more camera sensors, according to some embodiments. [Figure 12F] 1 illustrates an exemplary user interface for framing a representation of a subject within a representation of the field of view of one or more camera sensors, according to some embodiments. [Figure 12G] 1 illustrates an exemplary user interface for framing a representation of a subject within a representation of the field of view of one or more camera sensors, according to some embodiments. [Figure 12H] 1 illustrates an exemplary user interface for framing a representation of a subject within a representation of the field of view of one or more camera sensors, according to some embodiments. [Figure 12I] 1 illustrates an exemplary user interface for framing a representation of a subject within a representation of the field of view of one or more camera sensors, according to some embodiments. [Figure 12J] 1 illustrates an exemplary user interface for framing a representation of a subject within a representation of the field of view of one or more camera sensors, according to some embodiments. [Figure 12K]1 illustrates an exemplary user interface for framing a representation of a subject within a representation of the field of view of one or more camera sensors, according to some embodiments. [Figure 12L] 1 illustrates an exemplary user interface for framing a representation of a subject within a representation of the field of view of one or more camera sensors, according to some embodiments. [Figure 12M] 1 illustrates an exemplary user interface for framing a representation of a subject within a representation of the field of view of one or more camera sensors, according to some embodiments.
[0061] [Figure 13] 1 is a flow diagram illustrating a method for framing a subject in a representation of the field of view of one or more camera sensors, according to some embodiments.
[0062] [Figure 14A] 1 illustrates an exemplary user interface for displaying a menu, according to some embodiments. [Figure 14B] 1 illustrates an exemplary user interface for displaying a menu, according to some embodiments. [Figure 14C] 1 illustrates an exemplary user interface for displaying a menu, according to some embodiments. [Figure 14D] 1 illustrates an exemplary user interface for displaying a menu, according to some embodiments. [Figure 14E] 1 illustrates an exemplary user interface for displaying a menu, according to some embodiments. [Figure 14F] 1 illustrates an exemplary user interface for displaying a menu, according to some embodiments. [Figure 14G] 1 illustrates an exemplary user interface for displaying a menu, according to some embodiments. [Figure 14H] 1 illustrates an exemplary user interface for displaying a menu, according to some embodiments. [Figure 14I]1 illustrates an exemplary user interface for displaying a menu, according to some embodiments. [Figure 14J] 1 illustrates an exemplary user interface for displaying a menu, according to some embodiments. [Figure 14K] 1 illustrates an exemplary user interface for displaying a menu, according to some embodiments. [Figure 14L] 1 illustrates an exemplary user interface for displaying a menu, according to some embodiments. [Figure 14M] 1 illustrates an exemplary user interface for displaying a menu, according to some embodiments. [Figure 14N] 1 illustrates an exemplary user interface for displaying a menu, according to some embodiments.
[0063] [Figure 15] FIG. 1 is a flow diagram illustrating a method for displaying a menu, according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0064] The following description sets forth example methods, parameters, etc. However, it should be recognized that such description is not intended as a limitation on the scope of the present disclosure, but rather is provided as a description of example embodiments.
[0065] There is a need for electronic devices that provide efficient methods and interfaces for enhancing communication through graphical effects and / or shared content during a real-time communication session. For example, there is a need to provide efficient methods and interfaces for displaying graphical effects. As another example, there is a need to provide efficient methods and interfaces for preventing unintended effects during a real-time communication session. As another example, there is a need to provide efficient methods and interfaces for sharing content during a real-time communication session. As another example, there is a need to provide efficient methods and interfaces for managing effects across multiple video applications. Such techniques can reduce a user's cognitive burden and enhance communication through graphical effects and / or shared content, thereby increasing productivity. Furthermore, such techniques can reduce processor and battery power that would otherwise be wasted on redundant user input.
[0066] 1A-1B, 2, 3, 4A-4B, and 5A-5C provide a description of an example device for performing techniques for managing event notifications. FIGS. 6A-6Y illustrate example user interfaces for displaying graphical effects in response to detected gestures. FIGS. 7A-7B are flow diagrams illustrating methods for displaying graphical effects in response to detected gestures, according to some embodiments. The user interfaces of FIGS. 6A-6Y are used to illustrate processes described below, including the processes of FIGS. 7A-7B. FIGS. 8A-8Z illustrate example user interfaces for sharing content during a real-time communication session. FIG. 9 is a flow diagram illustrating a method for sharing content during a real-time communication session, according to some embodiments. The user interfaces of FIGS. 8A-8Z are used to illustrate processes described below, including the process of FIG. 9. FIGS. 10A-10Q illustrate example user interfaces for managing graphical enhancements across multiple different video applications, according to some embodiments. 11A-11B are flow diagrams illustrating a method for managing graphical enhancements across multiple different video applications. The user interfaces of FIGS. 10A-10Q are used to illustrate processes described below, including the process of FIGS. 11A-11B. FIGS. 12A-12M illustrate exemplary user interfaces for framing a representation of an object within a representation of the field of view of one or more cameras. FIG. 13 is a flow diagram illustrating a method for framing a representation of an object within a representation of the field of view of one or more cameras, according to some embodiments. FIGS. 12A-12M are used to illustrate processes described below, including the process of FIG. 13. FIGS. 14A-14N illustrate exemplary user interfaces for displaying a menu. FIG. 15 is a flow diagram illustrating a method for displaying a menu, according to some embodiments. FIGS. 14A-14N are used to illustrate processes described below, including the process of FIG. 14.
[0067] The processes described below enhance the usability of a device and streamline the user-device interface (e.g., by helping the user provide appropriate inputs when operating / interacting with the device and reducing user errors) through various techniques, including providing improved visual feedback to the user, reducing the number of inputs required to perform an action, providing additional control options without cluttering the user interface with additional displayed controls, performing an action without requiring further user input when a set of conditions is met, and / or other techniques. These techniques also reduce power usage and improve the device's battery life by allowing the user to use the device more quickly and efficiently.
[0068] Furthermore, for methods described herein in which one or more steps are conditioned on one or more conditions being satisfied, it should be understood that the described method can be repeated in multiple iterations, such that over the course of the iterations, all of the conditions on which the method steps are conditioned are satisfied in different iterations of the method. For example, if a method requires performing a first step if a condition is satisfied and a second step if the condition is not satisfied, one skilled in the art will understand that the steps recited in the claim can be repeated in any order until the conditions are met and are no longer met. Thus, a method described with one or more steps that depend on one or more conditions being satisfied can be rewritten as a method that is repeated until each condition recited in the method is met. However, this is not required for system or computer-readable medium claims in which the system or computer-readable medium includes instructions that perform a conditional action based on the satisfaction of the corresponding one or more conditions, and thus can determine whether a contingency is met without explicitly repeating the method steps until all conditions on which the method steps are conditioned are satisfied. Those skilled in the art will also understand that, as with methods having conditional steps, the system or computer-readable storage medium may repeat the steps of the method as many times as necessary to ensure that all of the conditional steps have been performed.
[0069] In the following description, terms such as "first" and "second" are used to describe various elements, but these elements should not be limited by these terms. In some embodiments, these terms are used to distinguish one element from another. For example, a first touch can be referred to as a second touch, and similarly, a second touch can be referred to as a first touch, without departing from the scope of 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.
[0070] The terminology used in the description of various embodiments set forth herein is for the purpose of describing particular embodiments only and is not intended to be limiting. In the description of the various embodiments set forth and in the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. Also, as used herein, the term "and / or" should be understood to refer to and include any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "includes," "including," "comprises," and / or "comprising," as used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0071] The term "if" is interpreted, optionally, according to the context, to mean "when" or "upon," or "in response to determining" or "in response to detecting." Similarly, the phrases "if it is determined" or "if [a stated condition or event] is detected" are interpreted, optionally, according to the context, to mean "upon determining" or "in response to determining," or "upon detecting [the stated condition or event]" or "in response to detecting [the stated condition or event]."
[0072] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions, such as PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, but are not limited to, the iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, California. Optionally, other portable electronic devices, such as a laptop computer or tablet computer having a touch-sensitive surface (e.g., a touchscreen display and / or touchpad), are also used. It should also be understood that in some embodiments, the device is not a portable communication device, but rather a desktop computer having a touch-sensitive surface (e.g., a touchscreen display and / or touchpad). In some embodiments, the electronic device is a computer system in communication (e.g., via wired communication, via wireless communication) with a display generation component. The display generation component is configured to provide a visual output, such as a display via a CRT display, a display via an LED display, or a display via image projection. In some embodiments, the display generation component is integrated with the computer system. In some embodiments, the display generation component is separate from the computer system. As used herein, "displaying" content includes displaying content (e.g., video data rendered or decoded by display controller 156) by transmitting data (e.g., image data or video data) over a wired or wireless connection to an integrated or external display generation component to visually generate the content.
[0073] In the following discussion, electronic devices are described that include a display and a touch-sensitive surface, however, it should be understood that the electronic device optionally includes one or more other physical user-interface devices, such as a physical keyboard, a mouse, and / or a joystick.
[0074] The device typically supports a variety of applications such as one or more of a drawing application, a presentation application, a word processing application, a website creation application, a disc authoring application, a spreadsheet application, a gaming application, a telephony application, a video conferencing application, an email application, an instant messaging application, a training support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application.
[0075] Various applications running on the device optionally use at least one common physical user-interface device, such as a touch-sensitive surface. One or more features of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and / or changed for each application and / or within individual applications. In this way, the common physical architecture of the device (such as the touch-sensitive surface) optionally supports various applications with user interfaces that are intuitive and transparent to the user.
[0076] Attention now turns to embodiments of portable devices with touch-sensitive displays. FIG. 1A is a block diagram illustrating portable multifunction device 100 having touch-sensitive display system 112, according to some embodiments. Touch-sensitive display 112 may conveniently be referred to as a "touch screen" and sometimes known or referred to as a "touch-sensitive display system." Device 100 includes memory 102 (optionally including one or more computer-readable storage media), memory controller 122, one or more processing units (CPUs) 120, peripherals interface 118, RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, input / output (I / O) subsystem 106, other input control devices 116, and external port 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact intensity sensors 165 that detect the intensity of a contact on device 100 (e.g., a touch-sensitive surface, such as touch-sensitive display system 112 of device 100). Device 100 optionally includes one or more tactile output generators 167 that generate tactile output on device 100 (e.g., generate tactile output on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touchpad 355 of device 300). These components optionally communicate via one or more communication buses or signal lines 103.
[0077] As used herein and in the claims, the term “intensity” of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or a proxy for the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values that includes at least four distinct values and more typically includes hundreds (e.g., at least 256) distinct values. The intensity of a contact is optionally determined (or measured) using various techniques and various sensors or combinations of sensors. For example, one or more force sensors under or adjacent to the touch-sensitive surface are optionally used to measure force at various points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., weighted averaged) to determine an estimated force of the contact. Similarly, a pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size and / or change in the area of contact detected on the touch-sensitive surface, the capacitance and / or change in the capacitance of the touch-sensitive surface proximate the contact, and / or the resistance and / or change in the capacitance of the touch-sensitive surface proximate the contact are optionally used as a surrogate for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the surrogate measure of the force or pressure of the contact is used directly to determine whether an intensity threshold is exceeded (e.g., the intensity threshold is stated in units corresponding to the surrogate measure). In some implementations, the surrogate measure of the force or pressure of the contact is converted to an estimate of the force or pressure, and the estimate of the force or pressure is used to determine whether an intensity threshold is exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using contact intensity as an attribute of user input allows users to access additional device functionality (e.g., on a touch-sensitive display) and / or receive user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls such as knobs or buttons) that may not otherwise be accessible to users on devices of reduced size that have limited footprint for displaying affordances.
[0078] As used herein and in the claims, the term “tactile output” refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device, that will be detected by the user with the user's sense of touch. For example, in a situation where a device or a component of a device is in contact with a touch-sensitive surface of a user (e.g., the fingers, palm, or other part of the user's hand), the tactile output produced by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in a physical property of the device or a component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is optionally interpreted by the user as a “downclick” or “upclick” of a physical actuator button. In some cases, a user feels a tactile sensation such as a “downclick” or “upclick” even when there is no movement of a physical actuator button associated with the touch-sensitive surface that is physically pressed (e.g., displaced) by the user's action. As another example, movement of a touch-sensitive surface is optionally interpreted or perceived by a user as "roughness" of the touch-sensitive surface, even if there is no change in the smoothness of the touch-sensitive surface. While such user interpretation of touch depends on the user's personal sensory perception, there are many sensory perceptions of touch that are common to the majority of users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., "upclick," "downclick," "roughness"), unless otherwise specified, the generated tactile output corresponds to a physical displacement of the device, or a component of the device, that produces the described sensory perception for a typical (or average) user.
[0079] It should be understood that device 100 is only one example of a portable multifunction device, and that device 100 optionally has more or fewer components than those shown, optionally combines two or more components, or optionally has a different configuration or arrangement of its components. The various components shown in Figure 1A are implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing circuits and / or application specific integrated circuits.
[0080] Memory 102 optionally includes high-speed random access memory, and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Memory controller 122 optionally controls access to memory 102 by other components of device 100.
[0081] Peripheral interface 118 may be used to couple input and output peripherals of the device to CPU 120 and memory 102. One or more processors 120 operate or execute various software programs (e.g., computer programs (e.g., including instructions)) and / or instruction sets stored in memory 102 to perform various functions and process data for device 100. In some embodiments, peripheral interface 118, CPU 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0082] RF (radio frequency) circuitry 108 transmits and receives RF signals, also referred to as electromagnetic signals. RF circuitry 108 converts electrical signals to electromagnetic signals and electromagnetic signals to communicate with communication networks and other communication devices via electromagnetic signals. RF circuitry 108 optionally includes well-known circuitry for performing these functions, including, but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, etc. RF circuitry 108 optionally communicates via wireless communications with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet, and / or wireless networks, such as cellular telephone networks, wireless local area networks (LANs) and / or metropolitan area networks (MANs), and with other devices. RF circuitry 108 optionally includes well-known circuitry for detecting near field communication (NFC) fields, such as by short-range radios. Wireless communication optionally includes, but is not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPA), Long Term Evolution (LTE), and other standards.evolution (LTE), near field communications (NFC), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, and / or IEEE 802.11ac), voice over Internet Protocol (VoIP), Wi-MAX, protocols for email (e.g., Internet message access protocol (IMAP) and / or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol), The present invention may use any of a number of communication standards, protocols, and technologies, including the Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (XMPP), the Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), the Instant Messaging and Presence Service (IMPS), and / or the Short Message Service (SMS), or any other suitable communication protocol, including communication protocols not yet developed as of the filing date of this application.
[0083] Audio circuit 110, speaker 111, and microphone 113 provide an audio interface between a user and device 100. Audio circuit 110 receives audio data from peripherals interface 118, converts the audio data into electrical signals, and transmits the electrical signals to speaker 111. Speaker 111 converts the electrical signals into sound waves audible to humans. Audio circuit 110 also receives electrical signals converted from sound waves by microphone 113. Audio circuit 110 converts the electrical signals into audio data and transmits the audio data to peripherals interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to memory 102 and / or RF circuit 108 by peripherals interface 118. In some embodiments, audio circuit 110 also includes a headset jack (e.g., 212 in FIG. 2 ). The headset jack provides an interface between audio circuitry 110 and a detachable audio input / output peripheral, such as an output-only headphone or a headset with both an output (e.g., mono or binaural headphones) and an input (e.g., a microphone).
[0084] I / O subsystem 106 couples input / output peripherals on device 100, such as touchscreen 112 and other input control devices 116, to peripheral interface 118. I / O subsystem 106 optionally includes display controller 156, optical sensor controller 158, depth camera controller 169, intensity sensor controller 159, haptic feedback controller 161, and one or more input controllers 160 for other input or control devices. One or more input controllers 160 receive / send electrical signals from / to other input control devices 116. Other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, etc. In some embodiments, input controller(s) 160 are optionally coupled to any (or none) of a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. The one or more buttons (e.g., 208 in FIG. 2 ) optionally include up / down buttons for volume control of speaker 111 and / or microphone 113. The one or more buttons optionally include push buttons (e.g., 206 in FIG. 2 ). In some embodiments, the electronic device is a computer system in communication with one or more input devices (e.g., via wireless communication over wired communication). 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 sensors 164 and / or one or more depth camera sensors 175), such as for tracking a user's gestures (e.g., hand gestures and / or air gestures) as input. In some embodiments, the one or more input devices are integrated with the computer system. In some embodiments, the one or more input devices are separate from the computer system.In some embodiments, an air gesture is a gesture that is detected without the user touching an input element that is part of the device (or independent of an input element that is part of the device) and is based on detected movement of a part of the user's body in the air, including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement of the user's body relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of the user's other hand relative to one of the user's hands, and / or movement of the user's fingers relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (e.g., a tap gesture that includes movement of the hand in a predetermined pose by a predetermined amount and / or speed, or a shake gesture that includes rotation of the part of the user's body a predetermined speed or amount).
[0085] A quick press of a push button optionally unlocks the touchscreen 112 or optionally initiates the process of unlocking the device using gestures on the touchscreen, as described in U.S. Patent Application Serial No. 11 / 322,549, filed December 23, 2005, "Unlocking a Device by Performing Gestures on an Unlock Image," U.S. Patent No. 7,657,849, which is incorporated herein by reference in its entirety. A longer press of a push button (e.g., 206) optionally turns power on or off to the device 100. The functionality of one or more of the buttons is optionally customizable by the user. The touchscreen 112 is used to implement virtual or soft buttons and one or more soft keyboards.
[0086] Touch-sensitive display 112 provides an input and output interface between the device and a user. Display controller 156 receives and / or sends electrical signals to touchscreen 112. Touchscreen 112 displays visual output to the user. This visual output optionally includes graphics, text, icons, animation, and any combination thereof (collectively "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.
[0087] Touchscreen 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from a user based on haptic and / or tactile contact. Touchscreen 112 and display controller 156 (along with any associated modules and / or instruction sets in memory 102) detects contacts (and any movement or cessation of contact) on touchscreen 112 and translates the detected contacts into interactions with user interface objects (e.g., one or more softkeys, icons, web pages, or images) displayed on touchscreen 112. In an exemplary embodiment, the point of contact between touchscreen 112 and the user corresponds to the user's finger.
[0088] Touchscreen 112 optionally uses LCD (liquid crystal display), LPD (light emitting polymer display), or LED (light emitting diode) technology, although other display technologies are used in other embodiments. Touchscreen 112 and display controller 156 optionally use any of a number of now known or later developed touch sensing technologies to detect contact and any movement or disruption thereof, including, but not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements that determine one or more points of contact with touchscreen 112. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as that found in the iPhone® and iPod Touch® from Apple Inc. of Cupertino, California.
[0089] The touch-sensitive display in some embodiments of touchscreen 112 is optionally similar to the multi-touch-sensing touchpad described in U.S. Patent Nos. 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman), and / or U.S. Patent Application Publication No. 2002 / 0015024 A1, each of which is incorporated by reference herein in its entirety. However, touchscreen 112 displays visual output from device 100, whereas touch-sensitive touchpads do not provide visual output.
[0090] The touch-sensitive display in some embodiments of touch screen 112 is described in the following applications: (1) U.S. patent application Ser. No. 11 / 381,313, filed May 2, 2006, entitled "Multipoint Touch Surface Controller," (2) U.S. patent application Ser. No. 10 / 840,862, filed May 6, 2004, entitled "Multipoint Touchscreen," (3) U.S. patent application Ser. No. 10 / 903,964, filed July 30, 2004, entitled "Gestures For Touch Sensitive Input Devices," (4) U.S. patent application Ser. No. 11 / 048,264, filed January 31, 2005, entitled "Gestures For Touch Sensitive Input Devices," and (5) U.S. patent application Ser. No. 11 / 038,590, filed January 18, 2005, entitled "Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices." No. 11 / 228,758, filed September 16, 2005, entitled "Virtual Input Device Placement On A Touch Screen User Interface," (7) U.S. Patent Application No. 11 / 228,700, filed September 16, 2005, entitled "Operation Of A Computer With A Touch Screen Interface," (8) U.S. Patent Application No. 11 / 228,737, filed September 16, 2005, entitled "Activating Virtual Keys Of A Touch-Screen Virtual Keyboard," and (9) U.S. Patent Application No. 11 / 367,749, filed March 3, 2006, entitled "Multi-Functional Hand-Held Device," all of which are incorporated herein by reference in their entireties.
[0091] Touchscreen 112 optionally has a video resolution greater than 100 dpi. In some embodiments, the touchscreen has a video resolution of approximately 160 dpi. A user optionally contacts touchscreen 112 using any suitable object or accessory, such as a stylus, a finger, or the like. In some embodiments, the user interface is designed to operate primarily using finger-based contact and gestures, which may not be as precise as stylus-based input due to the larger contact area of a finger on the touchscreen. In some embodiments, the device translates the coarse finger input into precise pointer / cursor positions or commands to perform the action desired by the user.
[0092] In some embodiments, in addition to the touchscreen, device 100 optionally includes a touchpad for activating or deactivating certain functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touchscreen, does not display visual output. The touchpad is optionally a touch-sensitive surface separate from touchscreen 112 or an extension of the touch-sensitive surface formed by the touchscreen.
[0093] Device 100 also includes a power system 162 that provides power to the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., battery, alternating current (AC)), a recharging system, power failure detection circuitry, power converters or inverters, power status indicators (e.g., light emitting diodes (LEDs)), and any other components associated with the generation, management, and distribution of electrical power within a portable device.
[0094] Device 100 also optionally includes one or more optical sensors 164. FIG. 1A shows an optical sensor coupled to optical sensor controller 158 in I / O subsystem 106. Optical sensor 164 optionally includes a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. Optical sensor 164 receives light from the environment projected through one or more lenses and converts the light into data representing an image. Optical sensor 164 optionally works in conjunction with imaging module 143 (also called a camera module) to capture still images or video. In some embodiments, the optical sensor is located on the back side of device 100 opposite touchscreen display 112 on the front of the device, so that the touchscreen display can be used as a viewfinder for capturing still images and / or video. In some embodiments, the optical sensor is located on the front of the device so that an image of a user is optionally captured for a video conference while the user views other video conference participants on the touchscreen display. In some embodiments, the position of the optical sensor 164 can be changed by the user (e.g., by rotating the lens and sensor within the device housing), so that a single optical sensor 164 is used for both video conferencing and capturing still images and / or video, along with a touchscreen display.
[0095] Device 100 also optionally includes one or more depth camera sensors 175. FIG. 1A shows a depth camera sensor coupled to depth camera controller 169 in I / O subsystem 106. Depth camera sensor 175 receives data from the environment and creates a three-dimensional model of an object (e.g., a face) in a scene from a viewpoint (e.g., the depth camera sensor). In some embodiments, in conjunction with imaging module 143 (also referred to as a camera module), depth camera sensor 175 is optionally used to determine a depth map of different portions of an image captured by imaging module 143. In some embodiments, a depth camera sensor is located on the front of device 100 to obtain images of the user with depth information for video conferencing and to capture selfie images with depth map data while the user views other video conference participants on a touchscreen display. In some embodiments, depth camera sensor 175 is located on the back of the device, or on both the back and front of device 100. In some embodiments, the position of the depth camera sensor 175 can be changed by the user (e.g., by rotating the lens and sensor within the device housing), so that the depth camera sensor 175 is used for both video conferencing and capturing still and / or video images in conjunction with a touchscreen display.
[0096] In some embodiments, a depth map (e.g., a depth map image) contains information (e.g., values) about the distance of objects in a scene from a viewpoint (e.g., a camera, light sensor, depth camera sensor). In one embodiment of a depth map, each depth pixel defines a position on the Z axis of the viewpoint where its corresponding two-dimensional pixel is located. In some embodiments, a depth map is made up of pixels, each defined by a value (e.g., 0 to 255). For example, a value of "0" represents a pixel located furthest in a "3D" scene, and a value of "255" represents a pixel located closest to the viewpoint (e.g., a camera, light sensor, depth camera sensor) in the "3D" scene. In other embodiments, a depth map represents the distance between objects in a scene and the plane of the viewpoint. In some embodiments, a depth map contains information about the relative depth of various features of an object of interest as seen by a depth camera (e.g., the relative depth of the eyes, nose, mouth, and ears on a user's face). In some embodiments, the depth map contains information that allows the device to determine the contours of the target object in the z direction.
[0097] Device 100 also optionally includes one or more contact intensity sensors 165. FIG. 1A shows a contact intensity sensor coupled to intensity sensor controller 159 in I / O subsystem 106. Contact intensity sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electric force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other intensity sensors (e.g., sensors used to measure the force (or pressure) of a contact on a touch-sensitive surface). Contact intensity sensor 165 receives contact intensity information (e.g., pressure information or a proxy for pressure information) from the environment. In some embodiments, at least one contact intensity sensor is juxtaposed with or proximate to the touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact intensity sensor is located on the back of device 100, opposite touchscreen display 112, which is located on the front of device 100.
[0098] Device 100 also optionally includes one or more proximity sensors 166. Figure 1A shows proximity sensor 166 coupled to peripherals interface 118. Alternatively, proximity sensor 166 is optionally coupled to input controller 160 within I / O subsystem 106. Proximity sensor 166 optionally functions as described in U.S. patent application Ser. Nos. 11 / 241,839, "Proximity Detector In Handheld Device," 11 / 240,788, "Proximity Detector In Handheld Device," 11 / 620,702, "Using Ambient Light Sensor To Augment Proximity Sensor Output," 11 / 586,862, "Automated Response To And Sensing Of User Activity In Portable Devices," and 11 / 638,251, "Methods And Systems For Automatic Configuration Of Peripherals," which are incorporated herein by reference in their entireties. In some embodiments, the proximity sensor turns off and disables touchscreen 112 when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call).
[0099] Device 100 also optionally includes one or more tactile output generators 167. FIG. 1A shows tactile output generators coupled to haptic feedback controller 161 in I / O subsystem 106. Tactile output generator 167 optionally includes one or more electroacoustic devices, such as speakers or other audio components, and / or electromechanical devices that convert energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other tactile output generating components (e.g., components that convert electrical signals into tactile output on the device). Contact intensity sensor 165 receives tactile feedback generation instructions from haptic feedback module 133 and generates a tactile output on device 100 that can be sensed by a user of device 100. In some embodiments, at least one tactile output generator is juxtaposed with or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112) and, optionally, generates a tactile output by moving the touch-sensitive surface vertically (e.g., in / out of the surface of device 100) or horizontally (e.g., back and forth in the same plane as the surface of device 100). In some embodiments, at least one tactile output generator sensor is located on the back of device 100, opposite touchscreen display 112, which is located on the front of device 100.
[0100] Device 100 also optionally includes one or more accelerometers 168. FIG. 1A shows accelerometer 168 coupled to peripherals interface 118. Alternatively, accelerometer 168 is optionally coupled to input controller 160 in I / O subsystem 106. Accelerometer 168 optionally functions as described in U.S. Patent Application Publication No. 20050190059, "Acceleration-based Theft Detection System for Portable Electronic Devices," and U.S. Patent Application Publication No. 20060017692, "Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer," both of which are incorporated herein by reference in their entireties. In some embodiments, information is displayed on the touchscreen display in portrait or landscape orientation based on an analysis of data received from the one or more accelerometers. In addition to accelerometer(s) 168, device 100 optionally includes a magnetometer and a GPS (or GLONASS or other global navigation system) receiver for obtaining information about the location and orientation (e.g., vertical or horizontal) of device 100.
[0101] In some embodiments, software components stored in memory 102 include operating system 126, communication module (or instruction set) 128, touch / motion module (or instruction set) 130, graphics module (or instruction set) 132, text input module (or instruction set) 134, Global Positioning System (GPS) module (or instruction set) 135, and applications (or instruction set) 136. Additionally, in some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3) stores device / global internal state 157, as shown in FIGS. 1A and 3. Device / global internal state 157 includes one or more of: active application state indicating which applications, if any, are currently active; display state indicating which applications, views, or other information occupy various regions of touchscreen display 112; sensor state including information obtained from the device's various sensors and input control devices 116; and location information regarding the device's location and / or orientation.
[0102] Operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers that control and manage general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitate communication between various hardware and software components.
[0103] Communications module 128 facilitates communication with other devices via one or more external ports 124 and also includes various software components for processing data received by RF circuitry 108 and / or external port 124. External port 124 (e.g., Universal Serial Bus (USB), FIREWIRE, etc.) is adapted to couple to other devices directly or indirectly via a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external port is a multi-pin (e.g., 30-pin) connector that is the same as, similar to, and / or compatible with the 30-pin connector used on iPod® (trademark of Apple Inc.) devices.
[0104] Contact / motion module 130, optionally in conjunction with display controller 156, detects contact with touchscreen 112 and other touch-sensing devices (e.g., a touchpad or physical click wheel). Contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether contact occurs (e.g., detecting a finger-down event), determining the intensity of the contact (e.g., the force or pressure of the contact, or a surrogate for the force or pressure of the contact), determining whether there is contact movement and tracking the movement across the touch-sensitive surface (e.g., detecting one or more finger-drag events), and determining whether the contact has ceased (e.g., detecting a finger-up event or an interruption of the contact). Contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact, as represented by the series of contact data, optionally includes determining the speed (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact. These actions are optionally applied to a single contact (e.g., a single finger contact) or multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts). In some embodiments, contact / motion module 130 and display controller 156 detect contacts on the touchpad.
[0105] In some embodiments, contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an action has been performed by a user (e.g., to determine whether a user has “clicked” on an icon). In some embodiments, at least a subset of the intensity thresholds are determined according to software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a particular physical actuator, but can be adjusted without modifying the physical hardware of device 100). For example, the mouse “click” threshold of a trackpad or touchscreen display can be set to any of a wide range of pre-defined thresholds without modifying the trackpad or touchscreen display hardware. Additionally, in some implementations, a user of the device is provided with a software setting to adjust one or more of the set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by adjusting multiple intensity thresholds at once via a system-level click “intensity” parameter).
[0106] Contact / motion module 130 optionally detects gesture input by a user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different movements, timing, and / or intensities of detected contacts). Thus, gestures are optionally detected by detecting particular contact patterns. For example, detecting a finger tap gesture includes detecting a finger down event, followed by detecting a finger up (lift off) event at the same position (or substantially the same position) as the finger down event (e.g., the position of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger down event, followed by one or more finger drag events, followed by detecting a finger up (lift off) event.
[0107] Graphics module 132 includes various known software components that render and display graphics on touchscreen 112 or other display, including components that modify the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual properties) of the displayed graphics. As used herein, the term "graphic" includes any object that can be displayed to a user, including, but not limited to, text, web pages, icons (such as user interface objects including soft keys), digital images, video, animation, etc.
[0108] In some embodiments, graphics module 132 stores data representing graphics to be used. Each graphic is optionally assigned a corresponding code. Graphics module 132 receives one or more codes specifying the graphics to be displayed, including coordinate data and other graphic property data, as needed, from an application or the like, and then generates screen image data to output to display controller 156.
[0109] The tactile feedback module 133 includes various software components for generating instructions used by the tactile output generator(s) 167 to generate tactile outputs at one or more locations on the device 100 in response to a user's interaction with the device 100.
[0110] Text input module 134 is optionally a component of graphics module 132 and provides a soft keyboard for entering text in various applications (e.g., contacts module 137, email client module 140, IM module 141, browser module 147, and any other application requiring text input).
[0111] The GPS module 135 determines the location of the device and provides this information for use within various applications (e.g., to the phone module 138 for use in location-based dialing, to the camera module 143 as picture / video metadata, and to applications that provide location-based services such as a weather widget, a local yellow pages widget, and a maps / navigation widget).
[0112] Application 136 optionally includes the following modules (or sets of instructions), or a subset or superset thereof: • a contacts module 137 (sometimes called an address book or contact list); ●Telephone module 138, ●Videoconferencing module 139, ● an email client module 140; ● Instant messaging (IM) module 141, ●Training support module 142, camera module 143 for still images and / or video; ● Image management module 144; ●Video player module, ●Music player module, ● Browser module 147, ● Calendar module 148, • A widget module 149 optionally including one or more of a weather widget 149-1, a stock price widget 149-2, a calculator widget 149-3, an alarm clock widget 149-4, a dictionary widget 149-5, and other widgets obtained by the user, and a user-created widget 149-6; a widget creator module 150 for creating user-created widgets 149-6; ● Search module 151, A video and music player module 152 that integrates a video player module and a music player module; ● Memo module 153, Map module 154, and / or ●Online video module 155.
[0113] Examples of other applications 136 optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice duplication.
[0114] Contacts module 137, along with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, is optionally used to manage an address book or contact list (e.g., stored in memory 102 or in the application internal state 192 of contacts module 137 in memory 370), including adding name(s) to the address book, removing name(s) from the address book, associating phone number(s), email address(es), street address(es), or other information with names, associating images with names, categorizing and sorting names, providing phone numbers or email addresses to initiate and / or facilitate communication via telephone module 138, videoconferencing module 139, email client module 140, or IM module 141, etc.
[0115] Telephone module 138, in conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, is optionally used to enter character sequences corresponding to telephone numbers, access one or more telephone numbers in contacts module 137, modify entered telephone numbers, dial individual telephone numbers, place calls, and disconnect and hang up when the call is complete. As previously mentioned, wireless communication optionally uses any of a number of communication standards, protocols, and technologies.
[0116] Videoconferencing module 139 includes executable instructions to cooperate with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touchscreen 112, display controller 156, optical sensor 164, optical sensor controller 158, touch / motion module 130, graphics module 132, text input module 134, contacts module 137, and telephone module 138 to initiate, conduct, and end a videoconference between a user and one or more other participants according to the user's commands.
[0117] Email client module 140, in conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, contains executable instructions for composing, sending, receiving, and managing emails in response to user commands. In conjunction with image management module 144, email client module 140 greatly facilitates the creation and sending of emails with still or video images captured by camera module 143.
[0118] Instant messaging module 141, in conjunction with RF circuitry 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, includes executable instructions for entering character sequences corresponding to instant messages, modifying previously entered characters, sending individual instant messages (e.g., using Short Message Service (SMS) or Multimedia Message Service (MMS) protocols for telephony-based instant messaging, or XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, sent and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments, such as those supported by MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant messaging" refers to both telephony-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).
[0119] In conjunction with the RF circuitry 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music player module, the training support module 142 includes executable instructions to create workouts (e.g., with time, distance, and / or calorie burn goals), communicate with training sensors (sports devices), receive training sensor data, calibrate sensors used to monitor workouts, select and play music for workouts, and display, store, and transmit workout data.
[0120] Camera module 143, in conjunction with touchscreen 112, display controller 156, optical sensor(s) 164, optical sensor controller 158, contact / motion module 130, graphics module 132, and image management module 144, includes executable instructions to capture and store still images or video (including video streams) in memory 102, modify characteristics of the still images or video, or delete the still images or video from memory 102.
[0121] Image management module 144 includes executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing still and / or video images in conjunction with touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and camera module 143.
[0122] Browser module 147, in conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, contains executable instructions for browsing the Internet according to user commands, including retrieving, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0123] The calendar module 148 includes executable instructions to cooperate with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the email client module 140, and the browser module 147 to create, display, modify, and store calendars and data associated with the calendars (e.g., calendar entries, to-do lists, etc.) according to user instructions.
[0124] Widget module 149, in conjunction with RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and browser module 147, optionally provides mini-applications (e.g., weather widget 149-1, stock price widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5) downloaded and used by a user, or mini-applications created by a user (e.g., user-created widget 149-6). In some embodiments, a widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, a widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., Yahoo! Widgets).
[0125] The widget creator module 150, in conjunction with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, and the browser module 147, is optionally used by a user to create a widget (e.g., turn a user-specified portion of a web page into a widget).
[0126] The search module 151 includes executable instructions for working in conjunction with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134 to search for text, music, sound, images, video, and / or other files in the memory 102 that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with a user's commands.
[0127] Video and music player module 152 includes executable instructions that, in conjunction with touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, enable a user to download and play pre-recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files, as well as executable instructions for displaying, presenting, or otherwise playing videos (e.g., on touchscreen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (a trademark of Apple Inc.).
[0128] The notes module 153 includes executable instructions for working with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134 to create and manage notes, to-do lists, and the like according to user commands.
[0129] Map module 154, in conjunction with RF circuitry 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, is used to receive, display, modify, and store maps and data associated with maps (e.g., driving directions, data regarding businesses and other points of interest at or near a particular location, and other location-based data), optionally in accordance with user instructions.
[0130] Online video module 155, in conjunction with touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, email client module 140, and browser module 147, contains instructions that enable a user to access, browse for, receive (e.g., by streaming and / or downloading), and play (e.g., on the touchscreen or on an external display connected via external port 124) particular online videos, send emails with links to particular online videos, and otherwise manage online videos in one or more file formats, such as H.264. In some embodiments, instant messaging module 141 is used to send links to particular online videos, rather than email client module 140. Additional description of online video applications can be found in U.S. Provisional Patent Application No. 60 / 936,562, filed June 20, 2007, entitled "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," and U.S. Patent Application No. 11 / 968,067, filed December 31, 2007, entitled "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," the contents of which are incorporated herein by reference in their entireties.
[0131] The above-identified modules and applications each correspond to sets of executable instructions that perform one or more of the functions and methods described herein (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., sets of instructions) need not be implemented as respective software programs (e.g., computer programs (e.g., including instructions)), procedures, or modules; thus, in various embodiments, various subsets of these modules are optionally combined or otherwise rearranged. For example, a video player module is optionally combined with a music player module into a single module (e.g., video and music player module 152 of FIG. 1A). In some embodiments, memory 102 optionally stores a subset of the above-identified modules and data structures. Additionally, memory 102 optionally stores additional modules and data structures not described above.
[0132] In some embodiments, device 100 is a device in which operation of a predetermined set of functions on the device is performed solely via a touchscreen and / or touchpad. Using the touchscreen and / or touchpad as the primary input control device for operation of device 100 optionally reduces the number of physical input control devices (push buttons, dials, etc.) on device 100.
[0133] The set of predefined functions performed only through the touchscreen and / or touchpad optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by a user, navigates device 100 to a main menu, home menu, or root menu from any user interface displayed on device 100. In such embodiments, a "menu button" is implemented using the touchpad. In some other embodiments, the menu button is a physical push button or other physical input control device rather than a touchpad.
[0134] 1B is a block diagram illustrating exemplary components for event processing, according to some embodiments. In some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3) includes an event sorter 170 (e.g., within operating system 126) and a separate application 136-1 (e.g., any of applications 137-151, 155, 380-390 described above).
[0135] Event sorter 170 receives the event information and determines which application 136-1 to deliver the event information to and application view 191 for application 136-1. Event sorter 170 includes event monitor 171 and event dispatcher module 174. In some embodiments, application 136-1 includes application internal state 192 that indicates the current application view(s) that are displayed on touch-sensitive display 112 when the application is active or running. In some embodiments, device / global internal state 157 is used by event sorter 170 to determine which application(s) are currently active, and application internal state 192 is used by event sorter 170 to determine which application(s) are currently active, and application internal state 192 is used by event sorter 170 to determine which application view(s) to deliver the event information to.
[0136] In some embodiments, application internal state 192 includes additional information such as one or more of resume information to be used when application 136-1 resumes execution, user interface state information indicating or ready to display information being displayed by application 136-1, state cues that allow the user to return to a previous state or view of application 136-1, and redo / undo cues for previous actions taken by the user.
[0137] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about sub-events (e.g., a user touch as part of a multi-touch gesture on touch-sensitive display 112). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, accelerometer(s) 168, and / or microphone 113 (via audio circuitry 110). Information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.
[0138] In some embodiments, event monitor 171 sends requests to peripherals interface 118 at predetermined intervals. In response, peripherals interface 118 transmits event information. In other embodiments, peripherals interface 118 transmits event information only when there is a significant event (e.g., receipt of an input above a predetermined noise threshold and / or for more than a predetermined duration).
[0139] In some embodiments, the event sorter 170 also includes a hit view determination module 172 and / or an active event recognizer determination module 173 .
[0140] Hit view determination module 172 provides software procedures that determine where a sub-event occurred within one or more views when touch-sensitive display 112 displays more than one view. A view consists of the controls and other elements that a user can see on the display.
[0141] Another aspect of a user interface associated with an application is the set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views (of individual applications) in which touches are detected optionally correspond to programmatic levels within the application's programmatic or view hierarchy. For example, the lowest-level view in which a touch is detected is optionally referred to as the hit view, and the set of events that are recognized as appropriate inputs is optionally determined based at least in part on the hit view of the initial touch that initiates the touch gesture.
[0142] Hit view determination module 172 receives information related to sub-events of a touch-based gesture. When an application has multiple views organized in a hierarchy, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy that should process the sub-events. In most situations, the hit view is the lowest-level view in which an initiating sub-event occurs (e.g., the first sub-event in a sequence of sub-events that form an event or potential event). Once a hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source identified as the hit view.
[0143] Active event recognizer determination module 173 determines which view(s) in the view hierarchy should receive the particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive the particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that contain the physical location of the sub-events are actively participating views, and therefore determines that all actively participating views should receive the particular sequence of sub-events. In other embodiments, even if the touch sub-event is completely confined to the area associated with one particular view, views higher in the hierarchy still remain actively participating views.
[0144] Event dispatcher module 174 dispatches event information to event recognizers (e.g., event recognizer 180). In embodiments that include active event recognizer determination module 173, event dispatcher module 174 delivers event information to the event recognizers determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores event information in an event queue, which is retrieved by individual event receivers 182.
[0145] In some embodiments, operating system 126 includes event sorter 170. Alternatively, application 136-1 includes event sorter 170. In still other embodiments, event sorter 170 is a stand-alone module or is part of another module stored in memory 102, such as contact / motion module 130.
[0146] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each containing instructions for processing touch events that occur within a separate view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, an individual application view 191 includes multiple event recognizers 180. In other embodiments, one or more of the event recognizers 180 are part of a separate module, such as a user interface kit or a higher-level object from which application 136-1 inherits methods and other properties. In some embodiments, individual event handlers 190 include one or more of data updater 176, object updater 177, GUI updater 178, and / or event data 179 received from event sorter 170. Event handler 190 optionally utilizes or invokes data updater 176, object updater 177, or GUI updater 178 to update application internal state 192. Alternatively, one or more of the application views 191 include one or more respective event handlers 190. Also, in some embodiments, one or more of the data updater 176, the object updater 177, and the GUI updater 178 are included in individual application views 191.
[0147] A separate event recognizer 180 receives event information (e.g., event data 179) from event sorter 170 and identifies events from the event information. Event recognizer 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event recognizer 180 also includes metadata 183 and at least a subset of event delivery instructions 188 (optionally including sub-event delivery instructions).
[0148] The event receiver 182 receives event information from the event sorter 170. The event information includes information about a sub-event, e.g., a touch or a movement of a touch. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves a movement of a touch, the event information also optionally includes the speed and direction of the sub-event. In some embodiments, the event includes a rotation of the device from one orientation to another (e.g., from portrait to landscape or vice versa), and the event information includes corresponding information about the current orientation of the device (also called the device's posture).
[0149] The event comparator 184 compares the event information to predefined event or sub-event definitions and determines the event or sub-event, or determines or updates the state of the event or sub-event, based on the comparison. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 includes definitions of events (e.g., a predefined sequence of predefined sub-events), such as Event 1 (187-1) and Event 2 (187-2). In some embodiments, sub-events within Events (187-1 and / or 187-2) include, for example, touch start, touch end, touch movement, touch cancellation, and multiple touches. In one example, the definition for Event 1 (187-1) is a double tap on a displayed object. The double tap includes, for example, a first touch on a displayed object relative to a predetermined stage (touch start), a first lift-off (touch end) relative to the predetermined stage, a second touch on a displayed object relative to the predetermined stage (touch start), and a second lift-off (touch end) relative to the predetermined stage. In another example, a definition of event 2 (187-2) is a drag on a displayed object. Drag includes, for example, a touch (or contact) on the displayed object to a predetermined stage, a movement of the touch across the touch-sensitive display 112, and a lift-off of the touch (touch end). In some embodiments, the event also includes information about one or more associated event handlers 190.
[0150] In some embodiments, event definition 186 includes definitions of events for individual user interface objects. In some embodiments, event comparator 184 performs a hit test to determine which user interface objects are associated with the sub-event. For example, if a touch is detected on touch-sensitive display 112 in an application view in which three user interface objects are displayed on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a separate event handler 190, event comparator 184 uses the results of the hit test to determine which event handler 190 to activate. For example, event comparator 184 selects the event handler associated with the sub-event and object that triggers the hit test.
[0151] In some embodiments, the definition of an individual event 187 also includes a delay action that delays delivery of the event information until it is determined whether the sequence of sub-events corresponds to the event type of the event recognizer.
[0152] If the individual event recognizer 180 determines that the sequence of sub-events does not match any of the events in the event definition 186, the individual event recognizer 180 enters an event disabled, event failed, or event finished state, after which it ignores the next sub-event of the touch-based gesture. In this situation, any other event recognizers that remain active for the hit view continue to track and process sub-events of the ongoing touch gesture.
[0153] In some embodiments, individual event recognizers 180 include metadata 183 with configurable properties, flags, and / or lists that indicate to actively participating event recognizers how the event delivery system should perform sub-event delivery. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact with each other or how event recognizers are allowed to interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how sub-events are delivered to various levels in the view or programmatic hierarchy.
[0154] In some embodiments, an individual event recognizer 180 activates an event handler 190 associated with an event when one or more specific sub-events of the event are recognized. In some embodiments, the individual event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is separate from sending (and postponing sending) sub-events to the individual hit view. In some embodiments, the event recognizer 180 pops a flag associated with the recognized event, and the event handler 190 associated with the flag catches the flag and performs a predetermined process.
[0155] In some embodiments, the event delivery instructions 188 include sub-event delivery instructions that deliver event information about a sub-event without activating an event handler. Instead, the sub-event delivery instructions deliver the event information to an event handler associated with a set of sub-events or to an actively participating view. The event handler associated with the set of sub-events or the actively participating view receives the event information and performs a predetermined process.
[0156] In some embodiments, data updater 176 creates and updates data used by application 136-1. For example, data updater 176 updates phone numbers used by contacts module 137 or stores video files used by a video player module. In some embodiments, object updater 177 creates and updates objects used by application 136-1. For example, object updater 177 creates new user interface objects or updates the positions of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on the touch-sensitive display.
[0157] In some embodiments, event handler(s) 190 include or have access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of an individual application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0158] It should be understood that the foregoing description of event processing of a user's touch on a touch-sensitive display also applies to other forms of user input for operating multifunction device 100 using input devices, although not all of them are initiated on a touchscreen. For example, mouse movements and mouse button presses, contact movements such as tapping, dragging, scrolling on a touchpad, optionally coordinated with single or multiple keyboard presses or holds, pen stylus input, device movement, verbal commands, detected eye movements, biometric input, and / or any combination thereof, optionally utilize as inputs corresponding to sub-events that define the event to be recognized.
[0159] FIG. 2 illustrates portable multifunction device 100 having touchscreen 112, according to some embodiments. The touchscreen optionally displays one or more graphics within user interface (UI) 200. In this embodiment, as well as other embodiments described below, a user may select one or more of the graphics by performing a gesture on the graphics, for example, using one or more fingers 202 (not drawn to scale) or one or more styluses 203 (not drawn to scale). In some embodiments, selection of one or more graphics is performed when the user breaks contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (left to right, right to left, upward and / or downward), and / or rolling (right to left, left to right, upward and / or downward) of a finger in contact with device 100. In some implementations or situations, accidental contact with a graphic does not select the graphic, for example, if the gesture corresponding to selection is a tap, a swipe gesture sweeping over an application icon optionally does not select the corresponding application.
[0160] Device 100 also optionally includes one or more physical buttons, such as a "home" button or menu button 204. As previously mentioned, menu button 204 is optionally used to navigate to any application 136 within a set of applications running on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key within a GUI displayed on touchscreen 112.
[0161] In some embodiments, device 100 includes touchscreen 112, menu button 204, pushbutton 206 for powering the device on / off and locking the device, volume control button(s) 208, subscriber identity module (SIM) card slot 210, headset jack 212, and external docking / charging port 124. Pushbutton 206 is optionally used to power the device on / off by pressing and holding the button down for a predetermined period of time, to lock the device by pressing and releasing the button before the predetermined time has elapsed, and / or to unlock the device or initiate the unlocking process. In alternative embodiments, device 100 also accepts verbal input via microphone 113 for activating or deactivating certain functions. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of a contact on touchscreen 112 and / or one or more tactile output generators 167 for generating a tactile output for a user of device 100.
[0162] FIG. 3 is a block diagram of an exemplary multifunction device having a display and a touch-sensitive surface, according to some embodiments. Device 300 need not be portable. In some embodiments, device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a child's learning toy), a gaming system, or a control device (e.g., a home or commercial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses 320 interconnecting these components. Communication bus 320 optionally includes circuitry (sometimes referred to as a chipset) that interconnects and controls communication between system components. Device 300 includes input / output (I / O) interface 330, including display 340, which is typically a touchscreen display. I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 that generates tactile output on device 300 (e.g., similar to tactile output generator(s) 167 described above with reference to FIG. 1A ), and sensors 359 (e.g., light, acceleration, proximity, touch-sensing, and / or contact intensity sensors similar to contact intensity sensor(s) 165 described above with reference to FIG. 1A ). Memory 370 includes high-speed random-access memory such as DRAM, SRAM, DDR RAM, or other random-access solid-state memory devices, and optionally includes non-volatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 370 optionally includes one or more storage devices located remotely from CPU(s) 310.In some embodiments, memory 370 stores programs, modules, and data structures similar to, or a subset of, programs, modules, and data structures stored in memory 102 of portable multifunction device 100 (FIG. 1A). Additionally, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable multifunction device 100. For example, memory 370 of device 300 optionally stores drawing module 380, presentation module 382, word processing module 384, website creation module 386, disk authoring module 388, and / or spreadsheet module 390, whereas memory 102 of portable multifunction device 100 (FIG. 1A) optionally does not store these modules.
[0163] Each of the above-identified elements of FIG. 3 is optionally stored in one or more of the memory devices mentioned above. Each of the above-identified modules corresponds to an instruction set that performs the functions mentioned above. The above-identified modules or computer programs (e.g., including an instruction set or instructions) need not be implemented as separate software programs (e.g., computer programs (e.g., including instructions)), procedures, or modules; thus, in various embodiments, various subsets of these modules are optionally combined or otherwise reconfigured. In some embodiments, memory 370 optionally stores a subset of the above-identified modules and data structures. Additionally, memory 370 optionally stores additional modules and data structures not described above.
[0164] Attention is now optionally directed to user interface embodiments, for example, as implemented on portable multifunction device 100.
[0165] 4A shows an exemplary user interface for a menu of applications on portable multifunction device 100, according to some embodiments. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof: signal strength indicator(s) 402 for wireless communication(s), such as cellular and Wi-Fi signals; ●Time 404, ●Bluetooth indicator 405, ● Battery status indicator 406, Tray 408 with icons of frequently used applications, such as: An icon 416 for the phone module 138, labeled "Phone," optionally including an indicator 414 of the number of missed calls or voicemail messages; icon 418 of the email client module 140, labeled "Mail," optionally including an indicator 410 of the number of unread emails; ○ An icon 420 for the browser module 147, labeled "Browser"; and ○ An icon 422 for the video and music player module 152, also called the iPod (trademark of Apple Inc.) module 152, labeled "iPod"; and ● Icons of other applications, such as: ○ Icon 424 of IM module 141, labeled "Messages"; icon 426 of the calendar module 148, labeled "Calendar"; ○ Icon 428 of the image management module 144, labeled "Photos" ○ An icon 430 of the camera module 143, labeled "camera"; ○ Icon 432 of the online video module 155, labeled "Online Video"; Icon 434 of Stock Price Widget 149-2, labeled "Stock Price" ○ Icon 436 of the map module 154, labeled "Map" Icon 438 of weather widget 149-1, labeled "Weather" ○ Icon 440 of alarm clock widget 149-4, labeled "Clock" ○ Icon 442 of Training Support Module 142, labeled "Training Support"; ○ An icon 444 of the Notes module 153 labeled "Notes," and A settings application or module icon 446 labeled "Settings" that provides access to settings for the device 100 and its various applications 136.
[0166] Note that the icon labels shown in FIG. 4A are merely exemplary. For example, icon 422 of video and music player module 152 is labeled "Music" or "Music Player." Other labels are optionally used for various application icons. In some embodiments, the label for an individual application icon includes the name of the application that corresponds to the individual application icon. In some embodiments, the label of a particular application icon is different from the name of the application that corresponds to that particular application icon.
[0167] 4B shows an example user interface on a device (e.g., device 300 of FIG. 3 ) that has touch-sensitive surface 451 (e.g., tablet or touchpad 355 of FIG. 3 ) that is separate from display 450 (e.g., touchscreen display 112). Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) that detect the intensity of a contact on touch-sensitive surface 451, and / or one or more tactile output generators 357 that generate a tactile output for a user of device 300.
[0168] Although some of the following examples are given with reference to input on touchscreen display 112 (which combines a touch-sensitive surface and a display), in some embodiments, the device detects input on a touch-sensitive surface that is separate from the display, as shown in FIG. 4B . In some embodiments, the touch-sensitive surface (e.g., 451 in FIG. 4B ) has a primary axis (e.g., 452 in FIG. 4B ) that corresponds to a primary axis (e.g., 453 in FIG. 4B ) on the display (e.g., 450). According to these embodiments, the device detects contact with touch-sensitive surface 451 (e.g., 460 and 462 in FIG. 4B ) at locations that correspond to respective locations on the display (e.g., in FIG. 4B , 460 corresponds to 468 and 462 corresponds to 470). In this way, user input (e.g., contacts 460 and 462 and their movement) detected by the device on the touch-sensitive surface (e.g., 451 in FIG. 4B ) is used by the device to operate a user interface on the display (e.g., 450 in FIG. 4B ) of the multifunction device when the touch-sensitive surface is separate from the display. It should be understood that similar methods are optionally used for the other user interfaces described herein.
[0169] Additionally, while the following examples are given primarily with reference to finger input (e.g., finger contact, finger tap gesture, finger swipe gesture), it should be understood that in some embodiments, one or more of the finger inputs are replaced with input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of a contact) followed by movement of a cursor along the path of the swipe (e.g., instead of movement of the contact). As another example, a tap gesture is optionally replaced by a mouse click (e.g., instead of detecting a contact and then ceasing contact detection) while the cursor is positioned over the location of the tap gesture. Similarly, it should be understood that when multiple user inputs are detected simultaneously, multiple computer mice are optionally used simultaneously, or a mouse and finger contacts are optionally used simultaneously.
[0170] FIG. 5A shows an exemplary personal electronic device 500. Device 500 includes a main body 502. In some embodiments, device 500 can include some or all of the functionality described with respect to devices 100 and 300 (e.g., FIGS. 1A-4B ). In some embodiments, device 500 has a touch-sensitive display screen 504, hereafter touchscreen 504. Alternatively, or in addition to touchscreen 504, device 500 has a display and a touch-sensitive surface. Similar to devices 100 and 300, in some embodiments, touchscreen 504 (or the touch-sensitive surface) optionally includes one or more intensity sensors that detect the intensity of contact (e.g., touches) being applied. The one or more intensity sensors of touchscreen 504 (or the touch-sensitive surface) can provide output data representing the intensity of the touch. The user interface of device 500 can respond to touches based on their intensity, meaning that touches of different intensities can invoke different user interface actions on device 500.
[0171] For exemplary techniques for detecting and processing touch intensity, see, for example, related applications International Patent Application No. PCT / US2013 / 040061, filed May 8, 2013, entitled "Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application," published as International Publication No. WO / 2013 / 169849, and International Patent Application No. PCT / US2013 / 069483, filed November 11, 2013, entitled "Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships," published as International Publication No. WO / 2014 / 105276, each of which is incorporated herein by reference in its entirety.
[0172] In some embodiments, device 500 has one or more input mechanisms 506 and 508. Input mechanisms 506 and 508, if included, may be physical. Examples of physical input mechanisms include push buttons and rotatable mechanisms. In some embodiments, device 500 has one or more attachment mechanisms. Such attachment mechanisms, if included, may allow device 500 to be attached to, for example, hats, eyewear, earrings, necklaces, shirts, jackets, bracelets, watch bands, chains, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow device 500 to be worn by a user.
[0173] FIG. 5B illustrates an exemplary personal electronic device 500. In some embodiments, device 500 can include some or all of the components described with respect to FIGS. 1A, 1B, and 3. Device 500 has a bus 512 operably coupling an I / O section 514 to one or more computer processors 516 and memory 518. I / O section 514 can be connected to a display screen 504, which can have touch-sensing components 522 and, optionally, an intensity sensor 524 (e.g., a contact intensity sensor). Additionally, I / O section 514 can be connected to a communication unit 530 that receives application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular, and / or other wireless communication technologies. Device 500 can include input mechanisms 506 and / or 508. Input mechanism 506 is optionally, for example, a rotatable input device or a depressible and rotatable input device. In some embodiments, input mechanism 508 is optionally a button.
[0174] In some embodiments, input mechanism 508 is optionally a microphone. Personal electronic device 500 optionally includes various sensors, such as a GPS sensor 532, an accelerometer 534, an orientation sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or combinations thereof, all of which may be operably connected to I / O section 514.
[0175] The memory 518 of the personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by one or more computer processors 516, may cause the computer processors to perform the techniques described below, including processes 700, 750, 900, 1100, 1300, and 1500 (FIGS. 7A, 7B, 9, 11A, 11B, 13, and 15). A computer-readable storage medium may be any medium that can tangibly contain or store computer-executable instructions used by or in connection with an instruction execution system, apparatus, or device. In some embodiments, the storage medium is a transient computer-readable storage medium. In some embodiments, the storage medium is a non-transitory computer-readable storage medium. A non-transitory computer-readable storage medium may include, but is not limited to, a magnetic storage device, an optical storage device, and / or a semiconductor storage device. Examples of such storage devices include magnetic disks, optical disks based on CD, DVD, or Blu-ray technology, and persistent solid-state memory such as flash, solid-state drives, etc. Personal electronic device 500 is not limited to the components and configuration of Figure 5B and may include other or additional components in multiple configurations.
[0176] As used herein, the term "affordance" refers to a user-interactive graphical user interface object, optionally displayed on a display screen of device 100, 300, and / or 500 (FIGS. 1A, 3, and 5A-5B). For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) each, optionally, constitute an affordance.
[0177] As used herein, the term “focus selector” refers to an input element that indicates the current portion of the user interface with which the user is interacting. In some implementations involving a cursor or other location marker, the cursor acts as the “focus selector,” such that when input (e.g., a press input) is detected on a touch-sensitive surface (e.g., touchpad 355 of FIG. 3 or touch-sensitive surface 451 of FIG. 4B) while the cursor is positioned over a particular user interface element (e.g., a button, window, slider, or other user interface element), the particular user interface element is adjusted according to the detected input. In some implementations involving a touchscreen display (e.g., touch-sensitive display system 112 of FIG. 1A or touchscreen 112 of FIG. 4A) that allows direct interaction with user interface elements on the touchscreen display, a detected contact on the touchscreen acts as the “focus selector,” such that when input (e.g., a press input by contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touchscreen display, the particular user interface element is adjusted according to the detected input. In some implementations, focus is moved from one region of the user interface to another region of the user interface without a corresponding cursor movement or contact movement on the touchscreen display (e.g., by using the tab key or arrow keys to move focus from one button to another), and in these implementations, the focus selector moves to follow the movement of focus between different regions of the user interface. Regardless of the specific form that the focus selector takes, the focus selector is generally a user interface element (or contact on a touchscreen display) that is controlled by the user to communicate the user's intended interaction with the user interface (e.g., by indicating to the device the element of the user interface through which the user intends to interact).For example, the location of a focus selector (e.g., a cursor, touch, or selection box) over an individual button while a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen) indicates that the user intends to activate that individual button (and not other user interface elements shown on the device's display).
[0178] As used herein and in the claims, the term "characteristic intensity" of a contact refers to a characteristic of that contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on a plurality of intensity samples. The characteristic intensity is optionally based on a predetermined number of intensity samples, i.e., a set of intensity samples collected during a predetermined time period (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10 seconds) associated with a predetermined event (e.g., after detecting the contact, before detecting lift-off of the contact, before or after detecting the start of contact movement, before detecting the end of the contact, before or after detecting an increase in the intensity of the contact, and / or before or after detecting a decrease in the intensity of the contact). The characteristic intensity of the contact is optionally based on one or more of the maximum intensity of the contact, the mean intensity of the contact, the average intensity of the contact, the top 10 percentile intensity of the contact, half the maximum intensity of the contact, 90 percent of the maximum intensity of the contact, etc. In some embodiments, the duration of the contact is used in determining the characteristic intensity (e.g., when the characteristic intensity is an average of the intensity of the contact over time). In some embodiments, the characteristic intensity is compared to a set of one or more intensity thresholds to determine whether an action is performed by the user. For example, the set of one or more intensity thresholds optionally includes a first intensity threshold and a second intensity threshold. In this example, a contact having a characteristic intensity that does not exceed the first threshold results in a first action, a contact having a characteristic intensity above the first intensity threshold but not above the second intensity threshold results in a second action, and a contact having a characteristic intensity above the second threshold results in a third action. In some embodiments, the comparison between the characteristic intensity and the one or more thresholds is not used to determine whether to perform the first action or the second action, but rather to determine whether to perform one or more actions (e.g., whether to perform an individual action or to forgo performing an individual action).
[0179] 5C shows an exemplary diagram of a communication session between electronic devices 500A, 500B, and 500C. Devices 500A, 500B, and 500C are similar to electronic device 500 and each share one or more data connections 510, such as an Internet connection, a Wi-Fi connection, a cellular connection, a short-range communication connection, and / or any other such data connection or network, with one another to facilitate real-time communication of audio and / or video data between the respective devices over a period of time. In some embodiments, the exemplary communication session may include a shared data session in which data is communicated from one or more of the electronic devices to other electronic devices to enable simultaneous output of individual content at the electronic devices. In some embodiments, the exemplary communication session may include a videoconferencing session in which audio and / or video data is communicated between devices 500A, 500B, and 500C so that users of the respective devices can engage in real-time communication using the electronic devices.
[0180] 5C, device 500A represents an electronic device associated with user A. Device 500A is in communication (via data connection 510) with devices 500B and 500C associated with users B and C, respectively. Device 500A includes a camera 501A used to capture video data of the communication session and a display 504A (e.g., a touchscreen) used to display content associated with the communication session. Device 500A also includes other components, such as a microphone (e.g., 113) for recording audio of the communication session and a speaker (e.g., 111) for outputting audio of the communication session.
[0181] Device 500A displays, via display 504A, communication UI 520A, a user interface that facilitates a communication session (e.g., a video conferencing session) between device 500B and device 500C. Communication UI 520A includes video feed 525-1A and video feed 525-2A. Video feed 525-1A is a representation of video data captured at device 500B (e.g., using camera 501B) and communicated from device 500B to devices 500A and 500C during the communication session. Video feed 525-2A is a representation of video data captured at device 500C (e.g., using camera 501C) and communicated from device 500C to devices 500A and 500B during the communication session.
[0182] Communication UI 520A includes camera preview 550A, which is a representation of video data captured at device 500A via camera 501A. Camera preview 550A represents to user A the expected video feed of user A that will be displayed on each of devices 500B and 500C.
[0183] The communications UI 520A includes one or more controls 555A that control one or more aspects of the communications session. For example, the controls 555A may include controls for muting the audio of the communications session, changing the camera view of the communications session (e.g., changing which camera is used to capture video of the communications session, adjusting the zoom value), ending the communications session, applying visual effects to the camera view of the communications session, and activating one or more modes associated with the communications session. In some embodiments, the one or more controls 555A are optionally displayed on the communications UI 520A. In some embodiments, the one or more controls 555A are displayed separately from the camera preview 550A. In some embodiments, the one or more controls 555A are displayed overlaying at least a portion of the camera preview 550A.
[0184] 5C, device 500B represents an electronic device associated with user B, who is in communication with devices 500A and 500C (via data connection 510). Device 500B includes a camera 501B used to capture video data of the communication session and a display 504B (e.g., a touchscreen) used to display content associated with the communication session. Device 500B also includes other components, such as a microphone (e.g., 113) for recording audio of the communication session and a speaker (e.g., 111) for outputting audio of the communication session.
[0185] Device 500B displays, via touchscreen 504B, a communications UI 520B similar to communications UI 520A of device 500A. Communications UI 520B includes video feed 525-1B and video feed 525-2B. Video feed 525-1B is a representation of video data captured at device 500A (e.g., using camera 501A) and communicated from device 500A to devices 500B and 500C during the communications session. Video feed 525-2B is a representation of video data captured at device 500C (e.g., using camera 501C) and communicated from device 500C to devices 500A and 500B during the communications session. Communications UI 520B also includes camera preview 550B, which is a representation of video data captured at device 500B via camera 501B, and one or more controls 555B, similar to control 555A, for controlling one or more aspects of the communications session. Camera preview 550B represents to user B the expected video feed of user B as it would appear on each device 500A and 500C.
[0186] 5C, device 500C represents an electronic device associated with user C, who is in communication with devices 500A and 500B (via data connection 510). Device 500C includes a camera 501C used to capture video data of the communication session and a display 504C (e.g., a touchscreen) used to display content associated with the communication session. Device 500C also includes other components, such as a microphone (e.g., 113) for recording audio of the communication session and a speaker (e.g., 111) for outputting audio of the communication session.
[0187] Device 500C displays, via touchscreen 504C, a communication UI 520C similar to communication UI 520A of device 500A and communication UI 520B of device 500B. Communication UI 520C includes video feed 525-1C and video feed 525-2C. Video feed 525-1C is a representation of video data captured at device 500B (e.g., using camera 501B) and communicated from device 500B to devices 500A and 500C during the communication session. Video feed 525-2C is a representation of video data captured at device 500A (e.g., using camera 501A) and communicated from device 500A to devices 500B and 500C during the communication session. Communications UI 520C also includes camera preview 550C, which is a representation of video data captured at device 500C via camera 501C, and one or more controls 555C, similar to controls 555A and 555B, for controlling one or more aspects of the communications session. Camera preview 550C represents to user C the expected video feed of user C that will be displayed on each of devices 500A and 500B.
[0188] While the diagram shown in FIG. 5C depicts a communication session between three electronic devices, a communication session can be established between two or more electronic devices, and the number of devices participating in a communication session can change as electronic devices join or leave the communication session. For example, if one of the electronic devices leaves the communication session, the audio and video data from the device that stopped participating in the communication session is no longer represented on the participating device. For example, if device 500B stops participating in the communication session, data connection 510 between devices 500A and 500C and data connection 510 between devices 500C and 500B no longer exist. In addition, device 500A does not include video feed 525-1A, and device 500C does not include video feed 525-1C. Similarly, when a device joins a communication session, connections are established between the joining device and the existing devices, and video and audio data are shared among all devices so that each device can output data communicated from the other devices.
[0189] The embodiment shown in Figure 5C represents a diagram of a communication session between multiple electronic devices, including the exemplary communication sessions shown in Figures 6A-6Y, 8A-8G, 10A-10Q, and 14E-14N. In some embodiments, the communication sessions shown in Figures 6A-6Y, 8A-8G, 10A-10Q, and 14E-14N include two or more electronic devices, even if other electronic devices participating in the communication session are not shown in the diagrams.
[0190] As used herein, an "installed application" refers to a software application that has been downloaded onto an electronic device (e.g., device 100, 300, and / or 500) and is ready to run (e.g., opened) on the device. In some embodiments, a downloaded application becomes an installed application by an installation program that extracts program portions from a downloaded package and integrates the extracted portions with the computer system's operating system.
[0191] As used herein, the terms "open application" or "running application" refer to a software application that has retained state information (e.g., as part of device / global internal state 157 and / or application internal state 192). An open or running application is, optionally, any one of the following types of application: ● the active application currently displayed on the display screen of the device on which the application is being used; background applications (or background processes) that are not currently displayed, but for which one or more processes are being processed by one or more processors; and A suspended or hibernated application that is not running but has state information stored in memory (volatile and non-volatile, respectively) and that can be used to resume execution of the application.
[0192] As used herein, the term "closed application" refers to a software application that does not have retained state information (e.g., state information for a closed application is not stored in the device's memory). Thus, closing an application includes stopping and / or removing the application process for the application and removing state information for the application from the device's memory. Generally, opening a second application during a first application does not close the first application. When the second application is displayed and the first application is stopped from being displayed, the first application becomes a background application.
[0193] Attention is now directed to embodiments of user interfaces (“UIs”) and related processes implemented on an electronic device such as portable multifunction device 100, device 300, or device 500.
[0194] 6A-6Y illustrate exemplary user interfaces for displaying graphical effects during a real-time communication session, according to some embodiments. The user interfaces in these figures are used to explain processes described below, including the processes in FIGS. 7A-7B.
[0195] 6A, computer system 600a (e.g., Isaac's computer) and computer system 600b (e.g., Sam's computer) communicate via a real-time communication session. Computer system 600a displays user interface 602a including a representation 606a of a participant associated with computer system 600a and a representation 604a of a participant associated with computer system 600b. For example, on Isaac's computer (e.g., computer system 600a), representation 606a is Isaac's representation (e.g., self-view) and representation 604a is Sam's representation (e.g., a remote participant representation).
[0196] Computer system 600b displays user interface 602b including a representation 606b of a participant associated with computer system 600b and a representation 604b of a participant associated with computer system 600a. For example, on Sam's computer (e.g., computer system 600b), representation 606b is Sam's representation (e.g., self-view) and representation 604b is Isaac's representation (e.g., a remote participant representation).
[0197] In some embodiments, representations 606a and 606b are displayed at a smaller size than representations 604a and 604b. In some embodiments, representations 604a, 604b, 606a, and / or 606b include animated avatars, avatars, photographs, or video feeds from one or more camera sensors. In some embodiments, representations 604a, 604b, 606a, and 606b include a background environment behind the participants. In some embodiments, representations 604a, 604b, 606a, and 606b include a simulated background environment behind the participants' representations.
[0198] 6B , a participant in a real-time communication session associated with computer system 600a (e.g., Isaac) waves his or her hand within the field of view of one or more camera sensors of computer system 600a. In response to detecting Isaac's hand, computer system 600a displays hint 608a on user interface 602a, and computer system 600b displays hint 608b on user interface 602b. In user interface 602a, hint 608a is displayed around Isaac's hand in representation 606a. In user interface 602b, hint 608b is displayed around Isaac's hand in representation 604b. In some embodiments, hint 608b is not displayed in user interface 602b on computer system 600b, but instead is displayed only on computer system 600a (e.g., the hint is displayed only on the computer system associated with the participant performing the gesture, e.g., on Isaac's device and not on Sam's device). Hint 608a and hint 608b indicate that a graphical effect can be displayed in response to performing the gesture. In some embodiments, hint 608a and / or hint 608b include a circle displayed around the participant's hand. In some embodiments, hint 608a and / or hint 608b move with the participant's hand. In some embodiments, hint 608a and / or hint 608b include text stating that a graphical effect can be displayed in response to detecting the gesture. In some embodiments, hint 608a and / or hint 608b include a graphical effect, such as a glow, lighting, and / or color effect, displayed around the participant's hand.
[0199] 6C , a participant (e.g., Isaac) in a real-time communication session associated with computer system 600a performs a thumbs-up gesture within the view of one or more camera sensors of computer system 600a. In response to detecting the thumbs-up gesture, computer system 600a displays prompt 610a including a prompt for enabling a graphical effect to be displayed in response to detection of the performed gesture. If computer system 600a detects user input corresponding to selection of “yes” option 610a1, a graphical effect is displayed on representation 606a and / or representation 604b (e.g., representation of Isaac) in response to detection of the gesture performed by Isaac within the field of view of one or more camera sensors in communication with computer system 600a. If computer system 600a detects user input corresponding to Isaac selecting “No” option 610a2 in response to prompt 610a, then no graphical effects are displayed in representations 604b and 606a in response to computer system 600a detecting a gesture performed by Isaac within the field of view of computer system 600a. In some embodiments, computer system 600a ceases displaying prompt 610a after a predetermined time if no selection is made. In some embodiments, gesture-based responses are not turned on if no selection is detected within a predetermined time. In some embodiments, gesture-based responses are turned on or off via an application or operating system menu, such as menu 612a described with reference to FIG. 6D or menu 1008 described with reference to FIG. 10A. In some embodiments, the selection of the state (e.g., on or off) of gesture-based responses is persistent (e.g., the state is maintained for one or more applications so that the user does not need to enable or disable gesture-based responses when the application is launched or a new real-time communication session is initiated).
[0200] 6D , a participant in a real-time communication session associated with computer system 600a (e.g., Isaac) opens menu 612a on computer system 600a and selects a thumbs-up graphical effect via input 614a (e.g., input via a mouse and / or keyboard and / or touch gesture). In some embodiments, menu 612a includes options for displaying graphical effects including representations of a thumbs-up effect, a thumbs-down effect, a peace sign effect, a fireworks effect, a rain effect, and / or a confetti effect. In some embodiments, menu 612a includes preview thumbnails 612ab that show preview representations of the graphical effects that may be applied via menu 612a before the graphical effects are applied to representation 606a and / or representation 604b. In some embodiments, menu 612a is an operating system menu. In some embodiments, menu 612a is an application menu associated with the real-time communication session.
[0201] In FIG. 6E , in response to detecting input 614a, computer system 600a (e.g., Isaac's computer) displays graphical effect 616a within representation 606a. In some embodiments, graphical effect 616a includes a representation of a thumbs-up gesture, such as a thumbs-up emoji. In response to detecting input 614a, computer system 600a displays hint 613a. In some embodiments, hint 613a includes a video clip indicating that a graphical effect can be displayed in response to performing the gesture. In some embodiments, hint 613a includes text explaining that a graphical effect can be displayed in response to performing the gesture. Computer system 600b (e.g., Sam's computer) displays graphical effect 616b within representation 604b. In some embodiments, graphical effect 616b can include any or all of the features of graphical effect 616a.
[0202] 6F , a participant in a real-time communication session associated with computer system 600a (e.g., Isaac) performs a thumbs-up gesture while moving their hand back and forth. In response to detecting a moving thumbs-up gesture, computer system 600a and computer system 600b cease displaying the graphical effect. In some embodiments, computer system 600a and computer system 600b cease displaying the graphical effect in response to a moving gesture (or a gesture that moves above a threshold speed). In some embodiments, computer system 600a and computer system 600b cease displaying the graphical effect in response to a gesture that is maintained for less than a predetermined duration (e.g., 0.5, 1, 3, 5, or 10 seconds). In some embodiments, computer system 600a and computer system 600b display the graphical effect in response to detecting a gesture if the gesture is not moving, is moving below a threshold speed, and / or is maintained for more than a predetermined duration.
[0203] 6G , in response to detecting that a participant (e.g., Isaac) of a real-time communication session associated with computer system 600a is performing a thumbs-up gesture with his right hand, computer system 600a displays graphical effect 618a. Graphical effect 618a is included in representation 606a (e.g., representation of Isaac). In some embodiments, graphical effect 618a includes a representation of the thumbs-up gesture, such as an emoji. In some embodiments, graphical effect 618a includes a series of sequences. In some embodiments, the sequence of effects includes multiple emojis that begin displaying at the location of Isaac's hand in representation 606a and move to the top of representation 606a. In some embodiments, the sequence of effects continues until the gesture is no longer detected. Computer system 600b displays graphical effect 618b on representation 604b of Isaac. In some embodiments, the graphical effect 618b and the representation 604b may include any or all features of the graphical effect 618a and / or the representation 606a of Isaac on the computer system 600a, as described with respect to FIG. 6G.
[0204] In FIG. 6G, Isaac begins moving his hand from in front of his body (e.g., a first location) to the right of his torso (e.g., a second location). In some embodiments, the speed of Isaac's hand movement falls below a threshold speed. In FIG. 6H, Isaac's hand continues to move to the right of his torso (e.g., toward a second location), and computer system 600a displays graphical effect 618a at the current location of the gesture in representation 606a. In some embodiments, only the most recently displayed portion of graphical effect 618a is aligned with the current horizontal location of Isaac's hand in representation 606a. For example, more recent effects are displayed at the current location of Isaac's hand, and less recent effects are horizontally aligned with the first location of Isaac's hand and vertically higher than the most recent effect, creating a "trail" of effects that float away from the location of the gesture in representation 606a. Similarly, computer system 600b displays graphical effect 618b at a second location in representation 604b of Isaac in user interface 602b. In some embodiments, graphical effect 618b and / or representation 604b may include any or all of the features of graphical effect 618a and / or representation 606a as described with respect to FIG.
[0205] In FIG. 6I , Isaac's hand is now to the right of his torso. Graphical effect 618a is displayed at a second location within representation 606a. In some embodiments, graphical effect 618a creates a vertical line of effect above the gesture that moves vertically out of frame within representation 606a. In some embodiments, graphical effect 618a is no longer displayed at the first location of Isaac's hand. Similarly, computer system 600b displays graphical effect 618b at a second location within representation 604b. In some embodiments, graphical effect 618b and / or representation 604b can include any or all of the features of graphical effect 618a and / or representation 606a as described with respect to FIG. 6I .
[0206] In FIG. 6J , a participant (e.g., Isaac) associated with computer system 600a performs a thumbs-up gesture with his left hand. In response to detecting the gesture performed with Isaac's left hand, computer system 600a displays graphical effect 618a in an orientation consistent with the orientation of Isaac's hand. For example, the palm and fingers are no longer included in graphical effect 618a; instead, the back of the hand is represented. In some embodiments, graphical effect 618a includes the fingers and / or the palm or back of the hand. Which part of the hand is represented changes based on which hand performs the gesture and the orientation of the gesture. For example, in FIG. 6I , the gesture is performed with Isaac's right hand, which is placed on the right side of his body, and graphical effect 618a includes the fingers and palm. Alternatively, if Isaac were to perform the same gesture with his right hand on the left side of his body, the back of his hand would be visible in representation 606a, and graphical effect 618a would include a representation of the back of the hand instead of the fingers. In some embodiments, graphical effect 618a includes the wrist in the same orientation as the participant's hand. In some embodiments, the wrist and thumb are depicted in graphical effect 618a in the same orientation as the participant's hand. In some embodiments, the orientation of graphical effect 618a matches the rotation angle of the participant's hand (e.g., if Isaac's hand is at an angle, graphical effect 618a is rotated to match the angle of Isaac's hand). In some embodiments, the angle of the gesture is rotated to result in a thumbs-down gesture. In response to detecting that the participant associated with computer 600a is performing a thumbs-up gesture with their left hand, computer system 600b displays graphical effect 618b to match the orientation of the participant's hand. In some embodiments, graphical effect 618b displayed on computer system 600b can include any or all of the features of graphical effect 618a as described with respect to FIG. 6J .
[0207] In FIG. 6K, a participant (e.g., Isaac) associated with computer system 600a performs a thumbs-up gesture, and in response to detecting the thumbs-up gesture, computer system 600a displays prompt 620a within user interface 602a. Prompt 620a prompts the user to cancel the gesture-based response. In some embodiments, the prompt includes a “yes” option 620a2 corresponding to a selection to cancel displaying the graphical effect in response to detecting the gesture and a “no” option 620a3 corresponding to a selection to continue displaying the graphical effect in response to detecting the gesture. In some embodiments, prompt 620a is displayed a predetermined number of times after the graphical effect is displayed in response to detecting the gesture, and prompt 620a is not displayed after the graphical effect is displayed in response to more than a predetermined number of gestures. In FIG. 6K, user input 620a1 corresponding to prompt 620a and a selection to cease displaying the graphical effect in response to the gesture are detected. In response to detecting at computer system 600b that Isaac is performing a thumbs-up gesture, computer system 600b displays graphical effect 618b without displaying prompt 620a.
[0208] 6L, after user input 620a1 (selecting prompt 620a to cease displaying graphical effects in response to detecting a gesture), computer system 600a does not display graphical effect 618a in response to Isaac's thumbs-up gesture. Similarly, computer system 600b does not display graphical effect 618b in representation 604b when Isaac performs a thumbs-up gesture.
[0209] In Figure 6M, a feature for displaying a graphical effect in response to detecting a gesture has been reactivated on computer system 600a, and a double thumbs-up gesture is performed by a participant (e.g., Isaac) associated with computer system 600a. In response to detecting the double thumbs-up gesture, computer system 600a displays graphical effect 622a in representation 606a. Graphical effect 622a includes a representation of both hands performing the double thumbs-up gesture (e.g., a left hand emoji and a right hand emoji). Similarly, in response to detecting the double thumbs-up gesture, computer system 600b displays graphical effect 622b in representation 604b of Isaac. Graphical effect 622a and / or graphical effect 622b may include any or all of the features of graphical effect 618a and / or graphical effect 618b described with reference to Figures 6G, 6H, 6I, and 6J.
[0210] 6N , a double thumbs-up gesture is performed by a participant (e.g., Isaac) associated with computer system 600a, and in response to detecting the double thumbs-up gesture, computer system 600a displays graphical effect 624a in representation 606a. Graphical effect 624a includes simulated fireworks displayed behind the participant performing the gesture (e.g., Isaac) in representation 606a. In some embodiments, graphical effect 624a illuminates a portion of the participant performing the gesture (e.g., Isaac's body) with a simulated light. In some embodiments, graphical effect 624a includes displaying a portion of the participant performing the gesture (e.g., Isaac's body) covered by a simulated shadow. In some embodiments, graphical effect 624a is shown for a predetermined duration. In some embodiments, graphical effect 624a is displayed as long as the double thumbs-up gesture is detected. In some embodiments, graphical effect 624a disappears, and computer system 600a ceases displaying graphical effect 624a after a predetermined time has elapsed since detecting the gesture (e.g., after the gesture is initially detected or after detecting the end of the gesture). In some embodiments, graphical effect 622a is replaced with graphical effect 624a if a double thumbs-up gesture is detected for longer than a predetermined period of time. In some embodiments, graphical effect 624a (e.g., a special effect such as fireworks) is displayed instead of graphical effect 622a (e.g., a double thumbs-up emoji) in response to a double thumbs-up gesture. In some embodiments, computer system 600a displays graphical effect 624a in response to a different gesture type. In computer system 600b, in response to detecting a double thumbs-up gesture, computer system 600b displays graphical effect 624b in representation 604b. In some embodiments, graphical effect 624b may include any and / or all of the features of graphical effect 624a as described with respect to FIG. 6N.
[0211] In FIG. 6O , in response to detecting the double thumbs down gesture, computer system 600a displays graphical effect 626a within representation 606a. In some embodiments, graphical effect 626a includes displaying a simulated rain effect behind the participant performing the gesture (e.g., Isaac). In some embodiments, the simulated rain effect appears in front of the representation of the participant performing the gesture (e.g., Isaac). In some embodiments, graphical effect 626a (e.g., the simulated rain effect) interacts with the representation of the participant performing the gesture. In some embodiments, the simulated rain effect includes raindrops contacting (e.g., falling) the participant performing the gesture. In some embodiments, the simulated lighting effect includes a simulated lighting effect showing the participant performing the gesture in a reduced-light environment (e.g., as if in a rainstorm). In some embodiments, graphical effect 626a is shown for a predetermined duration. In some embodiments, graphical effect 626a is displayed as long as the double thumbs down gesture is detected. In some embodiments, graphical effect 626a disappears, and computer system 600a ceases displaying graphical effect 626a after a predetermined time has elapsed after detecting the gesture (e.g., after the gesture is initially detected or after the end of the gesture is detected). In some embodiments, computer system 600a displays graphical effect 626a in response to different gesture types. In computer system 600b, in response to detecting a double thumbs down gesture, the computer system displays graphical effect 626b in representation 604b. In some embodiments, graphical effect 626 may include any or all of the features of graphical effect 626a.
[0212] 6P, in response to detecting that a participant associated with computer system 600a (e.g., Isaac) is performing a peace sign (or victory sign) gesture, computer system 600a displays graphical effect 628a in representation 606a. Graphical effect 628a includes simulated confetti. In some embodiments, the peace sign gesture is performed with both hands. In some embodiments, the peace sign is performed with one hand. In some embodiments, some of the simulated confetti is displayed as if pieces of confetti were falling in front of the participant performing the peace sign gesture (e.g., some pieces of confetti block parts of Isaac's body and / or facial expression), and a second piece of confetti is displayed behind the participant performing the peace sign gesture in representation 606a (e.g., some pieces of confetti are blocked by Isaac and / or his surroundings). In some embodiments, graphical effect 628a is displayed for a predetermined duration. In some embodiments, graphical effect 628a is displayed as long as a peace sign (or victory sign) gesture is detected. In some embodiments, graphical effect 628a disappears, and computer system 600a ceases displaying graphical effect 628a a predetermined time after detecting the peace sign gesture. In some embodiments, computer system 600a displays graphical effect 628a in response to different gesture types. In computer system 600b, in response to detecting a peace sign gesture, computer system 600b displays graphical effect 628b in representation 604b. In some embodiments, graphical effect 628b may include any or all of the features of graphical effect 628a as described with respect to FIG. 6P.
[0213] In FIG. 6Q, after detecting that a participant associated with computer system 600a (e.g., Isaac) is performing a peace sign gesture, computer system 600a detects that Isaac is performing a wave gesture. In response to detecting the wave gesture, computer system 600a ceases displaying graphical effect 628a at a location in representation 606a corresponding to the location of the wave gesture. In some embodiments, graphical effect 628a fades out at the location corresponding to the wave gesture. In some embodiments, a portion of graphical effect 628a moves “off-screen” within representation 606a, as if blown out of view by the wave gesture. In computer system 600b, in response to detecting the wave gesture, computer system 600b ceases displaying graphical effect 628b at a location corresponding to the wave gesture in representation 604b. In some embodiments, graphical effect 628b may include any or all of the features of graphical effect 628a as described with respect to FIG. 6Q.
[0214] In some embodiments, computer system 600a displays graphical effects (e.g., graphical effect 616a, graphical effect 618a, graphical effect 622a, graphical effect 624a, graphical effect 626a, and / or graphical effect 628a) at locations in representation 606a that correspond to the location of the gesture within the field of view of one or more camera sensors (e.g., the graphical effects are displayed on the representation of the participant performing the gesture at the same location as the physical location of the gesture relative to the participant). For example, in response to computer system 600a detecting that Isaac is performing a wave gesture near Isaac's head, computer system 600a ceases displaying graphical effect 628a near Isaac's head in representation 606a. As another example, in response to computer system 600a detecting that Isaac is performing a wave gesture in front of Isaac's left shoulder, computer system 600a ceases displaying graphical effect 628a in front of Isaac's left shoulder in representation 606a.
[0215] In some embodiments, computer system 600b displays the graphical effect (e.g., graphical effect 616b, graphical effect 618b, graphical effect 622b, graphical effect 624b, graphical effect 626b, and / or graphical effect 628b) at a location in representation 604b that corresponds to the location of the gesture within the field of view of one or more camera sensors (e.g., the graphical effect is displayed at a location relative to the representation of the participant performing the gesture that is the same as the physical location of the gesture relative to the participant within the field of view of one or more camera sensors).
[0216] In FIG. 6R, a participant (e.g., Isaac) associated with computer system 600a performs a gesture (e.g., a two-handed gesture forming a rectangle with the index fingers and thumbs of both hands) corresponding to a request to capture a screenshot and / or screen recording. In response to detecting the gesture corresponding to the request to capture a screenshot and / or screen recording, computer system 600a displays user interface element 630a within user interface 602a and captures the screenshot and / or screen recording. In some embodiments, the screenshot and / or screen recording is captured after a delay (e.g., a countdown). User interface element 630a includes a countdown timer 630a1 that indicates the amount of time before the screenshot and / or screen recording is captured. In some embodiments, user interface element 630a includes a preview of the content to be captured before the screenshot and / or screen recording is taken. In some embodiments, user interface element 630a includes a representation of the captured content (e.g., a thumbnail of the screenshot and / or screen recording) after the screenshot and / or screen recording is captured. In some embodiments, the clean recording is recorded for a predetermined duration. In some embodiments, the screenshot and / or screen recording includes a representation of the content shared in the communication session (e.g., the shared screen, the presentation, and / or the shared media). In some embodiments, the screenshot and / or screen recording includes representation 604a and / or representation 604b (e.g., a representation of Isaac and / or Sam).
[0217] In response to detecting a gesture at computer system 600b corresponding to a request to capture a screenshot and / or screen recording, computer system 600b displays user interface element 630b (e.g., a representation of the screenshot and / or screen recording captured by computer system 600a) in user interface 602b. In some embodiments, the representation of the screenshot and / or screen recording displayed by computer system 600b may include any or all of the features of the screenshot and / or screen recording captured by computer system 600a. In some embodiments, user interface element 630b may include any or all of the features of user interface element 630a described with respect to FIG. 6R.
[0218] In some embodiments, if the gesture is within a predetermined distance of the participant's head (e.g., if the gesture obscures a portion of the participant's head and / or face), the graphical effect is not displayed. For example, in FIG. 6S, a participant (e.g., Isaac) associated with computer system 600a performs a thumbs-up gesture within a predetermined distance of the participant's head (e.g., the same gesture as in FIG. 6G, but closer to the participant's face), and in response to detecting the thumbs-up gesture, computer system 600a ceases displaying the graphical effect (e.g., computer system 600a does not display graphical effect 618a). In computer system 600b, in response to detecting the gesture within a predetermined distance of the participant's own head, computer system 600b ceases displaying the graphical effect (e.g., computer system 600b does not display graphical effect 618b).
[0219] In some embodiments, if the gesture is performed while the participant performing the gesture is not looking at the camera sensor and / or the display generating components of the computer system, the graphical effect is not displayed. For example, in Figures 6T1 and 6T2, a participant (e.g., Isaac) associated with computer system 600a performs a thumbs-up gesture (e.g., the same gesture as Figure 6G) while not looking at computer system 600a (e.g., computer system 600a does not detect Isaac's gaze 632a, or computer system 600a detects that gaze 632a is not directed toward computer system 600a and / or user interface 602a). In response to detecting the thumbs-up gesture while the gaze 632a of the participant performing the gesture is not detected, computer system 600a ceases displaying the graphical effect (e.g., computer system 600a does not display graphical effect 618a). In response to computer system 600b not detecting gaze 632a while Isaac is performing a thumbs-up gesture, computer system 600b ceases displaying the graphical effect (e.g., computer system 600b does not display graphical effect 618b).
[0220] In some embodiments, if the gesture is performed while the user interface of the real-time communication session is not displayed on a display component of the computer system, the graphical effects are not displayed. For example, in FIG. 6U, a participant (e.g., Isaac) associated with computer system 600a performs a thumbs-up gesture while user interface 602a is not displayed on computer system 600a. For example, Isaac has minimized the user interface of the real-time communication session, Isaac is looking at another program, another window is overlaying the real-time communication session interface, and / or Isaac is looking at an operating system window. In response to detecting a thumbs-up gesture performed by the participant associated with computer system 600a while computer system 600a is not displaying user interface 602a, computer system 600a and computer system 600b cease displaying the graphical effects.
[0221] In some embodiments, if the computer system associated with the participant performing the gesture mutes audio input, the graphical effects are not displayed. For example, in Figure 6V, a participant (e.g., Isaac) associated with computer system 600a performs a thumbs-up gesture while the microphone communicating with computer system 600a (and used in the real-time communication session) is muted (e.g., not transmitting audio to computer system 600b). In response to detecting the thumbs-up gesture while audio associated with computer system 600a is not being transmitted, computer system 600a and computer system 600b cease displaying the graphical effects.
[0222] 6X, in response to detecting that a participant associated with computer system 600a (e.g., Isaac) is performing a peace sign gesture (e.g., with only one hand), computer system 600a displays graphical effect 636a within representation 606a. Graphical effect 636a includes a simulated speech bubble. In some embodiments, graphical effect 636a includes a three-dimensional and / or depth effect in which different portions of graphical effect 634a appear to be at different depths. For example, in representation 606a, a portion of the simulated speech bubble (e.g., 636a3) is displayed in front of the participant performing the peace sign gesture (e.g., a portion of the simulated speech bubble blocks a portion of Isaac's body and / or facial expression), and a second portion of the simulated speech bubble (e.g., 636a1) is displayed behind the participant performing the peace sign gesture (e.g., a portion of the simulated speech bubble is blocked by Isaac and / or his surroundings). In some embodiments, one or more individual elements (e.g., the speech bubble) of the simulated speech bubble include a depth effect (e.g., the center of the speech bubble appears rounded so that it protrudes from the edge of the speech bubble). In some embodiments, representation 606a includes a background effect (e.g., a blurred background). In some embodiments, the background effect is applied to the portion of graphical effect 636a that is in the background (e.g., behind the participant performing the peace sign gesture). For example, in FIG. 6X, the background effect is applied to simulated speech bubble 636a1 because the simulated speech bubble 636a1 is behind the participant performing the peace sign gesture (e.g., the simulated speech bubble 636a1 is blurred relative to the rest of the graphical effect 636a). In some embodiments, the graphical effect 636a is displayed in a color based on the color temperature of the representation 606a of the field of view of the one or more camera sensors (e.g., the color temperature of the scene in the field of view of the one or more camera sensors is applied to the graphical effect 636a and / or the color of the graphical effect 636a matches the color temperature of the representation 606a of the field of view of the one or more camera sensors).In some embodiments, graphical effect 636a is displayed for a predetermined duration. In some embodiments, graphical effect 636a is displayed as long as a peace sign gesture is detected. In some embodiments, graphical effect 636a disappears, and computer system 600a ceases displaying graphical effect 636a a predetermined time after detecting a peace sign gesture. In some embodiments, computer system 600a displays graphical effect 636a in response to different gesture types. In computer system 600b, in response to detecting a peace sign gesture, computer system 600b displays graphical effect 636b within representation 604b. In some embodiments, graphical effect 636b may include any or all of the features of graphical effect 636a as described with respect to FIG. 6Y (e.g., simulated speech bubble 636b3 is in front of representation 604b, while simulated speech bubble 636b1 is blurred and behind representation 604b).
[0223] In FIG. 6Y , a double horns up gesture (e.g., extending the index and pinky fingers and folding the middle and ring fingers) is performed by a participant (e.g., Isaac) associated with computer system 600a, and in response to detecting the double horns up gesture, computer system 600a displays graphical effect 640a within representation 606a. Graphical effect 640a includes a simulated laser beam emanating from behind the participant (e.g., Isaac) performing the gesture in representation 606a and directed in front and to the sides of the participant. In some embodiments, graphical effect 640a interacts with a portion of the participant performing the gesture (e.g., Isaac's body). For example, in FIG. 6Y , simulated light from graphical effect 640a illuminates the edges of the participant performing the gesture and / or creates a simulated shadow on the portion of the participant performing the gesture (e.g., Isaac's body). In some embodiments, graphical effect 640a is shown for a predetermined duration. In some embodiments, graphical effect 640a is displayed as long as the double horn up gesture is detected. In some embodiments, graphical effect 640a disappears, and computer system 600a ceases displaying graphical effect 640a after a predetermined time has elapsed since detection of the gesture (e.g., after the gesture is initially detected or after detection of the end of the gesture). In some embodiments, computer system 600a displays graphical effect 640a in response to different gesture types. In computer system 600b, in response to detecting a double horn up gesture, computer system 600b displays graphical effect 640b within representation 604b. In some embodiments, graphical effect 640b may include any and / or all of the features of graphical effect 640a as described with respect to FIG. 6Y (e.g., simulated light from graphical effect 640b illuminates the edges of representation 604b and / or creates a simulated shadow on a portion of representation 604b).
[0224] 7A is a flow diagram illustrating a method for displaying graphical effects during a real-time communication session using a computer system (e.g., a smartphone, desktop computer, laptop, tablet, head-mounted device, wearable device, and / or smartwatch) in communication with a display generation component (e.g., a display controller, a touch-sensitive display system, a projector, a head-mounted display, and / or a holographic display), according to some embodiments. Method 700 is performed on a computer system (e.g., 100, 300, 500, 600a, 600b, 800a, 800b, 800c, 1000a, 1000b, and / or 1200a) in communication with the display generation component (e.g., 601a and / or 601b). Some operations in method 700 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0225] As described below, method 700 provides an intuitive way to display graphical effects during a real-time communication session. This method reduces the cognitive burden on a user to display graphical effects during a real-time communication session, thereby creating a more efficient human-machine interface. For battery-operated computing devices, allowing users to display graphical effects faster and more efficiently during a real-time communication session conserves power and increases the time between battery charges.
[0226] In method 700, the computer system, via a display generation component, displays (702) a representation (e.g., 602a, 602b, 606a, and / or 606b) (e.g., an image, a video feed, and / or a live preview) of one or more camera sensors, and a person is visible within the representation of the field of view of the one or more camera sensors. While the representation of the field of view of the one or more camera sensors is displayed, a first gesture (e.g., a body gesture, a hand gesture, an air gesture, a thumbs-up gesture, a thumbs-down gesture, a victory sign gesture, a heart gesture, and / or a clapping gesture) performed by a first part of the person (e.g., a body part of the person, a user's hand, and / or both hands of the user) is detected within the field of view of the one or more camera sensors (704). In response to detecting a first gesture performed by a first portion of the person (and, in some embodiments, in accordance with determining that a set of criteria has been met), the computer system, via a display generation component, displays a first graphical effect (e.g., 616a, 616b, 618a, 618b, 622a, 622b, 624a, 624b, 626a, 626b, 628a, and / or 628b) (e.g., one or more graphical elements, animations, and / or graphical representations of the first gesture, such as an emoji corresponding to the first gesture and / or an animation corresponding to the first gesture) (706). In some embodiments, the computer system displays the graphical effect concurrently with (e.g., within) a representation of the field of view of the one or more camera sensors (e.g., 602a, 602b, 606a, and / or 606b). In some embodiments, displaying the graphical effect includes displaying an animation corresponding to the first gesture (e.g., fireworks animation, confetti animation, falling rain, and / or moving clouds).Pursuant to a determination (e.g., by the computer system and / or by an external computer system, such as a computer system of a remote participant in the video communication session) that a first gesture is detected at a first gesture location (e.g., a thumbs-up gesture in front of the subject “Isaac” in FIG. 6G ) within the field of view of the one or more camera sensors (e.g., a first location relative to the field of view of the one or more camera sensors, a first location relative to a portion of the user, and / or a first location relative to the physical environment or an object within the physical environment), the computer system displays (708) a first graphical effect at a first effect location within the representation of the field of view of the one or more camera sensors (e.g., a first location on a display generating component, a first location within a user interface, a first location within the representation of the field of view of the one or more camera sensors, the first gesture location, and / or a first location relative to the displayed representation of the user). In some embodiments, the first graphical effect (e.g., a graphical effect corresponding to the first gesture) is different from a movement of a first portion of the person corresponding to the first gesture. In accordance with a determination that the first gesture is at a second gesture location within the field of view of one or more camera sensors that is different from the first gesture location (e.g., a second location relative to the field of view of one or more camera sensors, a second location relative to a portion of the user, and / or a second location relative to the physical environment or an object within the physical environment) (e.g., the thumbs-up gesture is next to the subject “Isaac” in FIG. 6I), the computer system displays (710) the first graphical effect at a second effect location within the representation of the field of view of one or more camera sensors that is different from the first effect location (e.g., a second location on a display generating component, a second location within the user interface, a second location within the representation of the field of view of one or more camera sensors, the second gesture location, and / or a second location relative to the displayed representation of the user).Displaying a graphical effect in response to detecting a gesture provides a user with a simple and efficient way of displaying the graphical effect without having to provide input via a touch-sensitive display, mouse, and / or keyboard, which reduces the number of inputs required to perform an action and provides additional control options without cluttering the UI with additional displayed controls. In some embodiments, the graphical effect is displayed by one or more other computer systems that are in a real-time video communication session with the computer system (e.g., along with a representation of the field of view of one or more camera sensors).
[0227] In some embodiments, while a representation of the field of view of the one or more camera sensors (e.g., 604a, 606a, 604b, and / or 606b) is displayed, a second gesture (e.g., a body gesture, a hand gesture, an air gesture, a thumbs up gesture, a thumbs down gesture, a victory sign gesture, a heart gesture, and / or a clapping gesture) is detected by the computer system within the field of view of the one or more camera sensors, and the second gesture is performed by (e.g., includes) a first part of a person (e.g., a first hand of a user) and a second part of the person (e.g., a second hand of a user) (in some embodiments, the first gesture does not include the second part of the person). In response to detecting a second gesture performed by the first portion of the person and the second portion of the person, the computer system, via the display generation component, displays a second graphical effect (e.g., 622a, 622b, 624a, 624b, 626a, 626b, 628a, and / or 628b) different from the first graphical effect (e.g., one or more graphical elements, an animation, and / or one or more graphical representations of the second gesture, such as an emoji corresponding to the second gesture, one or more emoji corresponding to the first portion of the user performing the gesture, one or more emoji corresponding to the second portion of the user performing the gesture, and / or an animation corresponding to the second gesture). Displaying the second graphical effect in response to detecting the second gesture provides a user with a simple and efficient way of displaying graphical effects without having to provide input via a touch-sensitive display, a mouse, and / or a keyboard, which reduces the number of inputs required to perform actions and provides additional control options without cluttering the UI with additional displayed controls.
[0228] In some embodiments, in response to a determination that the second gesture includes a first portion of the person and a second portion of the person, the computer system displays, via the display generation component, a second graphical effect in a first visual appearance; and in response to a determination that the second gesture includes the first portion of the person but not the second portion of the person, the computer system displays, via the display generation component, the second graphical effect in a second visual appearance (e.g., the second graphical effect is different from the effect displayed when the gesture is performed by a single portion). In some embodiments, the second graphical effect includes a graphical effect displayed when the gesture is performed by a single portion of the person (e.g., the first portion of the person). In some embodiments, the computer system displays the second graphical effect concurrently with (e.g., within) a representation of a field of view of one or more camera sensors. In some embodiments, displaying the second graphical effect includes displaying an animation corresponding to the second gesture (e.g., fireworks animation, confetti animation, falling rain, and / or moving clouds).
[0229] In some embodiments, the first gesture includes a thumbs-up gesture performed by a first part of the person (e.g., as shown by the thumbs-up gesture performed by one hand in FIG. 6G ), and the second gesture includes a thumbs-up gesture performed by a first part of the person (e.g., the user's first hand) and a thumbs-up gesture performed by a second part of the person (e.g., the user's second hand) (e.g., as shown by the thumbs-up gesture performed by both hands in FIG. 6M ). Displaying the first graphical effect in response to detecting a thumbs-up gesture performed by the first part and displaying the second graphical effect in response to detecting thumbs-up gestures performed by the first part and the second part provides a user with a simple and efficient way of displaying graphical effects without having to provide input via a touch-sensitive display, a mouse, and / or a keyboard, which reduces the number of inputs required to perform an action and provides additional control options without cluttering the UI with additional displayed controls.
[0230] In some embodiments, displaying the first graphical effect (e.g., 618a, 618b, 622a, 622b, 624a, 624b, 626a, 626b, 628a, and / or 628b) includes, in accordance with a determination that the first gesture was performed by a first type of body part (e.g., a first hand of the person, a first arm of the person, and / or a first side of the person), displaying, via the display generation component, a first graphical effect having first characteristics (e.g., a first orientation, a first graphical object, a first animation, and / or an effect oriented to match a first part type of the person performing the gesture) (e.g., as illustrated by the right hand emoji and right hand thumbs-up gesture in FIG. 6G ). In response to determining that the first gesture was performed by a second type of body part (e.g., a second hand of the person, a second arm of the person, and / or a second side of the person), the computer system, via the display generation component, displays a first graphical effect having second characteristics (e.g., a second orientation, a second graphical object, a second animation, and / or an effect oriented to match a second part type of the person performing the gesture) (e.g., as shown by the left hand emoji and left hand thumbs-up gesture in FIG. 6J ) that differ from the first characteristics (e.g., an effect oriented to match the body part performing the gesture). Displaying a graphical effect having the first characteristics or the second characteristics in response to detecting a gesture performed by the first part type or the second part type provides a user with a simple and efficient way of displaying different graphical effects and variations of the graphical effect without having to provide input via a touch-sensitive display, a mouse, and / or a keyboard, which reduces the number of inputs that need to be performed to perform an action and provides additional control options without cluttering the UI with additional displayed controls.
[0231] In some embodiments, the first type of body part is a right hand and the first characteristic is a right hand emoji (e.g., a graphical representation of a right hand) (e.g., as shown in FIG. 6G), and the second type of body part is a left hand and the second characteristic is a left hand emoji (e.g., a graphical representation of a left hand) (e.g., as shown in FIG. 6J).
[0232] In some embodiments, a second gesture (e.g., a body gesture, a hand gesture, an air gesture, a thumbs up gesture, a thumbs down gesture, a victory sign gesture, a heart gesture, and / or a clapping gesture) performed by a second part of the person (e.g., different from the first part of the person) is detected within the field of view of the one or more camera sensors (e.g., a body part of the person, the user's hand, and / or both of the user's hands) while a representation of the field of view of the one or more camera sensors (e.g., 604a, 606a, 604b, and / or 606b) is displayed (e.g., while the first graphical effect is displayed and / or while the first gesture is detected). In response to detecting a second gesture performed by a second part of the person, the computer system, via the display generation component, displays (e.g., simultaneously with) a second graphical effect (e.g., one or more graphical elements, animations, and / or graphical representations of the first gesture, such as an emoji corresponding to the first gesture and / or an animation corresponding to the first gesture) that is different from the first graphical effect (e.g., 622a and / or 622b). Displaying the graphical effect in response to detecting the second gesture provides a user with a simple and efficient way to display different graphical effects and variations of the graphical effect without having to provide input via a touch-sensitive display, mouse, and / or keyboard, which reduces the number of inputs required to perform actions and provides additional control options without cluttering the UI with additional displayed controls.
[0233] In some embodiments, the computer system displays a second graphical effect simultaneously with (e.g., within) a representation of the field of view of the one or more camera sensors. In some embodiments, displaying the second graphical effect includes displaying an animation corresponding to the second gesture (e.g., fireworks animation, confetti animation, falling rain, and / or moving clouds). In some embodiments, the second gesture is detected while the first gesture is detected. In some embodiments, the second graphical effect is displayed simultaneously with the first graphical effect (e.g., while both gestures are detected).
[0234] In some embodiments, displaying the first graphical effect and displaying the second graphical effect includes starting the display of the first graphical effect (e.g., substantially simultaneously) within a predetermined time interval of starting the display of the second graphical effect (e.g., displaying graphical effects 618a and / or 618b shown in FIG. 6G and graphical effects 618a and / or 618b shown in FIG. 6J within a predetermined time interval). Starting the display of the first graphical effect and starting the display of the second graphical effect within a predetermined time interval provides feedback to the user that both gestures have been detected, even if both gestures are close in time, thereby providing improved visual feedback to the user. In some embodiments, the first gesture and the second gesture end at the same time. In some embodiments, the first graphical effect and the second graphical effect end at the same time. In some embodiments, the first gesture and the second gesture do not end at the same time. In some embodiments, the first graphical effect and the second graphical effect do not end at the same time.
[0235] In some embodiments, displaying the second graphical effect includes initiating the display of the first graphical effect (e.g., if the second gesture is detected after the first gesture is detected) and then initiating the display of the second graphical effect (e.g., initiating the display of graphical effects 618a and / or 618b as shown in FIG. 6J and then initiating the display of graphical effects 618a and / or 618b as shown in FIG. 6G). Initiating the display of the second graphical effect after initiating the display of the first graphical effect provides feedback to the user that gestures were detected consecutively (one after the other), thereby providing improved visual feedback to the user.
[0236] In some embodiments, displaying the first graphical effect includes, in accordance with a determination that the first gesture is a first gesture type (e.g., a first gesture, a thumbs-up gesture, a thumbs-down gesture, a gesture performed with the left hand, a gesture performed with the right hand, a gesture performed with one hand, and / or a gesture performed with both hands), displaying, via the display generation component, a first graphical effect having a first visual appearance (e.g., 618a and / or 618b) (e.g., one or more graphical elements, animations, and / or graphical representations of the first gesture, such as an emoji corresponding to the first gesture and / or an animation corresponding to the first gesture). In accordance with determining that the first gesture is a second gesture type (e.g., a second gesture, a thumbs-up gesture, a thumbs-down gesture, a gesture performed with one hand, and / or a gesture performed with both hands), the computer system, via the display generation component, displays the first graphical effect with a second visual appearance different from the first graphical appearance (e.g., 622a, 622b, 624a, 624b, 626a, 626b, 628a, and / or 628b). Displaying a first graphical effect with a first visual appearance in response to detecting that the first gesture is of a first gesture type, and displaying the first graphical effect with a second visual effect in response to detecting that the first gesture is of a second gesture type, provides a user with a simple and efficient way to display different graphical effects and variations of the graphical effect without having to provide input via a touch-sensitive display, a mouse, and / or a keyboard, which reduces the number of inputs that must be performed to perform an action and provides additional control options without cluttering the UI with additional displayed controls. In some embodiments, displaying the second graphical effect includes displaying an animation corresponding to the first gesture (e.g., fireworks animation, confetti animation, falling rain, and / or moving clouds).
[0237] In some embodiments, the computer system, via the display generation component, displays the first graphical effect (e.g., 618a, 618b, 622a, and / or 622b), including displaying a sequence of effects including a first sequence effect and a second sequence effect (e.g., two or more emojis, one or more first effects followed by one or more second effects, and / or an effect appears continuously). In some embodiments, the effect appears continuously at a location on the display corresponding to the location of the gesture and moves to the second location. In some embodiments, the effect moves to an edge of the display and disappears upon reaching the edge of the display. In some embodiments, the sequence of effects includes a sequence of graphical elements, a sequence of animations, and / or a sequence of graphical representations of the first gesture.
[0238] In some embodiments, while a first gesture performed by a first part of the person is detected within the field of view of the one or more camera sensors, the computer system detects movement by the first part of the person from a first location to a second location (e.g., as shown in Figures 6G-6I, subject Isaac moves his hand from the front of his body to the right of his body while performing a thumbs-up gesture) within the field of view of the one or more camera sensors (e.g., a part of the person's body, a user's hand, and / or both hands of the user) (e.g., movement from the first gesture location to the second gesture location and / or back and forth movement). In response to detecting a movement by the first part of the person, the computer system, via the display generation component, displays a first sequence effect (e.g., graphical effects 618b and / or 618a are displayed at the first location, as shown in FIG. 6G ) at a first display location within the representation of the field of view of the one or more camera sensors corresponding to the first location, and a second sequence effect (e.g., graphical effects 618b and / or 618a are displayed at the first location, as shown in FIG. 6H ) at a second display location within the representation of the field of view of the one or more camera sensors corresponding to the second location (e.g., as the person's hands move, the locations of the graphical effects on the display generation component also move to match the movement and location of the person's hands). In response to detecting a movement by the first part, displaying the first sequence effect at the first display location and the second sequence effect at the second display location provides feedback to the user that the gesture is still being detected while it is moving, thereby providing improved visual feedback to the user.
[0239] In some embodiments, displaying the first graphical effect (e.g., 624a, 624b, 626a, 626b, 628a, and / or 628b) includes displaying the first graphical effect such that a portion of the first graphical effect is obscured by at least a portion of a representation of a person (e.g., 604a, 604b, 606a, and / or 616b) in the representation of the field of view of the one or more camera sensors (e.g., the effect is displayed as if behind at least a portion of the person performing the gesture, and / or the graphical effect does not obscure any portion of the person performing the gesture). Displaying the first graphical effect such that a portion of the first graphical effect is obscured by at least a portion of the representation of the person enables the computer system to distinguish for the user the representation of the person in the representation of the field of view of the one or more camera sensors from the first graphical effect, thereby providing improved visual feedback to the user.
[0240] In some embodiments, displaying the first graphical effect (e.g., 618a and / or 618b) includes, in accordance with a determination that the first gesture is detected in a first orientation (e.g., with the hand performing the gesture fully upright and the back of the hand facing the one or more camera sensors, as shown in FIG. 6I) (e.g., with the angle and / or side of the hand performing the gesture) within the field of view of the one or more camera sensors, the computer system, via the display generation components, displays the first graphical effect in a first effect orientation corresponding to the first orientation. In accordance with a determination that the first gesture is detected in a second orientation (e.g., with the hand performing the gesture angled to one side, as shown in FIG. 6J, and / or with the hand performing the gesture with the palm facing the one or more camera sensors, as shown in FIG. 6H) (e.g., with the angle and / or side of the hand performing the gesture) within the field of view of the one or more camera sensors that is different from the first orientation, the computer system, via the display generation components, displays the first graphical effect in a second effect orientation corresponding to the second orientation that is different from the first effect orientation. Displaying a first graphical effect having a first effect orientation in response to detecting that a first gesture has a first orientation, and displaying a first graphical effect having a second effect orientation in response to detecting that a first gesture has a second orientation, provides a user with a simple and efficient way to display different graphical effects and variants of the graphical effect without requiring the user to provide input via a touch-sensitive display, mouse, and / or keyboard, and provides feedback to the user that the gesture is in a particular orientation, which reduces the number of inputs that need to be performed to perform an action, provides additional control options without cluttering the UI with additional displayed controls, and provides improved visual feedback.
[0241] In some embodiments, the orientation of the first gesture is based on the position of the fingers and / or palm in space relative to the field of view of one or more camera sensors, e.g., whether the thumb is pointing straight up, slightly to the side, forward, and / or backward while performing a thumbs-up gesture. In some embodiments, the orientation of the first gesture is based on which side of the person's body is detected within the field of view of the one or more camera sensors (e.g., the palm or back of the hand facing the camera while performing the first gesture).
[0242] In some embodiments, displaying the first graphical effect includes displaying an animation based on movement of a first portion of the person (e.g., as shown in FIGS. 6G-6I, subject Isaac moves his hand from in front of him to the right of his body while performing a thumbs-up gesture). Displaying the animation based on movement of the first portion of the person provides feedback to the user that the gesture is still being detected while the gesture is moving, thereby providing the user with improved visual feedback. In some embodiments, movement of the first portion of the person is detected. In some embodiments, displaying the first graphical effect includes displaying a first animation in accordance with a determination that the movement has a first characteristic (e.g., speed, direction, and / or pattern), and displaying a second animation different from the first animation in accordance with a determination that the movement has a second characteristic different from the first characteristic. In some embodiments, the speed, direction, magnitude, and / or amount of the animation (e.g., the number of graphical objects included in the animation and / or the speed of one or more graphical objects included in the animation) is based on one or more characteristics of the movement of the person.
[0243] In some embodiments, displaying the animation includes displaying the animation based on a speed of movement of a first portion of the person (e.g., subject Isaac moves his hand from in front of him to the right of his body while performing a thumbs-up gesture, as shown in FIGS. 6G-6I) (e.g., the first graphical effect includes a movement based on the speed of movement of the first portion of the person). Displaying the animation based on the speed of movement of the first portion of the person provides feedback to the user that the gesture is still being detected while the gesture is moving, thereby providing improved feedback to the user. In some embodiments, in accordance with a determination that the movement of the first portion of the user has a first speed, the first graphical effect has a first movement, and in accordance with a determination that the movement of the first portion of the user has a second speed that is different from the first speed, the first graphical effect has a second movement that is different from the first movement.
[0244] In some embodiments, while displaying the first graphical effect, a second gesture (e.g., a waving gesture as shown in FIG. 6Q) (e.g., a movement, a waving gesture, a chat gesture, an air gesture, a thumbs-up gesture, a thumbs-down gesture, a victory sign gesture, a heart gesture, and / or a clapping gesture) performed by a third portion of the person (e.g., a portion different from the first portion, the second portion, or the first portion and the second portion) is detected by the computer system within the field of view of the one or more camera sensors. In response to detecting the second gesture, the computer system changes the state of the first graphical effect (e.g., the confetti pieces are no longer displayed in the vicinity of the waving gesture as shown in FIG. 6Q) (e.g., change the location of at least a portion of the first graphical effect and / or cease displaying at least a portion of the first graphical effect). Changing the state of the first graphical effect in response to detecting the second gesture provides feedback to the user that the second gesture was detected and provides an efficient method for changing the graphical effect after it is displayed, thereby providing improved feedback to the user and providing additional control options without cluttering the UI with additional displayed controls.
[0245] In some embodiments, changing the state of the first graphical effect includes moving at least a portion of the first graphical effect to a different location within a representation of the field of view of the one or more camera sensors (e.g., without moving and / or changing the orientation of at least a portion of the first graphical effect). In some embodiments, changing the state of the first graphical effect includes moving the first graphical effect to an edge of the display and then moving at least a portion of the first graphical effect off the display. In some embodiments, changing the state of the first graphical effect includes moving at least a portion of the first graphical effect that is within (e.g., at a location of) a threshold distance of the second gesture.
[0246] In some embodiments, representations of the fields of view of one or more camera sensors (e.g., 604a, 604b, 606a, and / or 606b) are included (e.g., transmitted and / or shared) in a real-time (e.g., real-time video and / or audio) communication session (e.g., in a real-time communication session application). Displaying graphical effects in response to detecting a gesture provides a user with a simple and efficient way to display graphical effects during a real-time communication session without having to provide input via a touch-sensitive display, mouse, and / or keyboard, or interact with a menu interface that may obscure participants in the communication session, which reduces the number of inputs required to perform an action and provides additional control options without cluttering the UI with additional displayed controls.
[0247] In some embodiments, the representation of the field of view of the one or more camera sensors includes a representation (e.g., a badge) of a first participant in the real-time communication session (e.g., 604a, 604b, 606a, and / or 606b) (e.g., within a view of a participant in the real-time communication session associated with the computer system and / or within a view of a participant in the real-time communication session associated with a remote computer system). Displaying the representation of the first participant in the real-time communication session provides feedback to the user that they are in the real-time communication session and provides feedback that a graphical effect has been displayed, thereby providing enhanced feedback to the user.
[0248] In some embodiments, while the representation of the field of view of the one or more camera sensors is displayed, pursuant to a determination that a first portion of a person is being tracked (e.g., the location, position, and / or current shape of the portion is being detected and / or monitored by the computer system), the computer system, via the display generation component, displays a hint user interface element (e.g., 608a and / or 608b) indicating that a graphical effect can be displayed in response to a gesture performed by the first portion of the person. Pursuant to a determination that the first portion of the person is not being tracked (e.g., the location, position, and / or current shape of the portion is not being detected and / or monitored by the computer system), the computer system ceases displaying the hint user interface element indicating that a graphical effect can be displayed in response to a gesture performed by the first portion of the person. Displaying a hint user interface element in response to a gesture performed by the first portion of the person in accordance with a determination that the first portion of the person is being tracked, and ceasing to display the hint user interface element in accordance with a determination that the first portion of the person is not being tracked, provides feedback to the user that a particular body part is being tracked and can be used to display a graphical effect without having to interact with a menu interface, thereby providing improved feedback and performing an action when a set of conditions is met without requiring further user input. In some embodiments, the hint user interface element includes highlighting a portion of the person that can be used to trigger a graphical effect. In some embodiments, the hint user interface element includes text indicating that a graphical effect can be displayed in response to a gesture performed by the first portion of the person.
[0249] In some embodiments, displaying the hint user interface element (e.g., 608a and / or 608b) includes displaying the hint user interface element at a first hint location (e.g., within the user interface and / or within a representation of the field of view of one or more camera sensors) (e.g., as shown in FIG. 6B ). In some embodiments, movement of a first portion of a person is detected by a computer system. In response to detecting the movement of the first portion of the person, the computer system, via a display generation component, displays the hint user interface element at a second position different from the first position (e.g., as shown in FIG. 6C ) (e.g., based on the movement and / or change in position of the first portion of the person). In response to detecting the movement of the first portion, displaying the hint user interface element at the first hint location and the second hint location provides feedback to the user that a particular body part is being tracked and can be used to display graphical effects, thereby providing improved feedback. In some embodiments, the hint user interface element moves with the first portion of the user.
[0250] In some embodiments, while displaying the representation of the field of view of the one or more camera sensors, the hint user interface element (e.g., 608b) is not displayed in the representation of the person (e.g., the representation of the field of view of the one or more camera sensors or other representation of the person within the real-time communication session interface and / or application) displayed on the remote computer system (e.g., 600b) (e.g., the hint user interface element is displayed by the computer system of the person detected as performing the first gesture and is not displayed by the computer systems of the other participants in the real-time communication session). Withdrawing the display of the hint user interface element in the representation of the person displayed on the remote computer system because the user associated with the remote computer system has not initiated the display of the hint user interface element provides a cluttered user interface for the user associated with the remote computer system, thereby providing the user with additional control options without cluttering the user interface with additional displayed controls. In some embodiments, pursuant to a determination that the first gesture was performed by the first participant of the real-time communication session, the hint user interface element is displayed on a display generation component communicating with the computer system associated with the first participant without the hint user interface element being displayed on computer systems not associated with the first participant.
[0251] In some embodiments, the hint user interface element (e.g., 608a and / or 608b) is displayed on one or more display generating components in communication with one or more computer systems (e.g., 600a and / or 600b) communicating (e.g., with the computer systems) via the real-time communication session (e.g., the hint user interface element is displayed on two or more (e.g., all) of the computer systems participating in the real-time communication session, e.g., the hint is shown to a user who has not been detected performing a first gesture). Displaying the hint user interface element on one or more display generating components in communication with the one or more computer systems provides feedback to the user that a particular body part is being tracked and may be used to display a graphical effect even when a particular user is not performing any action or gesture, thereby performing an action when a set of conditions is met without requiring further user input.
[0252] In some embodiments, in response to detecting a first gesture performed by the first part of the person and in accordance with a determination that the set of criteria is met, the computer system, via the display generation component (and in some embodiments, simultaneously with displaying the first graphical effect), displays a cancel option (e.g., a selectable user interface object, button, icon, affordance) (e.g., 620a) that, when selected, disables displaying the graphical effect in response to the detected gesture (e.g., causes the computer system to not display the first graphical effect in response to detecting the first gesture performed by the first part of the person). Displaying a cancel option that disables displaying the graphical effect in response to detecting the first gesture performed by the first part of the person and in accordance with a determination that the set of criteria is met provides a user with a quick and efficient ability to disable the graphical effect without having to access additional menu items if displaying the graphical effect is not a desired feature, thereby reducing the number of inputs required to perform an action. In some embodiments, the computer system detects selection of the cancel option (e.g., a tap or other selection input directed thereto), and in response to detecting selection of the cancel option, the computer system disables displaying the graphical effect in response to the detected gesture. In some embodiments, the cancel option is displayed to all users. In some embodiments, the cancel option is displayed only to the user who triggered the effect. In some embodiments, selecting the cancel option ceases displaying the effect in response to detecting a gesture for all participants. In some embodiments, selecting the cancel option ceases displaying the effect in response to detecting a gesture only for the user who selected the cancel option. In some embodiments, the display generation component ceases displaying the cancel option after a predetermined period if no selection is made (e.g., no input corresponding to yes or no is detected).
[0253] In some embodiments, the set of criteria is met (e.g., a cancel option is displayed the first N times the first gesture is detected) when the number of times the first graphical effect is displayed (e.g., in response to detecting a first gesture performed by a first portion of a person) meets (e.g., is less than or equal to) a (e.g., predetermined) threshold number of times. Following a determination that the set of criteria is not met (e.g., the number of times the first graphical effect is displayed does not meet (e.g., is equal to or greater than) the threshold number of times), the computer system refrains from displaying the cancel option (e.g., 620a).
[0254] In some embodiments, the computer system detects an input (e.g., 614a) (e.g., an input different from the first gesture) corresponding to a request to display a first graphical effect (e.g., 616a and / or 616b) (e.g., selection of a user interface element corresponding to the first graphical effect, such as an option in a menu including one or more selectable options corresponding to the respective graphical effect). In response to detecting the input corresponding to the request to display the first graphical effect, the computer system displays, via a display generation component, the first graphical effect, and the computer system displays, via the display generation component (and in some embodiments simultaneously with the first graphical effect), a graphical indication (e.g., 613a) indicating how the first graphical effect can be displayed in response to the gesture (e.g., a video illustrating how the gesture can be performed and / or a diagram illustrating how the gesture can be performed). In some embodiments, the graphical indication is overlaid on a representation of the field of view of one or more camera sensors. Displaying a graphical indication of how the first graphical effect can be displayed in response to detecting an input corresponding to a request to display the first graphical effect provides the user with improved feedback that the first graphical effect can be triggered using a gesture without foreseeing or requiring further user input to display the graphical indication, thereby reducing the number of inputs required to perform an action and performing the action when a set of conditions is met without requiring further user input.
[0255] In some embodiments, while a representation of the field of view of the one or more camera sensors is displayed, a second gesture (e.g., a square gesture as shown in FIG. 6R) (e.g., a body gesture, a hand gesture, an air gesture, a thumbs up gesture, a thumbs down gesture, a victory sign gesture, a heart gesture, and / or a clapping gesture) performed by a second part of the person (e.g., a first part of the person or a part of the person different from the first part of the person) is detected within the field of view of the one or more camera sensors (e.g., a part of the person's body, a user's hand, and / or both of the user's hands). In response to detecting a second gesture performed by a second part of the person (and, in some embodiments, in response to determining that the second gesture is a distinct gesture type), the computer system initiates a process for saving an image (e.g., thumbnail 630a and / or thumbnail 630b as shown in FIG. 6R) (e.g., a representation of the field of view of one or more camera sensors, a screen capture, and / or a screen recording) (e.g., in memory in communication with the computer system, such as local or network memory storage). Initiating a process for saving an image in response to detecting a second gesture performed by the second part of the person provides the user with an efficient way to save an image without requiring additional user interface elements, thereby providing additional control options without cluttering the UI with additional displayed controls.
[0256] In some embodiments, while displaying the first graphical effect (or, in some embodiments, including displaying the first graphical effect), the computer system, via the display generation component, displays simulated lighting effects (e.g., the back and edges of the subject performing the gesture (Isaac) are illuminated and a portion of the front of the subject is shadowed, as shown in FIG. 6N ) on a representation of a person (e.g., 604a, 606a, 604b, and / or 606b) (e.g., an image of the person within the field of view of one or more camera sensors). Displaying the simulated lighting effects on the representation of the person while displaying the first graphical effect provides the user with a more visually distinctive graphical effect and provides feedback to the user that the first gesture has been detected, thereby providing improved feedback to the user. In some embodiments, displaying the simulated lighting effects includes applying a lighting effect to a third portion of the person and applying a shadow effect to a fourth portion of the person. In some embodiments, the simulated lighting effect includes an effect (e.g., a fireworks effect) that illuminates a portion of a person's representation (e.g., the head, shoulders, sides of the person's body, and / or edges of the person's body) while casting a shadow on one or more other portions of the person's representation. In some embodiments, the simulated lighting effect includes a rain effect that casts a shadow on the person's representation and / or a confetti effect that casts a small shadow across the person's representation.
[0257] In some embodiments, while a representation of the field of view of the one or more camera sensors is displayed, a second gesture (e.g., a body gesture, a hand gesture, an air gesture, a thumbs-up gesture, a thumbs-down gesture, a victory sign gesture, a heart gesture, and / or a clapping gesture) performed by a second portion of a person (e.g., a first portion of the person or a portion of the person different from the first portion of the person) is detected within the field of view of the one or more camera sensors (e.g., a body portion of the person, a user's hand, and / or both users' hands). In response to detecting the second gesture performed by the second portion of the person and in accordance with a determination that displaying a graphical effect in response to the gesture detection is disabled, the computer system displays, via the display generation component, a prompt (e.g., 610) (e.g., instructions and / or selectable options) to enable display of the graphical effect in response to the detected gesture and ceases displaying the second graphical effect. In accordance with a determination that displaying a graphical effect in response to the gesture detection is enabled, the computer system displays the second graphical effect corresponding to the second gesture. Displaying a prompt to enable the display of a graphical effect in response to a detected gesture, and ceasing the display of the second graphical effect in response to detecting a second gesture and following a determination that the display of the graphical effect in response to the gesture detection is disabled provides an efficient technique for displaying a graphical effect in response to a detected gesture without having to open additional menus or options, thereby reducing the number of inputs required to perform an operation.
[0258] In some embodiments, displaying the first graphical effect includes displaying the first graphical effect with a depth effect (e.g., as described with respect to 634a of FIG. 6W and / or 636a of FIG. 6X). In some embodiments, displaying the first graphical effect with a depth effect includes displaying a first portion of the first graphical effect at a first depth (e.g., in front of a person or representation of a person) and displaying a second portion of the first graphical effect at a second depth different from the first depth (e.g., behind the person or representation of a person). In some embodiments, displaying the first graphical effect with a depth effect includes displaying the first graphical effect at a first depth at a first time and displaying the first graphical effect at a second depth different from the first depth at a second time different from the first time. In some embodiments, displaying a representation (e.g., 606a and / or 602b) of the field of view of the one or more camera sensors includes displaying a representation (e.g., 606a and / or 604b) of a person and a representation of a background behind the representation of the person, and applying a visual effect (e.g., a blur effect, a portrait effect, a lighting effect, a low resolution, and / or out of focus) to the representation of the background and to a portion of the first graphical effect behind the representation of the person (e.g., as described for 636a in FIG. 6X). In some embodiments, the first graphical effect moves from the foreground (e.g., in front of the representation of the person) to the background (e.g., behind the representation of the person), and the computer system applies a visual effect to the first graphical effect (e.g., blurring the first graphical effect, reducing the definition of the first graphical effect, and / or displaying the first graphical effect out of focus) when the first graphical effect is displayed in the background (e.g., moves into the background).
[0259] In some embodiments, displaying the first graphical effect includes displaying the first graphical effect having a color based on (e.g., similar or identical) the color temperature of the representation of the field of view of the one or more camera sensors (e.g., the computer system applies the color temperature of the scene in the field of view of the one or more camera sensors to the first graphical effect, and / or the computer system matches the color of the first graphical effect to the color temperature of the representation of the field of view of the one or more camera sensors) (e.g., as described for 636a in FIG. 6X).
[0260] It should be noted that the process details described above with respect to method 700 (e.g., FIG. 7A ) are equally applicable to the methods described below. For example, method 750 optionally includes one or more of the characteristics of the various methods described above with reference to method 700. For example, method 750 optionally displays a hint that a graphical effect can be displayed in response to a gesture when a first set of criteria is not met. As another example, method 900 optionally includes one or more of the characteristics of the various methods described above with reference to method 700. For example, method 900 optionally displays a graphical effect in response to a computer system detecting a gesture while sharing content associated with a participant. As another example, method 1100 optionally includes one or more characteristics of the various methods described above with reference to method 700. For example, method 1100 optionally displays a hint for displaying a graphical effect in both the first application and the second application. As another example, method 1300 optionally includes one or more characteristics of the various methods described above with reference to method 700. For example, method 1300 optionally displays a graphical effect in response to detecting a gesture while a representation of a subject is being framed by the computer system. For brevity, these details will not be repeated below.
[0261] 7B is a flow diagram illustrating a method for displaying graphical effects during a real-time communication session using a computer system, according to some embodiments. Method 750 is performed on a computer system (e.g., 100, 300, 500, 600a, 600b, 800a, 800b, 800c, 1000a, 1000b, and / or 1200a) in communication with a display generation component (e.g., 601a and / or 601b). Some operations in method 750 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0262] As described below, method 750 provides an intuitive way to display graphical effects during a real-time communication session. This method reduces the cognitive burden on a user to display graphical effects during a real-time communication session, thereby creating a more efficient human-machine interface. For battery-operated computing devices, allowing users to display graphical effects faster and more efficiently during a real-time communication session conserves power and increases the time between battery charges.
[0263] In method 750, the computer system, via a display generation component, displays (752) a representation (e.g., 602a, 602b, 606a, and / or 606b) (e.g., an image, a video feed, and / or a live preview) of a field of view of one or more camera sensors, and a person is visible within the representation of the field of view of the one or more camera sensors. While the representation of the field of view of the one or more camera sensors is displayed, a first gesture (e.g., a body gesture, a hand gesture, an air gesture, a thumbs-up gesture, a thumbs-down gesture, a victory sign gesture, a heart gesture, and / or a clapping gesture) performed by a first part of the person (e.g., a body part of a user, a user's hand, and / or both of a user's hands) is detected within the field of view of the one or more camera sensors (754). In response to detecting a first gesture performed by a first portion of the person (756), in accordance with a determination that a first set of criteria is met, the computer system, via a display generation component, displays (758) a graphical effect corresponding to the first gesture within a representation of the field of view of one or more camera sensors (e.g., 618a, 618b, 622a, 622b, 624a, 624b, 626a, 626b, 628a, and / or 628b). In some embodiments, the computer system displays the graphical effect simultaneously with (e.g., within) the representation of the field of view of the one or more camera sensors. In some embodiments, displaying the graphical effect includes displaying an animation corresponding to the first gesture (e.g., firework animation, confetti animation, falling rain, and / or moving clouds). In some embodiments, the graphical effect is displayed (e.g., along with) the representation of the field of view of the one or more camera sensors by one or more other computer systems in a real-time video communication session with the computer system.In accordance with a determination that the first set of criteria are not met, the computer system ceases displaying a graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors (760) (e.g., no graphical effect is displayed in response to detecting the gesture, as shown in FIGS. 6F and 6S-6V ) (e.g., displaying the representation of the field of view of the one or more camera sensors without displaying the graphical effect). Displaying the graphical effect in response to detecting the first gesture in accordance with a determination that the first set of criteria are met and ceasing to display the graphical effect in response to detecting the first gesture in accordance with a determination that the first set of criteria are not met indicates to the user that the user has successfully satisfied the criteria required to display the graphical effect and allows the user to initiate the effect being displayed without having to navigate the user interface; requiring the first set of criteria to be met reduces mistakes by preventing unintended display of an effect, thereby providing improved visual feedback and reducing the number of inputs required to perform an action.
[0264] In some embodiments, the first set of criteria includes location criteria that are met (e.g., the first gesture triggers a graphical effect and / or the first gesture is displayed) when the location of a first part of the person relative to the location of a second part of the person (e.g., a second part of the user's body, the user's head, the user's face, the user's hands, and / or both of the user's hands) meets a set of location criteria (e.g., a criterion that the hand performing the gesture is not in front of the face of the person performing the gesture, as shown in FIG. 6S). Displaying a graphical effect in response to detecting the first gesture according to a determination that the first set of criteria, including the met location criteria, is met provides the ability to initiate display of the displayed graphical effect without navigating a user interface, and requiring that the location criteria be met reduces mistakes by preventing unintended display of an effect, thereby providing improved visual feedback and reducing the number of inputs required to perform an action. In some embodiments, the first set of criteria is based on the location of the first part of the person relative to the second part of the person. In some embodiments, the location criterion is met when a first portion of the person is at a first location relative to a second portion of the person (and the computer system displays the graphical effect), and the location criterion is not met (and the computer system ceases to display the graphical effect) when the first portion of the person is at a second location (different from the first location) relative to the second portion of the person. In some embodiments, the location criterion is not met when the first portion of the person is within a threshold distance of a second portion, such as the user's face, body, and / or other hand.
[0265] In some embodiments, the first portion of the person is the person's hand, the second portion of the person is the person's face, and the first set of criteria is not met when the person's hand is over the person's face (e.g., as shown in FIG. 6S). Rescinding the display of the graphical effect in response to detecting the first gesture in accordance with a determination that the first set of criteria is not met, including that the first set of criteria is not met when the person's hand is over the person's face, allows a user to initiate the displayed effect without having to navigate the user interface, and requiring the location criteria to be met reduces mistakes by preventing unintended display of the effect, thereby providing additional control options without cluttering the UI with additional displayed controls and reducing the number of inputs required to perform an action.
[0266] In some embodiments, the first set of criteria includes a duration criterion that is met when the duration (e.g., continuous duration or cumulative duration) of the first gesture meets a threshold duration (e.g., is greater than or equal to or greater than the threshold duration) (e.g., if the threshold duration is not met, no graphical effect is displayed, as shown in FIG. 6F ). In some embodiments, the computer system does not display the graphical effect if the duration of the first gesture is less than the threshold duration (e.g., the first gesture is ignored). Displaying the graphical effect in response to detecting the first gesture according to a determination that the first set of criteria, including the duration criterion, is met provides a user with a way to initiate display of the graphical effect without navigating the user interface, and requiring that the duration criterion be met reduces mistakes by preventing unintended display of an effect, thereby providing additional control options without cluttering the UI with additional displayed controls and reducing the number of inputs required to perform an action.
[0267] In some embodiments, the first set of criteria includes criteria that are met (e.g., the first gesture does not trigger a graphical effect and / or the first gesture is ignored) when the detected movement of the first gesture (e.g., lateral movement, vertical movement, and / or shaking movement) meets (e.g., is less than or equal to) a movement threshold (e.g., a speed threshold, a velocity threshold, a direction threshold, and / or a distance threshold) (e.g., as shown in FIG. 6F, if the movement threshold is not met, no graphical effect is displayed). Displaying the graphical effect in response to the detection of the first gesture in accordance with a determination that a first set of criteria are met, including a determination that the detected movement of the gesture meets a movement threshold, and ceasing to display the graphical effect in response to the detection of the first gesture in accordance with a determination that the first set of criteria are not met, including a determination that the detected movement of the gesture does not meet the movement threshold, provides an indication to the user that the criteria required for displaying the graphical effect have been met, allowing the user to initiate the effect to be displayed without having to navigate the user interface; requiring the first set of criteria to be met reduces errors by preventing unintended display of the effect, thereby providing improved visual feedback and reducing the number of inputs required to perform an action.
[0268] In some embodiments, the first set of criteria is based on movement of a first part of the person. In some embodiments, the computer system does not display the graphical effect (e.g., ignores the first gesture) if the movement of the first gesture exceeds a movement threshold (e.g., exceeds a velocity threshold).
[0269] In some embodiments, the first set of criteria includes criteria that are met when it is determined that an indicator of attention of a person performing the first gesture is directed toward the representation in a field of view of one or more camera sensors (and / or, in some embodiments, a display generation component, one or more camera sensors, and / or a computer system). Displaying the graphical effect in response to detection of the first gesture in accordance with a determination that the first set of criteria is met, including a determination that an indicator of attention is directed toward the representation field of view of the one or more camera sensors, and ceasing to display the graphical effect in response to detection of the first gesture in accordance with a determination that the first set of criteria is not met, including a determination that an indicator of attention is not directed toward the representation field of view of the one or more camera sensors, provides an indication to the user that the criteria required for displaying the graphical effect have been met and allows the user to initiate the effect to be displayed without having to navigate a user interface; requiring the first set of criteria to be met reduces mistakes by preventing unintended display of an effect, thereby providing improved visual feedback and reducing the number of inputs required to perform an action. In some embodiments, if an indicator of attention of the person performing the first gesture is not determined to be directed toward the representation in the field of view of one or more camera sensors, the first set of criteria is not met (e.g., a graphical effect corresponding to the first gesture is not displayed).
[0270] In some embodiments, the indicator of attention includes a gaze (e.g., 632a) of the person performing the first gesture (e.g., as shown in Figures 6T1 and 6T2) (e.g., the indicator of attention is determined to be directed toward the representation of the field of view of the one or more camera sensors when the person performing the gesture is looking in the direction of the representation of the field of view of the one or more camera sensors and / or looking at the display generating component). Displaying a graphical effect in response to the detection of a first gesture in accordance with a determination that a first set of criteria are met, including a determination that the person's gaze is directed toward the representation field of view of one or more camera sensors, and ceasing to display the graphical effect in response to the detection of a first gesture in accordance with a determination that the first set of criteria are not met, including a determination that the person's gaze is not directed toward the representation field of view of one or more camera sensors, provides an indication to the user that the criteria required for displaying the graphical effect have been met and allows the user to initiate the effect to be displayed without having to navigate a user interface; requiring the first set of criteria to be met reduces mistakes by preventing unintended display of the effect, thereby providing improved visual feedback and reducing the number of inputs required to perform an action.
[0271] In some embodiments, the attention indicator includes a focus state (or, in some embodiments, an activity state) of a window displayed by the display generating component (e.g., the subject (Isaac) performing the gesture is not looking at user interface 602a, as shown in FIG. 6U) (e.g., the attention indicator is determined to be directed toward a representation of the field of view of one or more camera sensors when an application window or user interface includes a representation of the field of view of one or more camera sensors). Displaying the graphical effect in response to detection of the first gesture in accordance with a determination that a first set of criteria including the focus state are met, and ceasing to display the graphical effect in response to detection of the first gesture in accordance with a determination that the first set of criteria including the focus state are not met, provides an indication to the user that the criteria required for displaying the graphical effect have been met, allowing the user to initiate the effect to be displayed without having to navigate the user interface; requiring the first set of criteria to be met reduces mistakes by preventing unintended display of the effect, thereby providing improved visual feedback and reducing the number of inputs required to perform an action. In some embodiments, when an application window is minimized or closed (while the application is still running and people and gestures are detected within the field of view of one or more camera sensors), the attention indicator is determined to be directed toward a representation of the field of view of one or more camera sensors.
[0272] In some embodiments, the first set of criteria includes criteria that are met when audio settings (e.g., microphone settings) associated with the representation of the field of view of one or more camera sensors (e.g., microphone settings of a real-time communication session) are active (e.g., enabled and / or not muted, such that the graphical effect is not displayed when audio is not active, as shown in FIG. 6V). Displaying the graphical effect in response to detection of the first gesture in accordance with a determination that the first set of criteria, including criteria that are met when the audio settings are active, is met, and ceasing to display the graphical effect in response to detection of the first gesture in accordance with a determination that the first set of criteria are not met, provides an indication to the user that the criteria required for displaying the graphical effect have been met, allowing the user to initiate the effect being displayed without having to navigate a user interface; requiring the first set of criteria to be met reduces mistakes by preventing unintended display of the effect, thereby providing improved visual feedback and reducing the number of inputs required to perform an action. In some embodiments, the criteria are not met (e.g., the graphical effect is not displayed) if the audio settings are disabled or muted.
[0273] In some embodiments, the first set of criteria includes a criterion that is met when audio settings associated with a representation of the field of view of one or more camera sensors are not muted within a predetermined amount of time (e.g., a non-zero amount of time, 1 second, 2 seconds, 3 seconds, or 5 seconds) (e.g., a graphical effect is not displayed when the audio is muted, as shown in FIG. 6V ). Displaying the graphical effect in response to detection of the first gesture in accordance with a determination that the first set of criteria including the criterion that is met when the audio settings are not muted within the predetermined amount of time is met, and ceasing to display the graphical effect in response to detection of the first gesture in accordance with a determination that the first set of criteria are not met, provides an indication to the user that the criteria required for displaying the graphical effect have been met, allowing the user to initiate the effect being displayed without having to navigate a user interface; requiring the first set of criteria to be met reduces mistakes by preventing unintended display of an effect, thereby providing improved visual feedback and reducing the number of inputs required to perform an action. In some embodiments, if the audio setting is muted within a predetermined amount of time, the first set of criteria is not met (eg, no graphical effects are displayed).
[0274] In some embodiments, a computer system (e.g., 600a) communicates with one or more external computer systems (e.g., 600b) (e.g., smartphones, desktop computers, laptops, tablets, head-mounted devices, wearable devices, and / or smartwatches) via a real-time communication session (e.g., a live audio and / or video communication session). In some embodiments, a representation of the field of view of one or more camera sensors is included in (e.g., transmitted, shared, and / or displayed) the real-time communication session (e.g., displayed in a user interface of a real-time communication application). Displaying a graphical effect in response to detecting a first gesture in accordance with a determination that a first set of criteria are met while the computer system is communicating with one or more external computer systems via a real-time communication session, and ceasing to display the graphical effect in response to detecting the first gesture in accordance with a determination that the first set of criteria are not met, indicates to the user that the user has successfully met the criteria required to display the graphical effect and allows the user to initiate the effect being displayed without having to navigate the user interface, and requiring the first set of criteria to be met reduces mistakes by preventing unintended display of the effect, thereby providing improved visual feedback and reducing the number of inputs required to perform an action.
[0275] In some embodiments, the graphical effect corresponding to the first gesture is distinct from a movement of a part of a person corresponding to the first gesture (e.g., the graphical effect includes one or more graphical elements, animations, and / or graphical representations of the first gesture, such as an emoji corresponding to the first gesture and / or an animation corresponding to the first gesture). Displaying the graphical effect in response to detection of the first gesture in accordance with a determination that a first set of criteria are met, where the graphical effect is distinct from a movement of a part of a person, and ceasing to display the graphical effect in response to detection of the first gesture in accordance with a determination that the first set of criteria are not met provides an indication to the user that the criteria required for displaying the graphical effect have been met and allows the user to initiate the effect to be displayed without having to navigate the user interface; requiring the first set of criteria to be met reduces errors by preventing unintended display of an effect, thereby providing improved visual feedback and reducing the number of inputs required to perform an action.
[0276] It should be noted that the process details described above with respect to method 750 (e.g., FIG. 7B ) are equally applicable to the methods described below / above. For example, method 700 optionally includes one or more of the characteristics of the various methods described above with reference to method 750. For example, method 700 optionally forgoes displaying a graphical effect if a criterion is not met. As another example, method 900 optionally includes one or more of the characteristics of the various methods described above with reference to method 750. For example, method 900 optionally forgoes displaying a graphical effect in response to the computer system detecting a gesture while sharing content associated with a participant if a criterion is not met. As another example, method 1100 optionally includes one or more characteristics of the various methods described above with reference to method 750. For example, method 1100 optionally forgoes displaying a graphical enhancement if a set of criteria is not met. As another example, method 1300 optionally includes one or more characteristics of the various methods described above with reference to method 750. For example, method 1300 optionally ceases displaying a graphical effect in response to the computer detecting a gesture while framing a representation of a subject in a representation of the field of view of one or more camera sensors if a criterion is not met. For brevity, these details will not be repeated below.
[0277] 8A-8Z show exemplary user interfaces for sharing content during a real-time communication session, according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the process of FIG.
[0278] 8A , computer system 800a (e.g., Abby's computer) displays a user interface 802 of a real-time communication session between computer system 800a, computer system 800b (e.g., Nate's computer), and computer system 800c (e.g., Jose's computer). In some embodiments, computer system 800a, computer system 800b, and / or computer system 800c are desktop computers, laptop computers, tablets, smartphones, and / or other mobile devices. User interface 802 includes representations 802a, 802b, and 802c (e.g., representations of participants in the real-time communication session, i.e., Abby, Nate, and Jose). Representation 802a (e.g., a video feed, a still image, and / or an avatar) represents a participant (e.g., Abby) associated with computer system 800a (e.g., Abby's computer). Representation 802b represents a participant (e.g., Nate) associated with computer system 800b (e.g., Nate's computer). Representation 802c represents a participant (e.g., Jose) associated with computer system 800c (e.g., Jose's computer). Computer system 800b displays user interface 804 including representations of the participants (e.g., Abby, Nate, and Jose) of the real-time communication session, and computer system 800c displays user interface 806 including representations of the participants (e.g., Abby, Nate, and Jose) of the real-time communication session.
[0279] 8B , computer system 800a (e.g., Abby's computer) detects a request to share content. In response to detecting the request to share content, computer system 800a begins sharing content in a first mode and displays user interface 808. User interface 808 includes shared content 808a, representation 808b1, and representation 808b2. Representation 808b1 and representation 808b2 are representations of other participants in the real-time communication session. In some embodiments, shared content 808a is shown in an expanded format (e.g., full screen) or a reduced format (e.g., a portion of user interface 808). In some embodiments, representations of participant 808b1 and participant 808b2 obscure portions of shared content 808a. In some embodiments, user interface 808 does not include a representation of a participant (e.g., Abby) associated with shared content 808a.
[0280] In response to detecting a request to share content, computer system 800b displays user interface 810, and computer system 800c displays user interface 812. User interface 810 on computer system 800b includes a composite 810a that is a composite of a representation 810b of shared content 808a and a representation 810c of a participant (e.g., Abby) associated with the shared content 808a. The representation 810c of the participant associated with the shared content 808a is not displayed separately from the representation 810b of the shared content 808a. In some embodiments, the representation 810b of the shared content 808a is displayed as if it were behind (and on the shoulder of) the representation 810c of the participant (e.g., Abby) associated with the shared content 808a. In some embodiments, the representation 810c of the participant associated with the shared content 808a obscures a portion of the shared content 810b. In some embodiments, the representation 810c of the shared content 808a is a different size (e.g., larger and / or occupies a larger portion of the user interface 810) than that shown in FIG. 8B. In some embodiments, the representation 810c of the participant associated with the shared content 808a is a different size (e.g., smaller and / or occupies a smaller portion of the user interface 810) than that shown in FIG. 8B. In some embodiments, the representation 810c of the shared content 808a is positioned toward the center of the user interface 810 than that shown in FIG. 8B. In some embodiments, the representation 810c of the participant associated with the shared content 808a is positioned (e.g., offset) toward the side (e.g., right side) of the user interface 810 than that shown in FIG. 8B. The user interface 810 includes a representation of a non-sharing participant 810d1 and a representation of a non-sharing participant 810d2 (e.g., participants not associated with the shared content, such as Nate and Jose) displayed in front of the composite 810a. In some embodiments, composite 810a is displayed in an expanded format (eg, full screen).In some embodiments, the representations of non-sharing participant 810d1 and non-sharing participant 810d2 are displayed in a different order depending on which representation is associated with a particular computer system. For example, on Nate's computer, Nate's representation is displayed on the left side of the display and Jose's representation is displayed on the right side of the display. Similarly, on Jose's computer, Jose's representation is displayed on the left side of the display and Nate's representation is displayed on the right side of the display. In some embodiments, participants can select where their representations are displayed relative to other representations. User interface 812 on computer system 800c can include any or all of the features of user interface 810, as described with respect to FIG. 8B.
[0281] 8C , computer system 800a (e.g., Abby's computer) detects a request (e.g., via menu 808c) to change the configuration in which shared content 808a is displayed on computer system 800b (e.g., Nate's computer) and computer system 800c (e.g., Jose's computer). In some embodiments, menu 808c is a settings menu associated with a real-time communication session application used for the real-time communication session between computer system 800a, computer system 800b, and computer system 800c. In some embodiments, menu 808c is a settings menu associated with the operating system of computer system 800a.
[0282] 8D , in response to a request to change the configura...
Claims
1. 1. A method comprising:
1. A computer system in communication with a display generation component, comprising: displaying, via the display generation component, a representation of a field of view of one or more camera sensors, wherein a person is visible within the representation of the field of view of the one or more camera sensors; a first gesture performed by a first portion of a person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; and displaying, via the display generation component, a first graphical effect in response to detecting the first gesture performed by the first portion of the person, wherein the displaying comprises: displaying the first graphical effect at a first effect location within the representation of the field of view of the one or more camera sensors in accordance with a determination that the first gesture is detected at a first gesture location within the field of view of the one or more camera sensors; and displaying the first graphical effect at a second effect location within the representation of the field of view of the one or more camera sensors that is different from the first effect location in accordance with a determination that the first gesture is at a second gesture location within the field of view of the one or more camera sensors that is different from the first gesture location.
2. a second gesture is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed, the second gesture being performed by the first portion of the person and a second portion of the person; 2. The method of claim 1, further comprising displaying, via the display generation component, a second graphical effect different from the first graphical effect in response to detecting the second gesture performed by the first portion of the person and the second portion of the person.
3. 3. The method of claim 2, wherein the first gesture comprises a thumbs-up gesture performed by the first portion of the person, and the second gesture comprises a thumbs-up gesture performed by the first portion of the person and a thumbs-up gesture performed by the second portion of the person.
4. Displaying the first graphical effect includes: displaying, via the display generation component, the first graphical effect having a first characteristic according to determining that the first gesture was performed by a first type of body part; and displaying, via the display generation component, the first graphical effect having a second characteristic different from the first characteristic in accordance with a determination that the first gesture was performed by a body part of a second type.
5. the first type of body part is a right hand, and the first characteristic is a right hand pictogram; The method of claim 4 , wherein the second type of body part is a left hand and the second characteristic is a left hand pictogram.
6. a second gesture performed by a second portion of the person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; 6. The method of claim 1, further comprising displaying, via the display generation component, a second graphical effect different from the first graphical effect in response to detecting the second gesture performed by the second portion of the person.
7. 7. The method of claim 6, wherein displaying the first graphical effect and displaying the second graphical effect comprises beginning display of the first graphical effect within a predetermined time interval of beginning display of the second graphical effect.
8. 8. The method of claim 6 or 7, wherein displaying the second graphical effect comprises initiating display of the second graphical effect after initiating display of the first graphical effect.
9. Displaying the first graphical effect includes: displaying, via the display generation component, the first graphical effect in a first visual appearance in accordance with determining that the first gesture is of a first gesture type; and displaying, via the display generation component, the first graphical effect in a second visual appearance different from the first visual appearance in accordance with a determination that the first gesture is of a second gesture type.
10. 10. The method of claim 1, wherein displaying the first graphical effect via the display generation component comprises displaying a sequence of effects including a first sequence effect and a second sequence effect.
11. while the first gesture performed by the first portion of the person is detected within the field of view of the one or more camera sensors; detecting movement of the first portion of the person from a first location to a second location within the field of view of the one or more camera sensors; 11. The method of claim 10, further comprising: in response to detecting movement by the first portion of the person, displaying, via the display generation component, the first sequence effect at a first display location within the representation of the field of view of the one or more camera sensors corresponding to the first location, and the second sequence effect at a second display location within the representation of the field of view of the one or more camera sensors corresponding to the second location.
12. 12. The method of claim 1, wherein displaying the first graphical effect comprises displaying the first graphical effect such that a portion of the first graphical effect is obscured by at least a portion of a representation of the person within the representation of the field of view of the one or more camera sensors.
13. Displaying the first graphical effect includes: displaying, via the display generation component, the first graphical effect in a first effect orientation corresponding to the first orientation in accordance with a determination that the first gesture is detected within the field of view of the one or more camera sensors in a first orientation; 13. The method of claim 1, further comprising: displaying, via the display generation component, the first graphical effect in a second effect orientation corresponding to the second orientation, the second effect orientation being different from the first effect orientation, in accordance with a determination that the first gesture is detected in a second orientation within the field of view of the one or more camera sensors that is different from the first orientation.
14. The method of claim 1 , wherein displaying the first graphical effect comprises displaying an animation based on movement of the first portion of the figure.
15. The method of claim 14 , wherein displaying the animation includes displaying the animation based on a speed of the movement of the first portion of the person.
16. a second gesture performed by a third portion of the person is detected within the field of view of the one or more camera sensors while displaying the first graphical effect; The method of claim 1 , further comprising changing a state of the first graphical effect in response to detecting the second gesture.
17. The method of claim 1 , wherein the representation of the field of view of one or more camera sensors is included in a real-time communication session.
18. The method of claim 17 , wherein the representation of the field of view of the one or more camera sensors includes a representation of a first participant in the real-time communication session.
19. While the representation of the field of view of the one or more camera sensors is being displayed, In accordance with determining that the first portion of the person is being tracked, displaying, via the display generation component, a hint user interface element indicating that a graphical effect may be displayed in response to a gesture performed by the first portion of the person; 19. The method of claim 1, further comprising: in accordance with a determination that the first portion of the person is not being tracked, ceasing to display the hint user interface element indicating that a graphical effect may be displayed in response to a gesture performed by the first portion of the person.
20. Displaying the hint user interface element includes displaying the hint user interface element at a first hint location, the method comprising: movement of the first portion of the person is detected; 20. The method of claim 19, further comprising, in response to detecting the movement of the first portion of the person, displaying, via the display generation component, the hint user interface element at a second hint location different from the first hint location.
21. 21. The method of claim 19 or 20, further comprising: while displaying the representation of the field of view of the one or more camera sensors, the hint user interface element is not displayed within a representation of the person displayed on a remote computer system.
22. 22. The method of claim 19, wherein the hint user interface element is displayed on one or more display generation components in communication with one or more computer systems communicating via a real-time communication session.
23. In response to detecting the first gesture performed by the first portion of the person, 23. The method of claim 1, further comprising, in accordance with a determination that a set of criteria is met, displaying, via the display generation component, a cancel option that, when selected, disables displaying graphical effects in response to the detected gesture.
24. The set of criteria is met when the number of times the first graphical effect is displayed meets a threshold number of times, and the method further comprises:
24. The method of claim 23, further comprising: ceasing to display the cancel option in accordance with a determination that the set of criteria is not met.
25. detecting an input corresponding to a request to display the first graphical effect; in response to detecting the input corresponding to the request to display the first graphical effect; displaying the first graphical effect via the display generation component; and 25. The method of claim 1, further comprising: displaying, via the display generation component, a graphical indication of how the first graphical effect may be displayed in response to a gesture.
26. a second gesture performed by a second portion of a person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; 26. The method of claim 1, further comprising initiating a process for saving an image in response to detecting the second gesture performed by the second part of the person.
27. 27. The method of claim 1, further comprising displaying, via the display generation component, simulated lighting effects on the representation of the person while displaying the first graphical effect.
28. a second gesture performed by a second portion of the person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; in response to detecting a second gesture performed by the second portion of the person; In accordance with a determination that displaying a graphical effect in response to detecting a gesture is disabled, displaying, via the display generation component, a prompt to enable display of a graphical effect in response to the detected gesture; ceasing to display the second graphical effect; and 28. The method of claim 1, further comprising: displaying a second graphical effect corresponding to the second gesture in accordance with a determination that displaying a graphical effect in response to detecting the gesture is valid.
29. 29. The method of any one of claims 1 to 28, wherein displaying the first graphical effect comprises displaying the first graphical effect with a depth effect.
30. 30. The method of claim 29, wherein displaying the representation of the field of view of the one or more camera sensors includes displaying a representation of the person and a representation of a background behind the representation of the person, and wherein displaying includes applying a visual effect to the representation of the background and a portion of the first graphical effect behind the representation of the person.
31. 31. The method of claim 1, wherein displaying the first graphical effect comprises displaying the first graphical effect having a color based on a color temperature of the representation of the field of view of the one or more camera sensors.
32. 32. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs including instructions for performing the method of any one of claims 1 to 31.
33. a computer system in communication with a display generation component, one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 1 to 31.
34. a computer system in communication with a display generation component, A computer system comprising means for carrying out the method of any one of claims 1 to 31.
35. 32. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs including instructions for performing the method of any one of claims 1 to 31.
36. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs comprising: displaying, via the display generation component, a representation of a field of view of one or more camera sensors, wherein a person is visible within the representation of the field of view of the one or more camera sensors; a first gesture performed by a first portion of a person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; 1. A non-transitory computer-readable storage medium comprising instructions for displaying, via the display generation component, a first graphical effect in response to detecting the first gesture performed by the first portion of the person, the displaying comprising: displaying the first graphical effect at a first effect location within the representation of the field of view of the one or more camera sensors in accordance with a determination that the first gesture is detected at a first gesture location within the field of view of the one or more camera sensors; and displaying the first graphical effect at a second effect location within the representation of the field of view of the one or more camera sensors that is different from the first effect location in accordance with a determination that the first gesture is at a second gesture location within the field of view of the one or more camera sensors that is different from the first gesture location.
37. a computer system in communication with a display generation component, one or more processors; a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: displaying, via the display generation component, a representation of a field of view of one or more camera sensors, wherein a person is visible within the representation of the field of view of the one or more camera sensors; a first gesture performed by a first portion of a person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; responsive to detecting the first gesture performed by the first portion of the person, displaying, via the display generation component, a first graphical effect, wherein the displaying comprises: displaying the first graphical effect at a first effect location within the representation of the field of view of the one or more camera sensors in accordance with a determination that the first gesture is detected at a first gesture location within the field of view of the one or more camera sensors; and displaying the first graphical effect at a second effect location within the representation of the field of view of the one or more camera sensors that is different from the first effect location in accordance with a determination that the first gesture is at a second gesture location within the field of view of the one or more camera sensors that is different from the first gesture location.
38. a computer system in communication with a display generation component, means for displaying, via the display generation component, a representation of a field of view of one or more camera sensors, wherein a person is visible within the representation of the field of view of the one or more camera sensors; a first gesture performed by a first portion of a person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; means for displaying, via the display generation component, a first graphical effect in response to detecting the first gesture performed by the first portion of the person, wherein the displaying means comprises: means for displaying the first graphical effect at a first effect location within the representation of the field of view of the one or more camera sensors in accordance with a determination that the first gesture is detected at a first gesture location within the field of view of the one or more camera sensors; means for displaying the first graphical effect at a second effect location within the representation of the field of view of the one or more camera sensors that is different from the first effect location in accordance with a determination that the first gesture is at a second gesture location within the field of view of the one or more camera sensors that is different from the first gesture location.
39. 1. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs comprising: displaying, via the display generation component, a representation of a field of view of one or more camera sensors, wherein a person is visible within the representation of the field of view of the one or more camera sensors; a first gesture performed by a first portion of a person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; responsive to detecting the first gesture performed by the first portion of the person, displaying, via the display generation component, a first graphical effect, wherein the displaying comprises: displaying the first graphical effect at a first effect location within the representation of the field of view of the one or more camera sensors in accordance with a determination that the first gesture is detected at a first gesture location within the field of view of the one or more camera sensors; and displaying the first graphical effect at a second effect location within the representation of the field of view of the one or more camera sensors that is different from the first effect location in accordance with a determination that the first gesture is at a second gesture location within the field of view of the one or more camera sensors that is different from the first gesture location.
40. 1. A method comprising:
1. A computer system in communication with a display generation component, comprising: displaying, via the display generation component, a representation of a field of view of one or more camera sensors, wherein a person is visible within the representation of the field of view of the one or more camera sensors; a first gesture performed by a first portion of a person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; In response to detecting the first gesture performed by the first portion of the person, displaying, via the display generation component, a graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that a first set of criteria is satisfied; and ceasing to display the graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that the first set of criteria is not met.
41. 41. The method of claim 40, wherein the first set of criteria includes location criteria that are met when a location of the first portion of the person relative to a location of a second portion of the person satisfies a set of location criteria.
42. the first part of the person is a hand of the person; the second portion of the person is the person's face; 42. The method of claim 41, wherein the first set of criteria is not met when the person's hands are on the person's face.
43. 43. The method of any one of claims 40 to 42, wherein the first set of criteria includes a duration criterion that is met when the duration of the first gesture meets a threshold duration.
44. 44. The method of any one of claims 40 to 43, wherein the first set of criteria includes a criterion that is met when the detected movement of the first gesture meets a movement threshold.
45. 45. The method of any one of claims 40 to 44, wherein the first set of criteria includes a criterion that is met when an indicator of attention of the person performing the first gesture is determined to be directed toward the representation of the field of view of the one or more camera sensors.
46. 46. The method of claim 45, wherein the indicator of attention comprises a gaze of the person performing the first gesture.
47. 47. The method of claim 45 or 46, wherein the indicator of attention comprises a focus state of a window displayed by the display generation component.
48. 48. The method of any one of claims 40 to 47, wherein the first set of criteria includes criteria that are met when an audio setting associated with the representation of the field of view of the one or more camera sensors is active.
49. 49. The method of any one of claims 40 to 48, wherein the first set of criteria includes a criterion that is met when audio settings associated with the representation of the field of view of one or more camera sensors have not been muted within a predetermined amount of time.
50. 50. The method of any one of claims 40 to 49, wherein the computer system communicates with one or more external computer systems via a real-time communication session, and the representation of the field of view of the one or more camera sensors is included in the real-time communication session.
51. 51. The method of any one of claims 40 to 50, wherein the graphical effect corresponding to the first gesture is different from a movement of the first part of the person corresponding to the first gesture.
52. 52. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs including instructions for performing the method of any one of claims 40 to 51.
53. a computer system in communication with a display generation component, one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 40 to 51.
54. a computer system in communication with a display generation component, 52. A computer system comprising means for carrying out the method of any one of claims 40 to 51.
55. 52. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs including instructions for performing the method of any one of claims 40 to 51.
56. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs comprising: displaying, via the display generation component, a representation of a field of view of one or more camera sensors, wherein a person is visible within the representation of the field of view of the one or more camera sensors; a first gesture performed by a first portion of a person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; In response to detecting the first gesture performed by the first portion of the person, displaying, via the display generation component, a graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that a first set of criteria is satisfied; a non-transitory computer-readable storage medium comprising instructions for ceasing to display the graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that the first set of criteria is not met.
57. a computer system in communication with a display generation component, one or more processors; a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: displaying, via the display generation component, a representation of a field of view of one or more camera sensors, wherein a person is visible within the representation of the field of view of the one or more camera sensors; a first gesture performed by a first portion of a person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; In response to detecting the first gesture performed by the first portion of the person, displaying, via the display generation component, a graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that a first set of criteria is satisfied; and instructions for ceasing to display the graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that the first set of criteria is not met.
58. a computer system in communication with a display generation component, means for displaying, via the display generation component, a representation of a field of view of one or more camera sensors, wherein a person is visible within the representation of the field of view of the one or more camera sensors; a first gesture performed by a first portion of a person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; means responsive to detecting the first gesture performed by the first portion of the person; means for displaying, via the display generation component, a graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that a first set of criteria is satisfied; means for ceasing to display the graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that the first set of criteria is not met.
59. 1. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs comprising: displaying, via the display generation component, a representation of a field of view of one or more camera sensors, wherein a person is visible within the representation of the field of view of the one or more camera sensors; a first gesture performed by a first portion of a person is detected within the field of view of the one or more camera sensors while the representation of the field of view of the one or more camera sensors is displayed; In response to detecting the first gesture performed by the first portion of the person, displaying, via the display generation component, a graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that a first set of criteria is satisfied; 11. A computer program product comprising: instructions for ceasing to display the graphical effect corresponding to the first gesture within the representation of the field of view of the one or more camera sensors in accordance with a determination that the first set of criteria is not met.
60. 1. A method comprising: a first computer system in communication with a display generation component, the first computer system being associated with a first participant; displaying, via the display generation component, a user interface of a real-time communication session between the first computer system and one or more second computer systems; While displaying the user interface of the real-time communication session, an input is received requesting to share content associated with a first participant in the real-time communication session; and displaying, via the display generation component, a user interface element within the user interface of the real-time communication session in response to receiving the request to display the content associated with the first participant in the real-time communication session, wherein the user interface element is a composite of the content associated with the first participant in the real-time communication session and a representation of the first participant within the user interface of the real-time communication session.
61. 61. The method of claim 60, wherein the representation of the first participant in the user interface of the real-time communication session includes a video feed of the first participant.
62. 62. The method of claim 60 or 61, wherein the representation of the first participant in the user interface of the real-time communication session includes an avatar of the first participant.
63. 63. A method according to any one of claims 60 to 62, wherein at least a portion of the content associated with the first participant in the real-time communication session is displayed behind at least a portion of the representation of the first participant via the display generation component.
64. 64. The method of any one of claims 60 to 63, wherein at least a portion of the representation of the first participant obscures at least a portion of the content associated with the first participant.
65. Displaying the user interface element includes displaying the representation of the first participant at a first location within the real-time communication user interface, the method comprising: receiving an input requesting to change the location of the representation of the first participant while displaying the representation of the first participant at the first location within the real-time communication user interface; 65. The method of claim 64, further comprising: in response to receiving the request to change the location of the representation of the first participant, displaying the representation of the first participant at a second location within the real-time communication user interface that is different from the first location within the real-time communication user interface.
66. Displaying the user interface elements within the real-time communication user interface includes displaying the user interface elements in a first visual configuration, the method comprising: after displaying the user interface element in the first visual configuration; receiving an input requesting a change in the visual configuration of the user interface elements; 66. The method of claim 60, further comprising: in response to receiving the request to change the visual configuration of the user interface element, displaying, via the display generation component, the user interface element in a second visual configuration different from the first visual configuration.
67. 67. The method of claim 66, wherein displaying the user interface element in the second visual configuration comprises displaying, via the display generation component, an animation of the user interface element transitioning from the first visual configuration to the second visual configuration.
68. 68. The method of any one of claims 60 to 67, further comprising, in response to receiving the request to display the content associated with the first participant during the real-time communication session, changing the display of the representation of the first participant from a first visual appearance to a second visual appearance different from the first visual appearance.
69. receiving an input requesting sharing of content associated with a second participant in the real-time communication session while displaying the user interface of the real-time communication session; 69. The method of any one of claims 60 to 68, further comprising, in response to receiving the request to display the content associated with the second participant in the real-time communication session, displaying, via the display generation component, a user interface element in the real-time communication user interface that is a composite of the content associated with the second participant in the real-time communication session and a representation of the second participant in the user interface of the real-time communication session.
70. 70. The method of any one of claims 60 to 69, wherein the composite of the content associated with the first participant in the real-time communication session and the representation of the first participant in the user interface of the real-time communication session is received by a real-time communication application associated with the real-time communication session as a single video feed.
71. while displaying the user interface of the real-time communication session; 71. The method of any one of claims 60 to 70, further comprising receiving data indicating that a video feed of the real-time communication session includes the content associated with the first participant in the real-time communication session and a representation of the first participant.
72. Displaying the user interface element comprises:
72. The method of any one of claims 60 to 71, comprising displaying a segmented representation of the first participant without displaying a background of the first participant captured within a field of view of one or more camera sensors that includes the first participant.
73. 73. The method of claim 72, wherein displaying the user interface element comprises displaying the segmented representation of the first participant against a simulated background.
74. 74. The method of claim 73, wherein the simulated background occupies a first portion of the user interface of the real-time communication session and the segmented representation of the first participant occupies a second portion of the user interface of the real-time communication session that is not included in the first portion of the user interface of the real-time communication session.
75. 75. The method of any one of claims 72 to 74, wherein displaying the user interface element comprises displaying a shadow representation of the segmented representation of the first participant on the content associated with the first participant as a background of the segmented representation of the first participant.
76. 76. The method of any one of claims 60 to 75, wherein the representation of the first participant includes an avatar corresponding to a portion of the first participant.
77. receiving, via the display generation component, a request to add a second participant to the user interface element while displaying the user interface element within the real-time communication user interface; 77. The method of any one of claims 60 to 76, further comprising, in response to receiving the request to add a second participant, displaying via the display generation component a composite of the content associated with the first participant in the real-time communication session, a representation of the first participant in the user interface of the real-time communication session, and a representation of the second participant in the user interface of the real-time communication session.
78. Displaying the user interface element includes displaying the content associated with the first participant in a first content location within the real-time communication user interface, the method comprising: While displaying the user interface element and while a participant tracking mode is active, Detecting movement of the first participant from a first participant position to a second participant position different from the first participant position; 78. The method of any one of claims 60 to 77, further comprising, in response to detecting the movement of the first participant, displaying, via the display generation component, the content associated with the first participant in the real-time communication session at the first content position within the user interface element.
79. Displaying the user interface element includes displaying the content associated with the first participant in a first content location within the real-time communication user interface, the method comprising: While displaying the user interface element and while participant tracking mode is not active, Detecting movement of the first participant from a first participant position to a second participant position different from the first participant position; 79. The method of any one of claims 60 to 78, further comprising: in response to detecting the movement of the first participant, displaying the content associated with the first participant at a second content position relative to the representation of the first participant.
80. Displaying the user interface element includes displaying the content associated with the first participant in a first content location within the real-time communication user interface, the method comprising: While displaying the user interface element, Detecting a user input corresponding to a request to change the location of the content associated with the first participant; 80. The method of any one of claims 60 to 79, further comprising: in response to detecting the user input, displaying the content associated with the first participant in a second content location within the real-time communication user interface that is different from the first content location.
81. 81. The method of claim 80, wherein the second content location is a first predetermined position of a plurality of predetermined positions.
82. 81. The method of claim 80, wherein the second content location is defined by user input.
83. and displaying the representation of the first participant includes displaying a first portion of the representation of the first participant at a first location against a simulated background displayed at a separate location within the user interface of the real-time communication session, the method comprising: While displaying the user interface element and while a participant tracking mode is active, Detecting movement of the first participant from a first participant position to a second participant position different from the first participant position; 83. The method of any one of claims 60 to 82, further comprising, after detecting the movement of the first participant, displaying via the display generation component the first portion of the representation of the first participant at a first location relative to the simulated background.
84. 84. The method of claim 83, further comprising, in response to detecting the movement of the first participant, displaying, via the display generation component, the first portion of the representation of the first participant with the simulated background at the respective location within the user interface of the real-time communication session.
85. 85. The method of claim 83 or 84, further comprising, in response to detecting the movement of the first participant, displaying, via the display generation component, the first portion of the representation of the first participant at a second location relative to the simulated background that is different from the first location relative to the simulated background.
86. 86. The method of claim 85, further comprising, after displaying the first portion of the representation of the first participant at a second location against the simulated background, moving the first portion of the representation of the first participant to the first location against the simulated background.
87. 87. The method of any one of claims 60 to 86, wherein displaying the representation of the first participant comprises applying a mask to at least a portion of the representation of the first participant, displaying a first portion of the representation of the first participant at a first visibility, and displaying a second portion of the representation of the first participant that is different from the first portion of the representation of the first participant at a second visibility that is different from the first visibility.
88. 88. The method of claim 87, wherein the first portion of the representation of the first participant is displayed in a first vertical location within the user interface of the real-time communication session and the second portion of the representation of the first participant is displayed in a second vertical location within the user interface of the real-time communication session that is different from the first vertical location within the user interface of the real-time communication session.
89. 89. The method of claim 88, wherein the first visibility is greater than the second visibility.
90. The first portion of the representation of the first participant includes a representation of one or more hands of the first participant, and the method further comprises: displaying the representation of the one or more hands of the first participant having first hand visibility according to a determination that the one or more hands of the first participant are above the first participant's head; 90. The method of claim 89, further comprising: displaying the representation of the one or more hands of the first participant with a second hand visibility that is lower than a visibility of the first hand in accordance with a determination that the one or more hands of the first participant are under the head of the first participant.
91. 89. The method of claim 87 or 88, wherein applying the mask comprises displaying the representation of the first participant without reducing visibility of the representation of the first participant within a predetermined area.
92. 92. The method of claim 91 , wherein applying the mask comprises displaying a portion of the representation of the first participant outside the predetermined area with less visibility than the visibility of the representation of the first participant within the predetermined area.
93. Displaying the user interface element that is a composite of the content associated with the first participant and the representation of the first participant includes displaying the content associated with the first participant at a first size and displaying the representation of the first participant at a second size, the method comprising:
93. The method of any one of claims 60 to 92, comprising, in response to a request to change the layout of the composite, via the display generation component, enlarging an animation over time of the content associated with the first participant and reducing the size of the representation of the first participant, wherein displaying the animation comprises displaying the representation of the first participant in front of a simulated background.
94. Displaying the user interface element that is a composite of the content associated with the first participant and the representation of the first participant includes displaying the representation of the first participant in front of a simulated background, the simulated background occupying a first portion of the user interface element, and the method further comprising: Detecting movement of the person; 94. The method of any one of claims 60 to 93, further comprising: in response to detecting the movement of the person, displaying the representation of the first participant in front of the simulated background, the simulated background occupying a second portion of the user interface element that is different from the first portion of the user interface element.
95. 95. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of computer systems in communication with a display generation component, the first computer system being associated with a first participant, the one or more programs including instructions for performing the method of any one of claims 60 to 94.
96. a computer system in communication with a display generation component, one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, wherein the first computer system is associated with a first participant, and the one or more programs include instructions for performing the method of any one of claims 60 to 94.
97. a computer system in communication with a display generation component, the first computer system being associated with a first participant, the computer system comprising:
95. A computer system comprising means for carrying out the method of any one of claims 60 to 94.
98. 95. A computer program product comprising one or more programs configured to be executed by one or more processors of computer systems in communication with a display generation component, the first computer system being associated with a first participant, the one or more programs comprising instructions for performing the method of any one of claims 60 to 94.
99. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a first computer system in communication with a display generation component, the first computer system being associated with a first participant, the one or more programs comprising: displaying, via the display generation component, a user interface of a real-time communication session between the first computer system and one or more second computer systems; While displaying the user interface of the real-time communication session, an input is received requesting to share content associated with a first participant in the real-time communication session; 1. A non-transitory computer-readable storage medium comprising instructions for, in response to receiving the request to display the content associated with the first participant in the real-time communication session, displaying, via the display generation component, a user interface element within the user interface of the real-time communication session, the user interface element being a composite of the content associated with the first participant in the real-time communication session and a representation of the first participant within the user interface of the real-time communication session.
100. a first computer system in communication with a display generation component, the first computer system being associated with a first participant, the first computer system comprising: one or more processors; a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: displaying, via the display generation component, a user interface of a real-time communication session between the first computer system and one or more second computer systems; While displaying the user interface of the real-time communication session, an input is received requesting to share content associated with a first participant in the real-time communication session; A first computer system including instructions for, in response to receiving the request to display the content associated with the first participant in the real-time communication session, displaying, via the display generation component, a user interface element within the user interface of the real-time communication session, wherein the user interface element is a composite of the content associated with the first participant in the real-time communication session and a representation of the first participant within the user interface of the real-time communication session.
101. a first computer system in communication with a display generation component, the first computer system being associated with a first participant, the first computer system comprising: means for displaying, via the display generation component, a user interface of a real-time communication session between the first computer system and one or more second computer systems; While displaying the user interface of the real-time communication session, an input is received requesting to share content associated with a first participant in the real-time communication session; a display generating component configured to display a user interface element within the user interface of the real-time communication session in response to receiving the request to display the content associated with the first participant in the real-time communication session, wherein the user interface element is a composite of the content associated with the first participant in the real-time communication session and a representation of the first participant within the user interface of the real-time communication session.
102. 1. A computer program product including one or more programs configured to be executed by one or more processors of a first computer system in communication with a display generation component, the first computer system being associated with a first participant, the one or more programs comprising: displaying, via the display generation component, a user interface of a real-time communication session between the first computer system and one or more second computer systems; While displaying the user interface of the real-time communication session, an input is received requesting to share content associated with a first participant in the real-time communication session; 1. A computer program product comprising: instructions for, in response to receiving the request to display the content associated with the first participant in the real-time communication session, displaying, via the display generation component, a user interface element within the user interface of the real-time communication session, wherein the user interface element is a composite of the content associated with the first participant in the real-time communication session and a representation of the first participant within the user interface of the real-time communication session.
103. 1. A method comprising:
1. A computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, comprising: Detecting, via the one or more input devices, a first set of one or more inputs comprising a request to display a user interface of a first application; In response to detecting the first set of one or more inputs, displaying the user interface of the first application via the display generation component includes displaying a first representation of a field of view of the one or more camera sensors and graphical enhancements applied to the first representation of the field of view of the one or more camera sensors, wherein the displaying includes: displaying the graphical enhancement having a first characteristic in accordance with determining that a parameter associated with the graphical enhancement is set to a first value; displaying the user interface of the first application, including: displaying the first graphical enhancement having a second characteristic different from the first characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to a second value different from the first value; detecting, via the one or more input devices, a second set of one or more inputs comprising a request to display a user interface of a second application different from the first application; In response to detecting the second set of one or more inputs, displaying the user interface of the second application via the display generation component includes displaying a second representation of the field of view of the one or more camera sensors with the graphical enhancements, wherein the displaying: displaying the graphical enhancement having the first characteristic in accordance with determining that the parameter associated with the graphical enhancement is set to the first value; and displaying the user interface of the second application, including displaying the graphical enhancement having the second characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to the second value.
104. 104. The method of claim 103, wherein displaying the graphical enhancement includes displaying an animation effect.
105. 105. The method of claim 103 or 104, wherein the first set of one or more inputs comprises a first gesture of a first type performed by a part of a person within a field of view of the one or more camera sensors.
106. responsive to detecting the gesture, detecting a third set of one or more inputs corresponding to a request to disable display of the graphical enhancement; detecting a second gesture of the first type after detecting the third set of one or more inputs; and 106. The method of claim 105, further comprising: in response to detecting the second gesture, ceasing to display the graphical enhancement.
107. 107. The method of any one of claims 103 to 106, wherein displaying the graphical enhancement includes displaying a user interface element that is a composite of shared content and a representation of a first participant, the shared content being associated with the first participant, and the shared content and the representation of the first participant being displayed in a first mode.
108. While displaying the composite of the content associated with the first participant and the representation of the first participant via the display generation component, detecting a user input corresponding to a request to change how the shared content is displayed in the composite; 108. The method of claim 107, further comprising: displaying the shared content and the representation of the first participant in a second mode in response to detecting user input corresponding to a request to change how the shared content is displayed within the composite.
109. detecting, while displaying via the display generation component the composite of the content associated with the first participant and a representation of the first participant, a first user input corresponding to a request to change a location of the representation of the first participant within the composite; 109. The method of claim 107 or 108, further comprising: in response to detecting the first input corresponding to the request to change the location of the representation of the first participant within the composite, changing the location of the representation of the first participant within the composite.
110. 110. A method according to any one of claims 103 to 109, wherein the graphical enhancement comprises simulated lighting effects applied to objects within the field of view of the one or more camera sensors.
111. 111. The method of claim 110, wherein the parameter associated with the graphical enhancement includes an intensity of the simulated lighting effect, the first characteristic being a first intensity, and the second characteristic being a second intensity different from the first intensity.
112. 112. The method of claim 110 or 111, wherein the parameters associated with the graphical enhancement include a lighting mode of the simulated lighting effect, the first characteristic being a first lighting mode and the second characteristic being a second lighting mode different from the first lighting mode.
113. 113. The method of any one of claims 110 to 112, wherein the parameter associated with the graphical enhancement includes a color temperature of the simulated lighting effect, the first characteristic being a first color temperature, and the second characteristic being a second color temperature different from the first color temperature.
114. 114. The method of any one of claims 103 to 113, wherein the graphical enhancement comprises displaying an effect of widening the field of view of the one or more camera sensors applied to the first representation of the field of view of the one or more camera sensors and the second representation of the field of view of the one or more camera sensors.
115. 115. The method of claim 114, wherein the parameter associated with the graphical enhancement includes a level of magnification, the first characteristic being a first magnification and the second characteristic being a second magnification different from the first magnification.
116. 116. The method of any one of claims 103 to 115, wherein the graphical enhancement comprises simulating a camera tracking effect.
117. 117. The method of claim 116, wherein the parameter associated with the graphical enhancement is a portion of the field of view of the one or more camera sensors along which the camera tracking effect follows an object within the field of view of the one or more camera sensors, the first characteristic being a first portion of the field of view of the one or more camera sensors, and the second characteristic being a second portion of the field of view of the one or more camera sensors.
118. 118. The method of claim 116 or 117, wherein the parameter associated with the graphical enhancement is a sensitivity level of the camera tracking effect, the first characteristic is a first sensitivity level, and the second characteristic is a second sensitivity level different from the first sensitivity level.
119. 119. The method of any one of claims 116 to 118, wherein the graphical enhancement includes a graphical indication of which of the one or more camera sensors is providing the image data used in the first representation of the field of view of the one or more camera sensors.
120. 120. The method of any one of claims 103 to 119, wherein the graphical enhancement comprises applying a blur effect to a portion of the first representation of the field of view of the one or more camera sensors and a portion of the second representation of the field of view of the one or more camera sensors.
121. 121. The method of claim 120, wherein the parameter associated with the graphical enhancement includes a level of blurring, the first characteristic being a first level of blurring, and the second characteristic being a second level of blurring that is different from the first level of blurring.
122. detecting a third set of inputs corresponding to a menu interface, the menu interface being an operating system menu; 122. The method of any one of claims 103 to 121, further comprising: in response to detecting the third set of inputs, changing the parameter associated with the graphical enhancement from the first value to the second value.
123. The menu interface includes a third representation of the field of view of the one or more camera sensors, and the method further comprises:
123. The method of claim 122, further comprising, in response to detecting one or more inputs in the third set of inputs, displaying the third representation of the field of view of the one or more camera sensors with the graphical enhancement having the second characteristic.
124. 124. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, the one or more programs including instructions for performing the method of any one of claims 103 to 123.
125. 1. A computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 103 to 123.
126. 1. A computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, the computer system comprising: A computer system comprising means for carrying out the method of any one of claims 103 to 123.
127. 124. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, the one or more programs comprising instructions for performing the method of any one of claims 103 to 123.
128. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, the one or more programs comprising: Detecting a first set of one or more inputs via the one or more input devices, the first set including a request to display a user interface of a first application; In response to detecting the first set of one or more inputs, displaying the user interface of the first application via the display generation component includes displaying a first representation of a field of view of the one or more camera sensors and graphical enhancements applied to the first representation of the field of view of the one or more camera sensors, wherein the displaying includes: displaying the graphical enhancement having a first characteristic in accordance with determining that a parameter associated with the graphical enhancement is set to a first value; displaying the user interface of the first application, including: displaying the first graphical enhancement having a second characteristic different from the first characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to a second value different from the first value; detecting, via the one or more input devices, a second set of one or more inputs comprising a request to display a user interface of a second application different from the first application; In response to detecting the second set of one or more inputs, displaying the user interface of the second application via the display generation component includes displaying a second representation of the field of view of the one or more camera sensors with the graphical enhancements, wherein the displaying: displaying the graphical enhancement having the first characteristic in accordance with determining that the parameter associated with the graphical enhancement is set to the first value; and displaying the graphical enhancement having the second characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to the second value.
129. 1. A computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, the computer system comprising: one or more processors; a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: Detecting a first set of one or more inputs via the one or more input devices, the first set including a request to display a user interface of a first application; In response to detecting the first set of one or more inputs, displaying the user interface of the first application via the display generation component includes displaying a first representation of a field of view of the one or more camera sensors and graphical enhancements applied to the first representation of the field of view of the one or more camera sensors, wherein the displaying includes: displaying the graphical enhancement having a first characteristic in accordance with determining that a parameter associated with the graphical enhancement is set to a first value; displaying the user interface of the first application, including: displaying the first graphical enhancement having a second characteristic different from the first characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to a second value different from the first value; detecting, via the one or more input devices, a second set of one or more inputs comprising a request to display a user interface of a second application different from the first application; In response to detecting the second set of one or more inputs, displaying the user interface of the second application via the display generation component includes displaying a second representation of the field of view of the one or more camera sensors with the graphical enhancements, wherein the displaying: displaying the graphical enhancement having the first characteristic in accordance with determining that the parameter associated with the graphical enhancement is set to the first value; and displaying the graphical enhancement having the second characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to the second value.
130. 1. A computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, the computer system comprising: means for detecting, via the one or more input devices, a first set of one or more inputs comprising a request to display a user interface of a first application; In response to detecting the first set of one or more inputs, the means for displaying the user interface of the first application via the display generation component includes displaying a first representation of a field of view of the one or more camera sensors and graphical enhancements applied to the first representation of the field of view of the one or more camera sensors, the means for displaying comprising: means for displaying the graphical enhancement having a first characteristic in accordance with a determination that a parameter associated with the graphical enhancement is set to a first value; means for displaying the user interface of the first application, the means including: means for displaying the first graphical enhancement having a second characteristic different from the first characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to a second value different from the first value; means for detecting, via the one or more input devices, a second set of one or more inputs comprising a request to display a user interface of a second application different from the first application; In response to detecting the second set of one or more inputs, the means for displaying the user interface of the second application via the display generation component includes displaying a second representation of the field of view of the one or more camera sensors with the graphical enhancements, the means for displaying comprising: means for displaying the graphical enhancement having the first characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to the first value; and means for displaying the user interface of the second application, including means for displaying the graphical enhancement having the second characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to the second value.
131. 1. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, one or more input devices, and one or more camera sensors, the one or more programs comprising: Detecting a first set of one or more inputs via the one or more input devices, the first set including a request to display a user interface of a first application; In response to detecting the first set of one or more inputs, displaying the user interface of the first application via the display generation component includes displaying a first representation of a field of view of the one or more camera sensors and graphical enhancements applied to the first representation of the field of view of the one or more camera sensors, wherein the displaying includes: displaying the graphical enhancement having a first characteristic in accordance with determining that a parameter associated with the graphical enhancement is set to a first value; displaying the user interface of the first application, including: displaying the first graphical enhancement having a second characteristic different from the first characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to a second value different from the first value; detecting, via the one or more input devices, a second set of one or more inputs comprising a request to display a user interface of a second application different from the first application; In response to detecting the second set of one or more inputs, displaying the user interface of the second application via the display generation component includes displaying a second representation of the field of view of the one or more camera sensors with the graphical enhancements, wherein the displaying: displaying the graphical enhancement having the first characteristic in accordance with determining that the parameter associated with the graphical enhancement is set to the first value; and displaying the graphical enhancement having the second characteristic in accordance with a determination that the parameter associated with the graphical enhancement is set to the second value.
132. 1. A method comprising:
1. A computer system in communication with a display generation component and one or more camera sensors, comprising: while displaying a representation of the field of view of the one or more camera sensors via the display generation component; Detecting a subject at a first position; detecting an input corresponding to a request to frame the subject within the representation of the field of view of the one or more camera sensors while the subject is in the first position; responsive to detecting the input, framing the subject in a representation of a first portion of the field of view of the one or more camera sensors; Detecting movement of the subject from the first position to a second position; and maintaining a display of the representation of the first portion of the field of view of the one or more camera sensors in response to detecting the movement of the subject from the first position to the second position.
133. Detecting the subject includes detecting a face, and the method further comprises:
133. The method of claim 132, further comprising, in response to detecting the subject at the first position, displaying a graphical object indicating that a face has been detected.
134. 134. A method according to claim 132 or 133, wherein the input corresponding to the request to frame the subject comprises an input at a location corresponding to a location of the subject.
135. 135. A method according to any one of claims 132 to 134, wherein the input corresponding to the request to frame the subject comprises a selection of a framing user interface element.
136. Framing the subject in the representation of the first portion of the field of view of the one or more camera sensors includes: framing the subject in a representation of a second portion of the field of view of the one or more camera sensors in accordance with a determination that the face of the subject is at a first location; 136. The method of any one of claims 132 to 135, comprising: framing the subject in a representation of a third portion of the field of view of the one or more camera sensors that is different from the second portion in accordance with a determination that the face of the subject is at a second location that is different from the first location.
137. 137. The method of claim 136, wherein framing the subject in the representation of the first portion of the field of view of the one or more camera sensors comprises displaying the subject at the center of the representation of the first portion of the field of view of the one or more camera sensors.
138. 138. The method of claim 136 or 137, wherein framing the subject in the representation of the first portion of the field of view of the one or more camera sensors comprises changing a magnification level of the representation of the first portion of the field of view of the one or more camera sensors to display a representation of the subject's face at a predetermined size.
139. after framing the subject in the representation of the first portion of the field of view of the one or more camera sensors; detecting an input corresponding to a request to change the magnification of the representation of the field of view of the one or more camera sensors; in response to detecting the input corresponding to the request to change the magnification of the representation of the field of view of the one or more camera sensors; changing the magnification of the representation of the field of view of the one or more camera sensors; 139. The method of any one of claims 132 to 138, further comprising: framing the subject in a representation of a fourth portion of the field of view of the one or more camera sensors.
140. 140. The method of claim 139, wherein the input corresponding to the request to change the magnification of the frame of the subject corresponds to a selection of a magnification user interface element.
141. 141. The method of claim 139 or 140, wherein altering the magnification of the representation of the field of view of the one or more camera sensors includes displaying the subject's face at the center of the representation of the field of view of the one or more camera sensors.
142. and wherein the input corresponding to the request to change the magnification of the representation of the field of view of one or more camera sensors corresponds to a request to display the representation of the field of view of the one or more camera sensors at a default magnification, and the method further comprises:
142. A method according to any one of claims 139 to 141, further comprising, in response to detecting an input corresponding to the request to change the magnification of the representation of the field of view of one or more inputs, displaying the representation of the field of view of the one or more camera sensors without framing the subject.
143. displaying a reset user interface element in response to detecting the input corresponding to the request to frame the subject within the representation of the field of view of the one or more camera sensors; detecting an input corresponding to a selection of the reset user interface element; 143. The method of any one of claims 132 to 142, further comprising, in response to detecting the input corresponding to the selection of the reset user interface element, displaying the representation of the field of view of the one or more camera sensors without framing the subject.
144. after framing the subject in the representation of the first portion of the field of view of the one or more camera sensors; detecting an input corresponding to a request to change a camera angle of the representation of the field of view of the one or more camera sensors; in response to detecting the input corresponding to a request to change the camera angle; changing the camera angle of the representation of the field of view of the one or more camera sensors; 144. The method of any one of claims 132 to 143, further comprising: framing the subject with a representation of a second portion of the field of view of the one or more camera sensors.
145. 145. The method of any one of claims 132 to 144, wherein the input corresponding to the request to frame the subject comprises a selection in an operating system user interface.
146. 146. The method of any one of claims 132 to 145, further comprising displaying, via said display generation component, an indication of the current magnification level.
147. 147. The method of any one of claims 132 to 146, wherein framing the subject in the representation of the field of view of the one or more camera sensors comprises maintaining the physical field of view of the one or more camera sensors without moving the one or more camera sensors.
148. 148. The method of any one of claims 132 to 147, wherein the object is a first object of a plurality of objects detected within the field of view of the one or more camera sensors.
149. 149. The method of claim 148, wherein the first object is detected in the field of view of the one or more camera sensors before other objects of the plurality of objects.
150. 149. The method of claim 148, wherein the first object is closest to the center of the field of view of the one or more camera sensors.
151. 151. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more camera sensors, the one or more programs including instructions for performing the method of any one of claims 132 to 150.
152. A computer system in communication with a display generation component and one or more camera sensors, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 132 to 150.
153. A computer system in communication with a display generation component and one or more camera sensors, the computer system comprising:
151. A computer system comprising means for carrying out the method of any one of claims 132 to 150.
154. 151. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more camera sensors, the one or more programs comprising instructions for performing the method of any one of claims 132 to 150.
155. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more camera sensors, the one or more programs comprising: while displaying a representation of the field of view of the one or more camera sensors via the display generation component; Detecting the subject at the first position, detecting an input corresponding to a request to frame the subject within the representation of the field of view of the one or more camera sensors while the subject is in the first position; responsive to detecting the input, framing the subject in a representation of a first portion of the field of view of the one or more camera sensors; Detecting movement of the subject from the first position to a second position; a non-transitory computer-readable storage medium comprising instructions for maintaining a display of the representation of the first portion of the field of view of the one or more camera sensors in response to detecting the movement of the subject from the first position to the second position;
156. A computer system in communication with a display generation component and one or more camera sensors, the computer system comprising: one or more processors; a memory storing one or more programs configured to be executed by the one or more processors, the one or more processors while displaying a representation of the field of view of the one or more camera sensors via the display generation component; Detecting the subject at the first position, detecting an input corresponding to a request to frame the subject within the representation of the field of view of the one or more camera sensors while the subject is in the first position; responsive to detecting the input, framing the subject in a representation of a first portion of the field of view of the one or more camera sensors; Detecting movement of the subject from the first position to a second position; responsive to detecting the movement of the subject from the first position to the second position, maintaining a display of the representation of the first portion of the field of view of the one or more camera sensors.
157. A computer system in communication with a display generation component and one or more camera sensors, the computer system comprising: while displaying a representation of the field of view of the one or more camera sensors via the display generation component; Detecting the subject at the first position, detecting an input corresponding to a request to frame the subject within the representation of the field of view of the one or more camera sensors while the subject is in the first position; responsive to detecting the input, framing the subject in a representation of a first portion of the field of view of the one or more camera sensors; Detecting movement of the subject from the first position to a second position; means for maintaining a display of the representation of the first portion of the field of view of the one or more camera sensors in response to detecting the movement of the subject from the first position to the second position.
158. 1. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more camera sensors, the one or more programs comprising: while displaying a representation of the field of view of the one or more camera sensors via the display generation component; Detecting the subject at the first position, detecting an input corresponding to a request to frame the subject within the representation of the field of view of the one or more camera sensors while the subject is in the first position; responsive to detecting the input, framing the subject in a representation of a first portion of the field of view of the one or more camera sensors; Detecting movement of the subject from the first position to a second position; responsive to detecting the movement of the subject from the first position to the second position, maintaining a display of the representation of the first portion of the field of view of the one or more camera sensors.
159. 1. A method comprising: A computer system in communication with a display generation component and one or more input devices, comprising: detecting a request via the one or more input devices to display a user interface menu associated with the first content; and displaying the user interface menu via the display generation component in response to detecting the request to display the user interface menu, wherein the displaying comprises: pursuant to determining that a set of sharing option criteria is met and content is being shared during a real-time communication session, displaying a first set of one or more sharing user interface elements that, when selected, cause the first content to be included in the real-time communication session; and and displaying a second set of one or more sharing user interface elements that, when selected, causes the first content to be included in the real-time communication session in accordance with a determination that the set of sharing option criteria is met and that content is not being shared during the real-time communication session, wherein the first set of one or more sharing user interface elements is different from the second set of one or more sharing user interface elements.
160. Displaying the user interface menu includes displaying a first shared user interface element, and the method further comprises: while said computer system is in a real-time communication session; detecting, via the one or more input devices, an input corresponding to a selection of the first shared user interface element; 160. The method of claim 159, further comprising: sharing the first content during the real-time communication session in response to detecting the input corresponding to a selection of the first sharing user interface element.
161. wherein displaying the first set of one or more shared user interface elements includes displaying a second shared user interface element, the method further comprising: detecting, while the computer system is in a real-time communication session and second content is being shared during the real-time communication session, an input via the one or more input devices corresponding to a selection of the second shared user interface element; 161. The method of claim 159 or 160, further comprising: sharing the first content during the real-time communication session and removing the second content from the real-time communication session in response to detecting the input corresponding to a selection of the second sharing user interface element.
162. 162. The method of any one of claims 159 to 161, wherein the set of sharing option criteria requires that a real-time communication session be active on the computer system.
163. 163. The method of any one of claims 159 to 162, wherein detecting the request to display the user interface menu comprises detecting a selection of a first user interface element within a user interface that includes the first content.
164. The request to display the user interface menu includes a first type of input corresponding to the first user interface element, and the method further comprises: detecting, while displaying the first user interface element, an input of a second type corresponding to the first user interface element via the one or more input devices; 164. The method of claim 163, further comprising: in response to detecting the input of the second type corresponding to the first user interface element, enlarging a display of the first content.
165. 165. The method of claim 164, wherein displaying the menu user interface includes displaying a set of display configuration user interface elements that, when selected, cause the first content to be displayed in a respective configuration.
166. while said computer system is in a real-time communication session; detecting, via the one or more input devices, a set of one or more inputs corresponding to a request to display a system level menu; in response to detecting the set of one or more inputs corresponding to a request to display the system-level menu, via the display generation component; a set of one or more system-level control user interface elements corresponding to each system-level control; a third shared user interface element; and detecting, via the one or more input devices, an input corresponding to a selection of the third shared user interface element; 166. The method of any one of claims 159 to 165, further comprising: sharing the first content during the real-time communication session in response to detecting the input corresponding to a selection of the fourth sharing user interface element.
167. while said computer system is in a real-time communication session; displaying a user interface of the real-time communication session via the display generation component; and detecting a set of one or more inputs directed to the user interface of the real-time communication session via the one or more input devices while displaying the user interface of the real-time communication session; 167. The method of any one of claims 159 to 166, further comprising: sharing the first content during the real-time communication session in response to detecting the set of one or more inputs directed to the user interface of the real-time communication session.
168. detecting, while the computer system is in a real-time communication session and while second content is being shared during the real-time communication session, a selection of third content via the one or more input devices; 168. The method of any one of claims 159 to 167, further comprising: in response to detecting the selection of the third content, maintaining sharing of the second content within the real-time communication session.
169. 169. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for performing the method of any one of claims 159 to 168.
170. 1. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 159 to 168.
171. 1. A computer system in communication with a display generation component and one or more input devices, the computer system comprising:
169. A computer system comprising means for carrying out the method of any one of claims 159 to 168.
172. 169. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for performing the method of any one of claims 159 to 168.
173. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising: detecting a request via the one or more input devices to display a user interface menu associated with the first content; a non-transitory computer-readable storage medium comprising instructions for, in response to detecting the request to display the user interface menu, displaying the user interface menu via the display generation component, the displaying comprising: pursuant to determining that a set of sharing option criteria is met and content is being shared during a real-time communication session, displaying a first set of one or more sharing user interface elements that, when selected, cause the first content to be included in the real-time communication session; and and displaying a second set of one or more sharing user interface elements that, when selected, causes the first content to be included in the real-time communication session in accordance with a determination that the set of sharing option criteria is met and content is not being shared during the real-time communication session, wherein the first set of one or more sharing user interface elements is different from the second set of one or more sharing user interface elements.
174. 1. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; a memory storing one or more programs configured to be executed by the one or more processors, the one or more processors detecting a request via the one or more input devices to display a user interface menu associated with the first content; responsive to detecting the request to display the user interface menu, displaying the user interface menu via the display generation component, the displaying comprising: pursuant to determining that a set of sharing option criteria is met and content is being shared during a real-time communication session, displaying a first set of one or more sharing user interface elements that, when selected, cause the first content to be included in the real-time communication session; and and displaying a second set of one or more sharing user interface elements that, when selected, causes the first content to be included in the real-time communication session in accordance with a determination that the set of sharing option criteria is met and that content is not being shared during the real-time communication session, wherein the first set of one or more sharing user interface elements is different from the second set of one or more sharing user interface elements.
175. 1. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means for detecting, via the one or more input devices, a request to display a user interface menu associated with the first content; means for displaying the user interface menu via the display generation component in response to detecting the request to display the user interface menu, wherein the displaying comprises: pursuant to determining that a set of sharing option criteria is met and content is being shared during a real-time communication session, displaying a first set of one or more sharing user interface elements that, when selected, cause the first content to be included in the real-time communication session; and and displaying a second set of one or more sharing user interface elements that, when selected, causes the first content to be included in the real-time communication session in accordance with a determination that the set of sharing option criteria is met and that content is not being shared during the real-time communication session, wherein the first set of one or more sharing user interface elements is different from the second set of one or more sharing user interface elements.
176. 1. A computer program product including one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising: detecting a request via the one or more input devices to display a user interface menu associated with the first content; responsive to detecting the request to display the user interface menu, displaying the user interface menu via the display generation component, the displaying comprising: pursuant to determining that a set of sharing option criteria is met and content is being shared during a real-time communication session, displaying a first set of one or more sharing user interface elements that, when selected, cause the first content to be included in the real-time communication session; and and displaying a second set of one or more sharing user interface elements that, when selected, causes the first content to be included in the real-time communication session in accordance with a determination that the set of sharing option criteria is met and content is not being shared during the real-time communication session, wherein the first set of one or more sharing user interface elements is different from the second set of one or more sharing user interface elements.
Citation Information
Patent Citations
Live broadcast interaction method and related equipment
CN113329234A
Video display system, video display method, video display control program and action information transmission program
JP2013021466A
Enhanced camera-based input
JP2016194948A
Human body gesture-based region and volume selection for hmd
JP2016514298A
Creative camera
JP2021051757A