Real-time communication user interface

Through simplified user interface and multi-protocol selection, the complex and time-consuming problem of real-time communication session management in the prior art is solved, and more efficient communication management and equipment energy saving is achieved.

CN117527739BActive Publication Date: 2025-07-11APPLE INC
View PDF 18 Cites 0 Cited by

Patent Information

Application Number
CN202311753064.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-05-09
Filing Date
2022-05-13
Publication Date
2025-07-11
Estimated Expiration
2042-05-13

AI Technical Summary

Technical Problem

The prior art has complex and time-consuming user interfaces when managing real-time communication sessions, resulting in wasting user time and device energy, especially in battery-driven devices.

Method used

Provides a simplified user interface that allows users to select links to real-time communication sessions by displaying interactions between generator components and input devices, and provides multiple sharing options, including the choice of different communication protocols, reducing user input and improving security.

Benefits of technology

Faster and more efficient real-time communication session management is achieved, reducing cognitive burden, saving device power, extending battery life, and improving the security of electronic devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117527739B_ABST
    Figure CN117527739B_ABST
Patent Text Reader

Abstract

The present disclosure relates to real-time communication user interfaces. In some embodiments, a computer system displays multiple selectable options for sharing links to a real-time communication session via multiple respective communication protocols. In some embodiments, the computer system displays selectable user interface elements corresponding to links to a real-time communication session, which, when selected via user input, initiate a process for sending the link to the user and display a user interface for participating in the real-time communication session with the user. In some embodiments, the computer system displays a visual representation of a user attempting to join a real-time communication session, the visual representation including an option selectable to determine whether to allow the user to participate in the real-time communication session.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Divisional Application Statement

[0002] This application is a divisional application of a patent application for an invention titled "Real-Time Communication User Interface" with PCT international application number PCT / US2022 / 029273, international filing date May 13, 2022, and China national stage application number 202280034909.1.

[0003] Cross - Reference to Related Applications

[0004] This application claims priority to U.S. Patent Application Serial No. 17 / 740,104, titled "REAL-TIME COMMUNICATION USER INTERFACE", filed on May 9, 2022, and U.S. Provisional Patent Application Serial No. 63 / 189,081, titled "REAL-TIME COMMUNICATION USER INTERFACE", filed on May 15, 2021, the content of each of these patent applications being hereby incorporated by reference in its entirety. Technical Field

[0005] This disclosure generally relates to computer user interfaces, and more particularly to techniques for managing real-time communication sessions. Background Art

[0006] Electronic devices include cameras and microphones that enable users to communicate with each other in real time via audio and / or video. Additionally, the electronic devices display a user interface that enables a user to select one or more participants to engage in the real-time communication. Summary of the Invention

[0007] However, some techniques for using an electronic device to manage a real-time communication session are generally cumbersome and inefficient. For example, some prior art uses complex and time-consuming user interfaces that may include multiple button presses or keystrokes. The prior art takes more time than necessary, which results in wasted user time and device energy. This latter consideration is particularly important in battery-powered devices.

[0008] Accordingly, the techniques of the present invention provide faster and more efficient methods and interfaces for managing real-time communication sessions in an electronic device. Such methods and interfaces optionally supplement or replace other methods for managing real-time communication sessions. Such methods and interfaces reduce the cognitive burden imposed on the user and result in a more effective human-machine interface. Such methods and interfaces enable a user to invite participants to a real-time communication session via multiple communication protocols. Additionally, such methods and interfaces facilitate the creation and joining of real-time communication sessions. Further, such methods and interfaces enhance the security of the electronic device by restricting access and / or functionality of certain users. For battery-powered computing devices, such methods and interfaces conserve power and increase the time interval between battery charges.

[0009] According to some embodiments, a method is described. The method is performed at a computer system in communication with a display generation component and one or more input devices. The method includes: displaying, via the display generation component, a user interface of a real-time communication application, the user interface including a user-interactive graphical user interface element corresponding to a link to a real-time communication session; receiving, via the one or more input devices, user input corresponding to a selection of the user-interactive graphical user interface element; and in response to receiving the user input: initiating a process for sharing the link to the real-time communication session, wherein the process for sharing the link to the real-time communication session includes displaying, via the display generation component, a sharing user interface, the sharing user interface including a plurality of selectable options for sharing the link to the real-time communication session, including simultaneously displaying: a first selectable option for sharing the link to the real-time communication session via a first communication protocol; and a second selectable option for sharing the link to the real-time communication session via a second communication protocol different from the first communication protocol.

[0010] 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 that communicates with a display generation component and one or more input devices, the one or more programs including instructions for: displaying, via the display generation component, a user interface of a real-time communication application, the user interface including user-interactive graphical user interface elements corresponding to links to real-time communication sessions; receiving, via the one or more input devices, user input corresponding to a selection of a user-interactive graphical user interface element; and in response to receiving the user input: initiating a process for sharing a link to a real-time communication session, wherein the process for sharing a link to a real-time communication session includes displaying, via the display generation component, a sharing user interface, the sharing user interface including a plurality of optional options for sharing a link to a real-time communication session, including simultaneously displaying: a first optional option for sharing a link to a real-time communication session via a first communication protocol; and a second optional option for sharing a link to a real-time communication session via a second communication protocol different from the first communication protocol.

[0011] According to some embodiments, a transitory computer-readable storage medium is described. The transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system that communicates with a display generation component and one or more input devices, the one or more programs including instructions for: displaying, via the display generation component, a user interface of a real-time communication application, the user interface including user-interactive graphical user interface elements corresponding to links to real-time communication sessions; receiving, via the one or more input devices, user input corresponding to a selection of a user-interactive graphical user interface element; and in response to receiving the user input: initiating a process for sharing a link to a real-time communication session, wherein the process for sharing a link to a real-time communication session includes displaying, via the display generation component, a sharing user interface, the sharing user interface including a plurality of optional options for sharing a link to a real-time communication session, including simultaneously displaying: a first optional option for sharing a link to a real-time communication session via a first communication protocol; and a second optional option for sharing a link to a real-time communication session via a second communication protocol different from the first communication protocol.

[0012] According to some embodiments, a computer system is described. The computer system communicates with a display generation component and one or more input devices. The computer system includes: 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 application, the user interface including user-interactive graphical user interface elements corresponding to links to real-time communication sessions; receiving, via the one or more input devices, user input corresponding to a selection of a user-interactive graphical user interface element; and in response to receiving the user input: initiating a process for sharing a link to a real-time communication session, wherein the process for sharing a link to a real-time communication session includes displaying, via the display generation component, a sharing user interface, the sharing user interface including multiple optional options for sharing a link to a real-time communication session, including simultaneously displaying: a first optional option for sharing a link to a real-time communication session via a first communication protocol; and a second optional option for sharing a link to a real-time communication session via a second communication protocol different from the first communication protocol.

[0013] According to some embodiments, a computer system is described. The computer system communicates with a display generation component and one or more input devices. The computer system includes: means for displaying, via the display generation component, a user interface of a real-time communication application, the user interface including user-interactive graphical user interface elements corresponding to links to real-time communication sessions; means for receiving, via the one or more input devices, user input corresponding to a selection of a user-interactive graphical user interface element; and means for, in response to receiving the user input, performing the following operations: initiating a process for sharing a link to a real-time communication session, wherein the process for sharing a link to a real-time communication session includes displaying, via the display generation component, a sharing user interface, the sharing user interface including multiple optional options for sharing a link to a real-time communication session, including simultaneously displaying: a first optional option for sharing a link to a real-time communication session via a first communication protocol; and a second optional option for sharing a link to a real-time communication session via a second communication protocol different from the first communication protocol.

[0014] 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 that communicates with a display generation component and one or more input devices. The one or more programs include instructions for: displaying, via the display generation component, a user interface of a real-time communication application, the user interface including user-interactive graphical user interface elements corresponding to links to real-time communication sessions; receiving, via the one or more input devices, user input corresponding to a selection of a user-interactive graphical user interface element; and in response to receiving the user input: initiating a process for sharing a link to a real-time communication session, wherein the process for sharing a link to a real-time communication session includes displaying, via the display generation component, a sharing user interface, the sharing user interface including a plurality of optional options for sharing a link to a real-time communication session, including simultaneously displaying: a first optional option for sharing a link to a real-time communication session via a first communication protocol; and a second optional option for sharing a link to a real-time communication session via a second communication protocol different from the first communication protocol.

[0015] According to some embodiments, a method is described. The method is performed at a computer system that communicates with a display generation component and one or more input devices. The method includes: detecting, via the one or more input devices, one or more first user inputs corresponding to a selection of a user to be invited to a real-time communication session; after detecting the one or more first user inputs, simultaneously displaying, via the display generation component: optional user interface elements corresponding to links to real-time communication sessions; and a visual indication of the user; while simultaneously displaying the optional user interface elements and the visual indication of the user, detecting, via the one or more input devices, a second user input corresponding to a selection of an optional user interface element; and in response to detecting the second user input: initiating a process for sending a link to the user; and displaying a user interface for participating in a real-time communication session with the user.

[0016] 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 that communicates with a display generation component and one or more input devices, the one or more programs including instructions for: detecting, via the one or more input devices, one or more first user inputs corresponding to a selection of a user to be invited to a real-time communication session; after detecting the one or more first user inputs, simultaneously displaying, via the display generation component: an optional user interface element corresponding to a link to the real-time communication session; and a visual indication of the user; while simultaneously displaying the optional user interface element and the visual indication of the user, detecting, via the one or more input devices, a second user input corresponding to a selection of the optional user interface element; and in response to detecting the second user input: initiating a process for sending the link to the user; and displaying a user interface for participating in the real-time communication session with the user.

[0017] According to some embodiments, a transitory computer-readable storage medium is described. The transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system that communicates with a display generation component and one or more input devices, the one or more programs including instructions for: detecting, via the one or more input devices, one or more first user inputs corresponding to a selection of a user to be invited to a real-time communication session; after detecting the one or more first user inputs, simultaneously displaying, via the display generation component: an optional user interface element corresponding to a link to the real-time communication session; and a visual indication of the user; while simultaneously displaying the optional user interface element and the visual indication of the user, detecting, via the one or more input devices, a second user input corresponding to a selection of the optional user interface element; and in response to detecting the second user input: initiating a process for sending the link to the user; and displaying a user interface for participating in the real-time communication session with the user.

[0018] According to some embodiments, a computer system is described. The computer system communicates with a display generation component and one or more input devices. The computer system includes: 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: detecting, via the one or more input devices, one or more first user inputs corresponding to a selection of a user to be invited to a real-time communication session; after detecting the one or more first user inputs, simultaneously displaying, via the display generation component: an optional user interface element corresponding to a link to the real-time communication session; and a visual indication of the user; while simultaneously displaying the optional user interface element and the visual indication of the user, detecting, via the one or more input devices, a second user input corresponding to a selection of the optional user interface element; and in response to detecting the second user input: initiating a process for sending the link to the user; and displaying a user interface for participating in the real-time communication session with the user.

[0019] According to some embodiments, a computer system is described. The computer system communicates with a display generation component and one or more input devices. The computer system includes: means for detecting, via the one or more input devices, one or more first user inputs corresponding to a selection of a user to be invited to a real-time communication session; means for performing the following operations: after detecting the one or more first user inputs, simultaneously displaying, via the display generation component: an optional user interface element corresponding to a link to the real-time communication session; and a visual indication of the user; means for performing the following operations: while simultaneously displaying the optional user interface element and the visual indication of the user, detecting, via the one or more input devices, a second user input corresponding to a selection of the optional user interface element; and means for performing the following operations: in response to detecting the second user input: initiating a process for sending the link to the user; and displaying a user interface for participating in the real-time communication session with the user.

[0020] 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 that communicates 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, one or more first user inputs corresponding to a selection of a user to be invited to a real-time communication session; after detecting the one or more first user inputs, simultaneously displaying, via the display generation component: an optional user interface element corresponding to a link to the real-time communication session; and a visual indication of the user; while simultaneously displaying the optional user interface element and the visual indication of the user, detecting, via the one or more input devices, a second user input corresponding to a selection of the optional user interface element; and in response to detecting the second user input: initiating a process for sending the link to the user; and displaying a user interface for participating in the real-time communication session with the user.

[0021] According to some embodiments, a method is described. The method is performed at a computer system that communicates with a display generation component and one or more input devices. The method includes: when a computer system displays, via the display generation component, a user interface including a visual representation of an active real-time communication session of a first user, a second user different from the first user attempts to join the real-time communication; and after the second user attempts to join the real-time communication session, displaying, in the user interface, a visual representation of the second user's attempt to join the real-time communication session, wherein displaying the visual representation of the second user's attempt to join the real-time communication session includes: according to a determination that one or more criteria have been met, wherein the one or more criteria include that the identity of the second user has not been verified as an invitee to the real-time communication session to meet the requirements of the one or more criteria, the visual representation of the second user's attempt to join the real-time communication session includes an option that can be selected to determine whether to allow the second user to participate in the real-time communication session; and according to a determination that the identity of the second user has been verified as an invitee to the real-time communication session, the visual representation of the second user's attempt to join the real-time communication session includes a representation of the second user, which is displayed without displaying an option that can be selected to determine whether to allow the second user to participate in the real-time communication session.

[0022] 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 that communicates with a display generation component and one or more input devices, the one or more programs including instructions for: when the computer system displays, via the display generation component, a user interface including a visual representation of an active real-time communication session of a first user, a second user different from the first user attempts to join the real-time communication; and after the second user attempts to join the real-time communication session, display, in the user interface, a visual representation of the second user's attempt to join the real-time communication session, wherein displaying the visual representation of the second user's attempt to join the real-time communication session includes: according to determining that one or more criteria have been met, wherein the one or more criteria include that the identity of the second user has not been verified as an invitee of the real-time communication session to meet the requirements of the one or more criteria, the visual representation of the second user's attempt to join the real-time communication session includes an option that can be selected to determine whether to allow the second user to participate in the real-time communication session; and according to determining that the identity of the second user has been verified as an invitee of the real-time communication session, the visual representation of the second user's attempt to join the real-time communication session includes a representation of the second user that is displayed without displaying an option that can be selected to determine whether to allow the second user to participate in the real-time communication session.

[0023] According to some embodiments, a transitory computer-readable storage medium is described. The transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system that communicates with a display generation component and one or more input devices, the one or more programs including instructions for: when the computer system displays, via the display generation component, a user interface including a visual representation of an active real-time communication session of a first user, a second user different from the first user attempts to join the real-time communication; and after the second user attempts to join the real-time communication session, display, in the user interface, a visual representation of the second user's attempt to join the real-time communication session, wherein displaying the visual representation of the second user's attempt to join the real-time communication session includes: according to determining that one or more criteria have been met, wherein the one or more criteria include that the identity of the second user has not been verified as an invitee of the real-time communication session to meet the requirements of the one or more criteria, the visual representation of the second user's attempt to join the real-time communication session includes an option that can be selected to determine whether to allow the second user to participate in the real-time communication session; and according to determining that the identity of the second user has been verified as an invitee of the real-time communication session, the visual representation of the second user's attempt to join the real-time communication session includes a representation of the second user that is displayed without displaying an option that can be selected to determine whether to allow the second user to participate in the real-time communication session.

[0024] According to some embodiments, a computer system is described. The computer system communicates with a display generation component and one or more input devices. The computer system includes: 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: when the computer system displays, via the display generation component, a user interface including a visual representation of an active real-time communication session of a first user, a second user different from the first user attempts to join the real-time communication; and after the second user attempts to join the real-time communication session, displaying, in the user interface, a visual representation of the second user's attempt to join the real-time communication session, wherein displaying the visual representation of the second user's attempt to join the real-time communication session includes: based on determining that one or more criteria have been met, wherein the one or more criteria include that the identity of the second user has not been verified as an invitee of the real-time communication session to meet the requirements of the one or more criteria, the visual representation of the second user's attempt to join the real-time communication session includes an option selectable to determine whether to allow the second user to participate in the real-time communication session; and based on determining that the identity of the second user has been verified as an invitee of the real-time communication session, the visual representation of the second user's attempt to join the real-time communication session includes a representation of the second user, the representation of the second user being displayed without displaying an option selectable to determine whether to allow the second user to participate in the real-time communication session.

[0025] According to some embodiments, a computer system is described. The computer system communicates with a display generation component and one or more input devices. The computer system includes: means for performing the following operations: when the computer system displays, via the display generation component, a user interface including a visual representation of an active real-time communication session of a first user, a second user different from the first user attempts to join the real-time communication; and means for performing the following operations: after the second user attempts to join the real-time communication session, displaying, in the user interface, a visual representation of the second user's attempt to join the real-time communication session, wherein displaying the visual representation of the second user's attempt to join the real-time communication session includes: based on determining that one or more criteria have been met, wherein the one or more criteria include that the identity of the second user has not been verified as an invitee of the real-time communication session to meet the requirements of the one or more criteria, the visual representation of the second user's attempt to join the real-time communication session includes an option selectable to determine whether to allow the second user to participate in the real-time communication session; and based on determining that the identity of the second user has been verified as an invitee of the real-time communication session, the visual representation of the second user's attempt to join the real-time communication session includes a representation of the second user, the representation of the second user being displayed without displaying an option selectable to determine whether to allow the second user to participate in the real-time communication session.

[0026] 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 that communicates with a display generation component and one or more input devices, the one or more programs including instructions for: when the computer system displays, via the display generation component, a user interface including a visual representation of an active real-time communication session of a first user, a second user different from the first user attempts to join the real-time communication; and after the second user attempts to join the real-time communication session, display, in the user interface, a visual representation of the second user's attempt to join the real-time communication session, wherein displaying the visual representation of the second user's attempt to join the real-time communication session includes: according to determining that one or more criteria have been met, wherein the one or more criteria include that the identity of the second user has not been verified as an invitee of the real-time communication session to meet the requirements of the one or more criteria, the visual representation of the second user's attempt to join the real-time communication session includes an option selectable to determine whether to allow the second user to participate in the real-time communication session; and according to determining that the identity of the second user has been verified as an invitee of the real-time communication session, the visual representation of the second user's attempt to join the real-time communication session includes a representation of the second user, and the representation of the second user is displayed without displaying an option selectable to determine whether to allow the second user to participate in the real-time communication session.

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

[0028] Accordingly, a faster and more efficient method and interface for managing real-time communication sessions are provided for a device, thereby improving the effectiveness, efficiency, and user satisfaction of such a device. Such methods and interfaces may supplement or replace other methods for managing real-time communication sessions. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] To better understand the various described embodiments, reference should be made to the following detailed description in conjunction with the following drawings, in which like reference numerals indicate corresponding parts in all the drawings.

[0030] Figure 1A is a block diagram showing a portable multifunctional device having a touch-sensitive display according to some embodiments.

[0031] Figure 1B is a block diagram showing exemplary components for event handling according to some embodiments.

[0032] Figure 2Shows a portable multifunctional device with a touch screen according to some embodiments.

[0033] Figure 3 Is a block diagram of an exemplary multifunctional device having a display and a touch-sensitive surface according to some embodiments.

[0034] Figure 4A Shows an exemplary user interface for a menu of an application on a portable multifunctional device according to some embodiments.

[0035] Figure 4B Shows an exemplary user interface for a multifunctional device having a touch-sensitive surface separate from the display according to some embodiments.

[0036] Figure 5A Shows a personal electronic device according to some embodiments.

[0037] Figure 5B Is a block diagram showing a personal electronic device according to some embodiments.

[0038] Figure 5C Shows an exemplary diagram of a communication session between electronic devices according to some embodiments.

[0039] Figures 6A to 6V Shows an exemplary user interface for creating and / or sharing a link to a real-time communication session according to some embodiments.

[0040] Figures 7A to 7H Is a flowchart showing a method for sharing a link to a real-time communication session according to some embodiments.

[0041] Figures 8A to 8G Is a flowchart showing a method for inviting participants to a real-time communication session and joining a real-time communication session according to some embodiments.

[0042] Figures 9A to 9H Shows an exemplary user interface for joining a real-time communication session according to some embodiments.

[0043] Figure 10 Is a flowchart showing a method for allowing participants to join a real-time communication session according to some embodiments. Detailed Description

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

[0045] An electronic device is needed that provides effective methods and interfaces for managing real-time communication sessions. For example, an electronic device is needed that facilitates creating a link to a real-time communication session and provides multiple sharing options for sharing the link to the real-time communication session. Another example is an electronic device that facilitates the ability of a user to invite participants to a real-time communication session. In addition, an electronic device is needed that can restrict certain users from joining a real-time communication session and provides the ability for a user to authorize and / or deny access to a real-time communication session. Such technologies can reduce the cognitive burden on users participating in and / or hosting real-time communication sessions, thereby increasing productivity. In addition, such technologies can reduce the processor power and battery power that would otherwise be wasted on redundant user input.

[0046] Below Figures 1A to 1B 、 Figure 2 、 Figure 3 、 Figures 4A to 4B and Figures 5A to 5C A description is provided of an exemplary device for techniques for performing management event notifications. Figures 6A to 6V An exemplary user interface for creating and / or sharing a link to a real-time communication session is shown. Figures 7A to 7H is a flowchart showing a method for sharing a link to a real-time communication session according to some embodiments. Figures 8A to 8G is a flowchart showing a method for inviting participants to a real-time communication session and joining the real-time communication session. Figures 6A to 6V The user interface in is used to show the processes described below, including Figures 7A to 7H and Figures 8A to 8G the processes in. Figures 9A to 9H An exemplary user interface for joining a real-time communication session is shown. Figure 10 is a flowchart showing a method for allowing a participant to join a real-time communication session according to some embodiments. Figures 9A to 9H The user interface in is used to show the processes described below, including Figure 10 the processes in.

[0047] In addition, in a method where one or more of the steps described herein depend on one or more conditions being met, it should be understood that the method can be repeated in multiple iterations such that, during the repetitions, all the conditions that determine the steps in the method are met in different repetitions of the method. For example, if a method requires performing a first step (if a condition is met) and a second step (if the condition is not met), one of ordinary skill in the art will know to repeat the stated steps until both the condition being met and the condition not being met (in no particular order) occur. Thus, a method described as having one or more steps that depend on one or more conditions being met can be rewritten as a method that repeats until each condition described in the method is met. However, this does not require the system or computer-readable medium to state that the system or computer-readable medium contains instructions for performing conditional operations based on the satisfaction of the corresponding one or more conditions and is thus capable of determining whether the possible scenarios have been met without explicitly repeating the steps of the method until all the conditions that determine the steps in the method are met. One of ordinary skill in the art will also understand that, similar to a method with conditional steps, a system or computer-readable storage medium can repeat the steps of the method as many times as needed to ensure that all conditional steps have been performed.

[0048] Although the following description uses the terms "first", "second", etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first touch could be named a second touch and similarly a second touch could be named a first touch without departing from the scope of the various described embodiments. Both the first touch and the second touch are touches, but they are not the same touch.

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

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

[0051] Embodiments of electronic devices, user interfaces for such devices, and associated processes of using such devices are described herein. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions such as PDA and / or music player functions. Exemplary embodiments of the portable multifunction device include, but are not limited to, devices from Apple Inc. (Cupertino, California), devices, iPod devices, and devices. Other portable electronic devices, such as a laptop or tablet computer having a touch-sensitive surface (e.g., a touch screen display and / or a touchpad), may optionally be 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 touch screen display and / or a touchpad). In some embodiments, the electronic device is a computer system that communicates (e.g., via wireless communication, via wired communication) with a display generation component. The display generation component is configured to provide a visual output, such as a display via a CRT monitor, a display via an LED monitor, or a display via image projection. In some embodiments, the display 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 a 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 produce the content.

[0052] In the following discussion, an electronic device including a display and a touch-sensitive surface is described. However, it should be understood that the electronic device optionally includes one or more other physical user interface devices, such as a physical keyboard, a mouse, and / or a joystick.

[0053] The device generally supports a variety of applications, such as one or more of the following: drawing applications, presentation applications, word processing applications, website creation applications, disk editing applications, spreadsheet applications, game applications, telephone applications, video conferencing applications, email applications, instant messaging applications, fitness support applications, photo management applications, digital camera applications, digital video camera applications, web browsing applications, digital music player applications, and / or digital video player applications.

[0054] The various applications executed on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and the corresponding information displayed on the device are optionally adjusted and / or varied for different applications, and / or within the respective applications. Thus, a common physical architecture of the device (such as a touch-sensitive surface) optionally supports a variety of applications with a user interface that is intuitive and clear to the user.

[0055] Attention is now turned to an embodiment of a portable device having a touch-sensitive display. Figure 1A FIG. is a block diagram of a portable multifunctional device 100 having a touch-sensitive display system 112 in accordance with some embodiments. The touch-sensitive display 112 is sometimes called a "touch screen" for convenience and is sometimes referred to as or called a "touch-sensitive display system". The device 100 includes a memory 102 (which optionally includes one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral device interface 118, an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input control devices 116, and an external port 124. The device 100 optionally includes one or more optical sensors 164. The device 100 optionally includes one or more contact intensity sensors 165 for detecting the intensity of a contact on the device 100 (e.g., a touch-sensitive surface such as the touch-sensitive display system 112 of the device 100). The device 100 optionally includes one or more tactile output generators 167 for generating a tactile output on the device 100 (e.g., generating a tactile output on a touch-sensitive surface such as the touch-sensitive display system 112 of the device 100 or the touchpad 355 of the device 300). These components optionally communicate via one or more communication buses or signal lines 103.

[0056] As used in this specification and the claims, the "intensity" of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or to a surrogate 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 different values and more typically includes hundreds of different values (e.g., at least 256). The intensity of a contact is optionally determined (or measured) using a variety of methods and a variety of sensors or combinations of sensors. For example, one or more force sensors beneath or adjacent to the touch-sensitive surface are optionally used to measure the force at different points on the touch-sensitive surface. In some embodiments, force measurements from multiple force sensors are combined (e.g., weighted averaged) to determine the estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size and / or change in size of the contact area detected on the touch-sensitive surface, the capacitance and / or change in capacitance of the touch-sensitive surface near the contact, and / or the resistance and / or change in resistance of the touch-sensitive surface near the contact are optionally used as surrogates for the force or pressure of a contact on the touch-sensitive surface. In some embodiments, the surrogate measurements of contact force or pressure are used directly to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the surrogate measurements). In some embodiments, the surrogate measurements of contact force or pressure are converted to an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of a contact as an attribute of user input allows a user to access additional device functions that would otherwise be inaccessible on a smaller device with limited footprint, the smaller device being used to (e.g., on a touch-sensitive display) display affordances and / or receive user input (e.g., via a touch-sensitive display, a touch-sensitive surface, or physical / mechanical controls such as knobs or buttons).

[0057] As used in this specification and the claims, the term "haptic output" refers to a physical displacement of a device relative to a previous position of the device detected by a user using the user's sense of touch, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., the housing), or a displacement of a component relative to the center of mass of the device. For example, in the case of contact between the device or a component of the device and a surface of the user that is sensitive to touch (e.g., a finger, palm, or other part of the user's hand), the haptic output generated by the physical displacement will be interpreted by the user as a tactile sensation that corresponds to a perceived change in the physical characteristics of the device or a component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or a touchpad) is optionally interpreted by the user as a "press click" or "release click" of a physical actuation button. In some cases, the user will feel a tactile sensation, such as a "press click" or "release click", even when the physical actuation button associated with the touch-sensitive surface that is physically depressed (e.g., displaced) by the user's movement does not move. As another example, movement of a touch-sensitive surface will optionally be interpreted or sensed by the user as a "roughness" of the touch-sensitive surface even when there is no change in the smoothness of the touch-sensitive surface. Although such interpretations of touch by the user will be limited by the user's individual sensory perceptions, many sensory perceptions of touch are common to most users. Thus, when a haptic output is described as corresponding to a particular sensory perception of the user (e.g., "press click", "release click", "roughness"), unless otherwise stated, the haptic output generated corresponds to a physical displacement of the device or a component thereof that would generate the stated sensory perception of a typical (or average) user.

[0058] It should be understood that device 100 is merely an example of a portable multifunctional device, and 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 these components. Figure 1A The various components shown are implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing and / or application specific integrated circuits.

[0059] Memory 102 optionally includes high-speed random access memory and also optionally includes non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid state memory devices. Memory controller 122 optionally controls access to memory 102 by other components of device 100.

[0060] The peripheral device interface 118 can be used to couple the input and output peripheral devices of the device to the CPU 120 and the memory 102. The one or more processors 120 run or execute various software programs (such as computer programs (e.g., including instructions)) and / or instruction sets stored in the memory 102 to perform various functions of the device 100 and process data. In some embodiments, the peripheral device interface 118, the CPU 120, and the memory controller 122 are optionally implemented on a single chip such as chip 104. In some other embodiments, they are optionally implemented on separate chips.

[0061] The RF (Radio Frequency) circuit 108 receives and transmits RF signals which are also referred to as electromagnetic signals. The RF circuit 108 converts electrical signals into electromagnetic signals / converts electromagnetic signals into electrical signals, and communicates with a communication network and other communication devices via electromagnetic signals. The RF circuit 108 optionally includes well-known circuits 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, a memory, and so on. The RF circuit 108 optionally communicates with the network and other devices via wireless communication, and these networks are such as the Internet (also known as the World Wide Web (WWW)), an intranet, and / or a wireless network (such as a cellular telephone network, a wireless local area network (LAN), and / or a metropolitan area network (MAN)). The RF circuit 108 optionally includes well-known circuits for detecting a near field communication (NFC) field, such as via a short-range communication radio component. The wireless communication optionally uses any one of a variety of communication standards, protocols, and technologies, including but not limited to Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High-Speed Downlink Packet Access (HSDPA), High-Speed Uplink Packet Access (HSUPA), Evolution-Data Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), Long Term Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), 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), WiMAX, email protocols (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communication protocol including communication protocols not yet developed as of the date of submission of this document.

[0062] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral interface 118, converts the audio data into an electrical signal, and transmits the electrical signal to the speaker 111. The speaker 111 converts the electrical signal into sound waves audible to humans. The audio circuit 110 also receives the electrical signal converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signal into audio data and transmits the audio data to the peripheral interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripheral interface 118. In some embodiments, the audio circuit 110 also includes an earphone jack (e.g., Figure 2 212 in

[0063] The I / O subsystem 106 couples input / output peripheral devices on the device 100, such as the touch screen 112 and other input control devices 116, to the peripheral interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, a depth camera controller 169, an intensity sensor controller 159, a haptic feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive electrical signals from / transmit electrical signals to the other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, etc. In some embodiments, the input controller 160 is optionally coupled to any one (or none) of the following: a keyboard, an infrared port, a USB port, and a pointing device such as a mouse. One or more buttons (e.g., Figure 2 208 in Figure 2206) in some embodiments, the electronic device is a computer system that communicates with one or more input devices (e.g., via wireless communication, via wired communication). In some embodiments, the one or more input devices include a touch-sensitive surface (e.g., a touchpad, as part of a touch-sensitive display). In some embodiments, the one or more input devices include one or more camera sensors (e.g., one or more optical sensors 164 and / or one or more depth camera sensors 175), such as for tracking a user's gestures (e.g., hand gestures) 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.

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

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

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

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

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

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

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

[0071] In some embodiments, in addition to the touch screen, the device 100 optionally further includes a touchpad for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of the device, which, unlike the touch screen, does not display a visual output. The touchpad is optionally a touch-sensitive surface separate from the touch screen 112, or an extension of the touch-sensitive surface formed by the touch screen.

[0072] The device 100 also includes a power system 162 for powering various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharge system, a power failure detection circuit, a power converter or inverter, a power status indicator (e.g., a light-emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in a portable device.

[0073] The device 100 optionally further includes one or more optical sensors 164. Figure 1AAn optical sensor coupled to an optical sensor controller 158 in the I / O subsystem 106 is shown. The optical sensor 164 optionally includes a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives light projected through one or more lenses from the environment and converts the light into data representing an image. In conjunction with the imaging module 143 (also referred to as the camera module), the optical sensor 164 optionally captures still images or video. In some embodiments, the optical sensor is located on the rear of the device 100, opposite the touchscreen display 112 on the front of the device, such that the touchscreen display can be used as a viewfinder for still image and / or video image capture. In some embodiments, the optical sensor is located on the front of the device such that an image of the user can optionally be 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 in the device housing) such that a single optical sensor 164 can be used with the touchscreen display for both video conferencing and still image and / or video image capture.

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

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

[0076] The device 100 optionally further includes one or more proximity sensors 166. Figure 1A A proximity sensor 166 coupled to the peripheral device interface 118 is shown. Alternatively, the proximity sensor 166 is optionally coupled to the input controller 160 in the I / O subsystem 106. The proximity sensor 166 optionally operates as described in the following U.S. patent application numbers: 11 / 241,839, entitled "Proximity Detector In Handheld Device"; 11 / 240,788, entitled "ProximityDetector In Handheld Device"; 11 / 620,702, entitled "Using Ambient Light Sensor ToAugment Proximity Sensor Output"; 11 / 586,862, entitled "Automated Response To AndSensing Of User Activity In Portable Devices"; and 11 / 638,251, entitled "MethodsAnd Systems For Automatic Configuration Of Peripherals", which are hereby incorporated by reference in their entirety. In some embodiments, when the multifunctional device is placed near the user's ear (e.g., when the user is making a phone call), the proximity sensor turns off and disables the touch screen 112.

[0077] The device 100 optionally further includes one or more haptic output generators 167. Figure 1AThere is shown a haptic output generator coupled to a haptic feedback controller 161 in the I / O subsystem 106. The haptic output generator 167 optionally includes one or more electroacoustic devices such as speakers or other audio components; and / or electromechanical devices for converting energy into linear motion such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other haptic output generating components (e.g., components for converting an electrical signal into a haptic output on the device). The contact intensity sensor 165 receives haptic feedback generation instructions from the haptic feedback module 133 and generates a haptic output on the device 100 that can be felt by a user of the device 100. In some embodiments, at least one haptic output generator is juxtaposed or adjacent to a touch-sensitive surface (e.g., the touch-sensitive display system 112), and optionally generates a haptic output by moving the touch-sensitive surface vertically (e.g., into / out of the surface of the device 100) or laterally (e.g., backward and forward in the same plane as the surface of the device 100). In some embodiments, at least one haptic output generator sensor is located on the rear of the device 100, opposite the touch screen display 112 located on the front of the device 100.

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

[0079] In some embodiments, the software components stored in the memory 102 include an operating system 126, a communication module (or instruction set) 128, a touch / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a Global Positioning System (GPS) module (or instruction set) 135, and application programs (or instruction sets) 136. Additionally, in some embodiments, the memory 102 ( Figure 1A ) or 370 ( Figure 3 ) stores a device / global internal state 157, as Figure 1A and Figure 3 shown. The device / global internal state 157 includes one or more of the following: an active application state, which indicates which applications (if any) are currently active; a display state, indicating what application, view, or other information occupies the various regions of the touch screen display 112; a sensor state, including information obtained from the various sensors and input control devices 116 of the device; and location information relating to the location and / or orientation of the device.

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

[0081] The communication 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 the RF circuit 108 and / or the external ports 124. The external ports 124 (e.g., Universal Serial Bus (USB), FireWire, etc.) are adapted to be directly coupled to other devices, or indirectly coupled via a network (e.g., the Internet, a wireless LAN, etc.). In some embodiments, the external port is the same as or similar to and / or compatible with the 30-pin connector used on (a trademark of Apple Inc.) devices and / or a multi-pin (e.g., 30-pin) connector.

[0082] The contact / motion module 130 optionally detects contact with the touch screen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., a touchpad or a physical click wheel). The contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether contact has occurred (e.g., detecting a finger press event), determining the contact intensity (e.g., the force or pressure of the contact, or a surrogate for the force or pressure of the contact), determining whether there is movement of the contact and tracking the movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger lift event or contact break). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point optionally includes determining the rate (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point, the movement of the contact point being represented by a series of contact data. These operations are optionally applied to single-point contact (e.g., single-finger contact) or multi-point simultaneous contact (e.g., "multi-touch" / multiple finger contact). In some embodiments, the contact / motion module 130 and the display controller 156 detect contact on the touchpad.

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

[0084] The touch / motion module 130 optionally detects gesture inputs made by a user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motions, timing, and / or intensities of the detected contacts). Thus, gestures are optionally detected by detecting a particular contact pattern. For example, detecting a finger tap gesture includes detecting a finger press event, and then detecting a finger lift (lift-off) event at the same location (or substantially the same location) as the finger press event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and subsequently detecting a finger lift (lift-off) event.

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

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

[0087] The haptic feedback module 133 includes various software components for generating instructions that are used by the haptic output generator 167 to generate haptic output at one or more locations on the device 100 in response to user interaction with the device 100.

[0088] The text input module 134, which is optionally a component of the graphics module 132, provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other application that requires text input).

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

[0090] The application 136 optionally includes the following modules (or instruction sets) or subsets or supersets thereof:

[0091] · A contacts module 137 (sometimes referred to as an address book or contacts list);

[0092] · A phone module 138;

[0093] · A video conferencing module 139;

[0094] · An email client module 140;

[0095] · An instant messaging (IM) module 141;

[0096] · A fitness support module 142;

[0097] · A camera module 143 for still images and / or video images;

[0098] · An image management module 144;

[0099] · A video player module;

[0100] · A music player module;

[0101] · A browser module 147;

[0102] · A calendar module 148;

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

[0104] · A widget creator module 150 for forming user-created widgets 149-6;

[0105] · A search module 151;

[0106] · A video and music player module 152, which combines the video player module and the music player module;

[0107] · A notes module 153;

[0108] · A maps module 154; and / or

[0109] · An online video module 155.

[0110] Examples of other application programs 136 that are optionally stored in the memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA-enabled applications, encryption, digital rights management, speech recognition, and speech reproduction.

[0111] 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, the contacts module 137 is optionally used to manage an address book or contact list (e.g., the application internal state 192 of the contacts module 137 stored in the memory 102 or the memory 370), including: adding one or more names to the address book; deleting names from the address book; associating a telephone number, an email address, a physical address, or other information with a name; associating an image with a name; categorizing and classifying names; providing a telephone number or email address to initiate and / or facilitate communication via the telephone 138, the video conferencing module 139, the email 140, or the IM 141; and so on.

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

[0113] In conjunction with the RF circuit 108, the audio circuit 110, the speaker 111, the microphone 113, the touch screen 112, the display controller 156, the optical sensor 164, the optical sensor controller 158, the contact / motion module 130, the graphics module 132, the text input module 134, the contacts module 137, and the telephone module 138, the video conferencing module 139 includes executable instructions to initiate, conduct, and terminate a video conference between the user and one or more other participants according to user instructions.

[0114] In conjunction with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the email client module 140 includes executable instructions to create, send, receive, and manage emails in response to user instructions. In conjunction with the image management module 144, the email client module 140 makes it very easy to create and send emails with static images or video images captured by the camera module 143.

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

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

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

[0118] In combination with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, and the camera module 143, the image management module 144 includes executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, tagging, deleting, presenting (e.g., in a digital slide show or album), and storing still images and / or video images.

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

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

[0121] In combination with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and browser module 147, widget module 149 is a mini - application (e.g., weather widget 149 - 1, stock market widget 149 - 2, calculator widget 149 - 3, alarm clock widget 149 - 4, and dictionary widget 149 - 5) optionally downloaded and used by the user or a mini - application created by the user (e.g., user - created widget 149 - 6). In some embodiments, widgets include HTML (HyperText Markup Language) files, CSS (Cascading Style Sheets) files, and JavaScript files. In some embodiments, widgets include XML (eXtensible Markup Language) files and JavaScript files (e.g., Yahoo! widgets).

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

[0123] In combination with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, search module 151 includes executable instructions for searching memory 102 for text, music, sound, images, video, and / or other files that match one or more search criteria (e.g., one or more user - specified search terms) in accordance with user instructions.

[0124] In combination with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, and browser module 147, video and music player module 152 includes executable instructions that allow a user to download and play back recorded music and other sound files stored in one or more file formats such as MP3 or AAC files, as well as executable instructions for displaying, presenting, or otherwise playing back video (e.g., on touch screen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player such as an iPod (a trademark of Apple Inc.).

[0125] In combination with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, note module 153 includes executable instructions for creating and managing notes, to-do items, etc. in accordance with user instructions.

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

[0127] In combination with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, text input module 134, e-mail client module 140, and browser module 147, online video module 155 includes instructions for performing the following operations: allowing a user to access, browse, receive (e.g., by streaming and / or downloading), play back (e.g., on the touch screen or on an external display connected via external port 124), send an e-mail with a link to a particular online video, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, the instant message module 141 is used instead of the e-mail client module 140 to send a link to a particular online video. Other descriptions of the online video application can be found in U.S. Provisional Patent Application No. 60 / 936,562, filed Jun. 20, 2007, and entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” and U.S. Patent Application No. 11 / 968,067, filed Dec. 31, 2007, and entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” the contents of both of which are hereby incorporated by reference in their entirety.

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

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

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

[0131] Figure 1B is a block diagram showing exemplary components for event handling according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or memory 370 ( Figure 3 ) includes an event classifier 170 (e.g., in operating system 126) and corresponding application 136-1 (e.g., any one of the foregoing applications 137 to 151, 155, 380 to 390).

[0132] Event classifier 170 receives event information and determines the application 136-1 to which the event information is to be delivered and the application view 191 of application 136-1. Event classifier 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes an application internal state 192 that indicates one or more current application views displayed on the touch-sensitive display 112 when the application is active or executing. In some embodiments, the device / global internal state 157 is used by event classifier 170 to determine which application(s) is / are currently active, and the application internal state 192 is used by event classifier 170 to determine the application view 191 to which the event information is to be delivered.

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

[0134] Event monitor 171 receives event information from peripheral device interface 118. The event information includes information about sub-events (e.g., a user touch on the touch-sensitive display 112, as part of a multi-touch gesture). Peripheral device interface 118 transmits information that it receives from I / O subsystem 106 or sensors such as proximity sensor 166, one or more accelerometers 168, and / or microphone 113 (via audio circuitry 110). The information that peripheral device interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.

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

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

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

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

[0139] The 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 hierarchical structure, the hit view determination module 172 identifies the hit view as the lowest view in the hierarchical structure that should handle the sub-event. In most cases, the hit view is the lowest-level view in which the initiating sub-event (e.g., the first sub-event in a sequence of sub-events that form an event or a potential event) occurs. Once the hit view is identified by the hit view determination module 172, the hit view generally receives all sub-events related to the same touch or input source for which it is identified as the hit view.

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

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

[0142] In some embodiments, the operating system 126 includes the event classifier 170. Alternatively, the application 136-1 includes the event classifier 170. In yet another embodiment, the event classifier 170 is an independent module or part of another module (such as the contact / motion module 130) stored in the memory 102.

[0143] In some embodiments, application 136-1 includes a plurality of event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events that occur within a corresponding view of the user interface of the application. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, a corresponding application view 191 includes a plurality of event recognizers 180. In other embodiments, one or more of the event recognizers 180 are part of an independent module that is a higher-level object such as a user interface toolkit or from which application 136-1 inherits methods and other properties. In some embodiments, a corresponding event handler 190 includes one or more of the following: a data updater 176, an object updater 177, a GUI updater 178, and / or event data 179 received from event classifier 170. Event handler 190 optionally utilizes or invokes data updater 176, object updater 177, or GUI updater 178 to update the internal state 192 of the application. Alternatively, one or more of the application views 191 include one or more corresponding event handlers 190. Additionally, in some embodiments, one or more of data updater 176, object updater 177, and GUI updater 178 are included within a corresponding application view 191.

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

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

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

[0147] In some embodiments, the event definition 187 includes the definition of an event for a corresponding user - interface object. In some embodiments, the event comparator 184 performs a hit test to determine which user - interface object is associated with a sub - event. For example, in an application view that displays three user - interface objects on the touch - sensitive display 112, when a touch is detected on the touch - sensitive display 112, the 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 of the displayed objects is associated with a corresponding event handler 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, the event comparator 184 selects the event handler associated with the sub - event and the object that triggered the hit test.

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

[0149] When the corresponding event recognizer 180 determines that the sub - event sequence does not match any event in the event definition 186, the corresponding event recognizer 180 enters an event - impossible, event - failed, or event - ended state, after which subsequent sub - events of the touch - based gesture are ignored. In such a case, other event recognizers (if any) that remain active for the hit view continue to track and process the ongoing sub - events of the touch - based gesture.

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

[0151] In some embodiments, when one or more specific sub - events of an event are recognized, the corresponding event recognizer 180 activates the event handler 190 associated with the event. In some embodiments, the corresponding event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is different from sending (and deferring to send) sub - events to the corresponding hit view. In some embodiments, the event recognizer 180 throws a token associated with the recognized event, and the event handler 190 associated with that token retrieves the token and executes a predefined process.

[0152] In some embodiments, the event delivery instruction 188 includes a sub - event delivery instruction that delivers event information about the sub - event without activating the event handler. Instead, the sub - event delivery instruction delivers the event information to the event handler associated with the sub - event sequence or to the active participating view. The event handler associated with the sub - event sequence or with the active participating view receives the event information and executes a predetermined process.

[0153] In some embodiments, the data updater 176 creates and updates data used in the application 136-1. For example, the data updater 176 updates the phone numbers used in the contacts module 137, or stores the video files used in the video player module. In some embodiments, the object updater 177 creates and updates objects used in the application 136-1. For example, the object updater 177 creates new user interface objects or updates the positions of user interface objects. The GUI updater 178 updates the GUI. For example, the GUI updater 178 prepares the display information and sends the display information to the graphics module 132 for display on the touch-sensitive display.

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

[0155] It should be understood that the above discussion regarding event handling of user touches on the touch-sensitive display also applies to other forms of user input for operating the multifunctional device 100 using an input device, and not all user input is initiated on the touch screen. For example, mouse movement and mouse button presses optionally in cooperation with single or multiple keyboard presses or holds; contact movement on a touchpad, such as tapping, dragging, scrolling, etc.; stylus input; movement of the device; voice commands; detected eye movement; biometric input; and / or any combination thereof are optionally used as inputs corresponding to sub-events that define the events to be discriminated.

[0156] Figure 2FIG. 0 shows a portable multifunctional device 100 having a touch screen 112 according to some embodiments. The touch screen optionally displays one or more graphics within a user interface (UI) 200. In this and other embodiments described below, a user is able to select one or more of these graphics by making gestures on the graphics, such as by using one or more fingers 202 (not drawn to scale in the figure) or one or more styli 203 (not drawn to scale in the figure). In some embodiments, selection of one or more graphics occurs when the user breaks contact with the one or more graphics. In some embodiments, the gestures optionally include one or more taps, one or more swipes (from left to right, right to left, up, and / or down), and / or rolling of a finger that has made contact with the device 100 (from right to left, left to right, up, and / or down). In some implementations or in some cases, inadvertently contacting a graphic does not select the graphic. For example, when the gesture corresponding to selection is a tap, a swipe gesture that sweeps over an application icon optionally does not select the corresponding application.

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

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

[0159] Figure 3is a block diagram of an exemplary multi-functional 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 children's learning toy), a gaming system, or a control device (e.g., a home controller or an industrial controller). Device 300 generally includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses 320 for interconnecting these components. Communication bus 320 optionally includes circuitry (sometimes referred to as a chipset) that interconnects system components and controls the communication between system components. Device 300 includes an input / output (I / O) interface 330 having a display 340, which is typically a touch screen display. I / O interface 330 also optionally includes a keyboard and / or a mouse (or other pointing device) 350 and a touchpad 355, a haptic output generator 357 for generating haptic output on device 300 (e.g., similar to the haptic output generator 167 referenced above with respect to Figure 1A ), sensors 359 (e.g., optical sensors, acceleration sensors, proximity sensors, touch-sensitive sensors, and / or contact intensity sensors (similar to the contact intensity sensor 165 referenced above with respect to Figure 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 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 310. In some embodiments, memory 370 stores programs, modules, and data structures similar to or a subset of the programs, modules, and data structures stored in the memory 102 of the portable multi-functional device 100 ( Figure 1A ). Additionally, memory 370 optionally stores additional programs, modules, and data structures not present in the memory 102 of the portable multi-functional device 100. For example, memory 370 of device 300 optionally stores a drawing module 380, a presentation module 382, a word processing module 384, a website creation module 386, a disk editing module 388, and / or a spreadsheet module 390, while the memory 102 of the portable multi-functional device 100 ( Figure 1A ) optionally does not store these modules.

[0160] Figure 3Each of the above elements in [the above] is optionally stored in one or more of the previously mentioned memory devices of the memory device. Each of the above modules corresponds to a set of instructions for performing the above functions. The above modules or computer programs (e.g., sets of instructions or including instructions) need not be implemented as separate software programs (such as computer programs (e.g., including instructions)), processes, or modules, and thus various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, the memory 370 optionally stores a subgroup of the above modules and data structures. Additionally, the memory 370 optionally stores additional modules and data structures not described above.

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

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

[0163] · A signal strength indicator 402 for wireless communications such as cellular signals and Wi-Fi signals;

[0164] · Time 404;

[0165] · A Bluetooth indicator 405;

[0166] · A battery status indicator 406;

[0167] · A tray 408 with icons for common applications, such icons as:

[0168] ο An icon 416 labeled "Phone" for the phone module 138, which icon 416 optionally includes an indicator 414 of the number of missed calls or voicemails;

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

[0170] ο An icon 420 labeled "Browser" for the browser module 147; and

[0171] ο An icon 422 labeled "iPod" for the video and music player module 152 (also known as the iPod (trademark of Apple Inc.) module 152); and

[0172] · Icons for other applications, such as:

[0173] ο The icon 424 of the IM module 141 marked as "Message";

[0174] ο The icon 426 of the calendar module 148 marked as "Calendar";

[0175] ο The icon 428 of the image management module 144 marked as "Photo";

[0176] ο The icon 430 of the camera module 143 marked as "Camera";

[0177] ο The icon 432 of the online video module 155 marked as "Online Video";

[0178] ο The icon 434 of the stock market widget 149-2 marked as "Stock Market";

[0179] ο The icon 436 of the map module 154 marked as "Map";

[0180] ο The icon 438 of the weather widget 149-1 marked as "Weather";

[0181] ο The icon 440 of the alarm clock widget 149-4 marked as "Clock";

[0182] ο The icon 442 of the fitness support module 142 marked as "Fitness Support";

[0183] ο The icon 444 of the note module 153 marked as "Note"; and

[0184] ο The icon 446 of the settings application or module marked as "Settings", which provides access to the settings of the device 100 and its various applications 136.

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

[0186] Figure 4B A device (e.g., Figure 3 is shown having a touch-sensitive surface 451 (e.g., Figure 3Exemplary user interface on a device 300). The device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) for detecting the intensity of a contact on the touch-sensitive surface 451 and / or one or more haptic output generators 357 for generating haptic output for a user of the device 300.

[0187] Although some of the following examples will be given with reference to input on a touch screen display 112 (wherein a touch-sensitive surface and a display are combined), in some embodiments, the device detects input on a touch-sensitive surface separate from the display, as Figure 4B shown. In some embodiments, the touch-sensitive surface (e.g., Figure 4B 451 in ) has a major axis (e.g., Figure 4B 453 in ) corresponding to the major axis of the display (e.g., Figure 4B 452 in ). According to these embodiments, the device detects contact with the touch-sensitive surface 451 at a location corresponding to a corresponding location on the display (e.g., in Figure 4B , 460 corresponds to 468 and 462 corresponds to 470) (e.g., Figure 4B 460 and 462 in ). Thus, when the touch-sensitive surface (e.g., Figure 4B 451 in ) is separate from the display of the multifunctional device (e.g., Figure 4B 450 in ), user input detected by the device on the touch-sensitive surface (e.g., contacts 460 and 462 and their movement) is used by the device to manipulate the user interface on the display. It should be understood that similar methods are optionally used for other user interfaces described herein.

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

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

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

[0191] In some embodiments, device 500 has one or more input mechanisms 506 and 508. Input mechanisms 506 and 508 (if included) can be in physical form. 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, glasses, earrings, necklaces, shirts, jackets, bracelets, watchbands, bracelets, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow the user to wear device 500.

[0192] Figure 5B An exemplary personal electronic device 500 is depicted. In some embodiments, device 500 may include some or all of the components described with reference Figure 1A , Figure 1B and Figure 3 Device 500 has a bus 512 that operatively couples the I / O section 514 to one or more computer processors 516 and a memory 518. The I / O section 514 may be connected to a display 504 that may have a touch-sensitive component 522 and optionally an intensity sensor 524 (e.g., a contact intensity sensor). Additionally, the I / O section 514 may be connected to a communication unit 530 for receiving application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular, and / or other wireless communication technologies. Device 500 may include input mechanisms 506 and / or 508. For example, input mechanism 506 is optionally a rotatable input device or a pressable input device and a rotatable input device. In some examples, input mechanism 508 is optionally a button.

[0193] In some examples, 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 are operatively connected to the I / O section 514.

[0194] The memory 518 of personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by one or more computer processors 516, may cause the computer processors to perform the techniques described below, including processes 700, 800, and 1000 ( Figures 7A to 7H , Figures 8A to 8G and Figure 10)。A computer-readable storage medium can be any medium that tangibly contains or stores computer-executable instructions for use by or in connection with an instruction execution system, apparatus, and device. In some examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transient computer-readable storage medium. Non-transient computer-readable storage media can include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical discs based on CD, DVD, or Blu-ray technology, and persistent solid-state memories such as flash memory, solid-state drives, and the like. Personal electronic device 500 is not limited to Figure 5B the components and configurations thereof, but may include other components or additional components in a variety of configurations.

[0195] As used herein, the term "indicant" refers to a user-interactive graphical user interface object optionally displayed on the display screen of devices 100, 300, and / or 500 ( Figure 1A , Figure 3 and Figures 5A to 5C ). For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) each optionally constitute an indicant.

[0196] As used herein, the term "focus selector" refers to an input element for indicating the current portion of the user interface with which the user is interacting. In some embodiments including a cursor or other position marker, the cursor serves as the "focus selector" such that when an input (e.g., a press input) is detected on a touch-sensitive surface (e.g., Figure 3 the touchpad 355 in Figure 4B or Figure 1A the touch-sensitive surface 451 in Figure 4AIn some specific implementations of the touch screen 112), the detected contact on the touch screen acts as a "focus selector", such that when an input (e.g., a press input made by the contact) is detected at the location of a specific user interface element (e.g., a button, window, slider, or other user interface element) on the touch screen display, the specific user interface element is adjusted according to the detected input. In some specific implementations, the focus moves from one area of the user interface to another area of the user interface without a corresponding movement of the cursor or a movement of the contact on the touch screen display (e.g., moving the focus from one button to another button by using the tab key or arrow keys); in these specific implementations, the focus selector moves according to the movement of the focus between different areas of the user interface. Regardless of the specific form taken by the focus selector, the focus selector is generally a user interface element (or a contact on the touch screen display) that is controlled by the user in order to deliver the interaction with the user interface expected by the user (e.g., by indicating to the device the element of the user interface with which the user expects to interact). For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touch screen), the position of the focus selector (e.g., cursor, contact, or selection box) above the corresponding button will indicate that the user expects to activate the corresponding button (rather than other user interface elements shown on the device display).

[0197] As used in the specification and claims, the term "feature intensity" of a contact refers to a feature of the contact based on one or more intensities of the contact. In some embodiments, the feature intensity is based on a plurality of intensity samples. The feature intensity is optionally based on a predefined number of intensity samples or a set of intensity samples collected during a predefined time period (e.g., 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds) relative to a predefined event (e.g., after detecting a contact, before detecting a contact lift-off, before or after detecting a contact start to move, before detecting a contact end, 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 feature intensity of a contact is optionally based on one or more of the following: the maximum value of the intensity of the contact, the mean value of the intensity of the contact, the average value of the intensity of the contact, the value at the top 10% of the intensity of the contact, the half-maximum value of the intensity of the contact, the 90% maximum value of the intensity of the contact, etc. In some embodiments, the duration of the contact is used in determining the feature intensity (e.g., when the feature intensity is the average value of the intensity of the contact over time). In some embodiments, the feature intensity is compared with a set of one or more intensity thresholds to determine whether the user has performed an operation. 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 with a feature intensity not exceeding the first threshold results in a first operation, a contact with a feature intensity exceeding the first intensity threshold but not exceeding the second intensity threshold results in a second operation, and a contact with a feature intensity exceeding the second threshold results in a third operation. In some embodiments, the comparison between the feature intensity and one or more thresholds is used to determine whether to perform one or more operations (e.g., whether to perform the corresponding operation or to forgo performing the corresponding operation) rather than for determining whether to perform a first operation or a second operation.

[0198] In some embodiments, a portion of a gesture is identified for use in determining the feature intensity. For example, a touch-sensitive surface optionally receives a continuous swiping contact that transitions from a starting position to an ending position at which the contact intensity increases. In this example, the feature intensity of the contact at the ending position is optionally based on only a portion of the continuous swiping contact rather than the entire swiping contact (e.g., only the portion of the swiping contact at the ending position). In some embodiments, a smoothing algorithm is optionally applied to the intensity of the swiping contact before determining the feature intensity of the contact. For example, the smoothing algorithm optionally includes one or more of the following: an unweighted moving average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some cases, these smoothing algorithms eliminate narrow spikes or dips in the intensity of the swiping contact for the purpose of determining the feature intensity.

[0199] Optionally, characterize the contact intensity on the touch-sensitive surface relative to one or more intensity thresholds such as a contact detection intensity threshold, a light press intensity threshold, a deep press intensity threshold, and / or one or more other intensity thresholds. In some embodiments, the light press intensity threshold corresponds to an intensity at which the device will perform an operation typically associated with clicking a button of a physical mouse or touchpad. In some embodiments, the deep press intensity threshold corresponds to an intensity at which the device will perform an operation different from the operation typically associated with clicking a button of a physical mouse or touchpad. In some embodiments, when a contact is detected with a characteristic intensity below the light press intensity threshold (e.g., and above the nominal contact detection intensity threshold, contacts below the nominal contact detection intensity threshold are no longer detected), the device will move the focus selector based on the movement of the contact on the touch-sensitive surface without performing an operation associated with the light press intensity threshold or the deep press intensity threshold. Generally speaking, unless otherwise stated, these intensity thresholds are consistent between different sets of user interface figures.

[0200] An increase in the contact characteristic intensity from an intensity below the light press intensity threshold to an intensity between the light press intensity threshold and the deep press intensity threshold is sometimes referred to as a "light press" input. An increase in the contact characteristic intensity from an intensity below the deep press intensity threshold to an intensity above the deep press intensity threshold is sometimes referred to as a "deep press" input. An increase in the contact characteristic intensity from an intensity below the contact detection intensity threshold to an intensity between the contact detection intensity threshold and the light press intensity threshold is sometimes referred to as detecting a contact on the touch surface. A decrease in the contact characteristic intensity from an intensity above the contact detection intensity threshold to an intensity below the contact detection intensity threshold is sometimes referred to as detecting the contact being lifted off the touch surface. In some embodiments, the contact detection intensity threshold is zero. In some embodiments, the contact detection intensity threshold is greater than zero.

[0201] In some embodiments described herein, one or more operations are performed in response to detecting a gesture that includes a corresponding press input or in response to detecting a corresponding press input performed using a corresponding contact (or contacts), where the corresponding press input is detected at least in part based on the intensity of the detected contact (or contacts) increasing above a press input intensity threshold. In some embodiments, a corresponding operation is performed in response to detecting the intensity of the corresponding contact increasing above the press input intensity threshold (e.g., the "down stroke" of the corresponding press input). In some embodiments, the press input includes an increase in the intensity of the corresponding contact above the press input intensity threshold and a subsequent decrease in the intensity of the contact below the press input intensity threshold, and a corresponding operation is performed in response to detecting the subsequent decrease in the intensity of the corresponding contact below the press input threshold (e.g., the "up stroke" of the corresponding press input).

[0202] In some embodiments, the device employs strength hysteresis to avoid unexpected inputs sometimes referred to as "jitter", where the device defines or selects a hysteresis strength threshold having a predefined relationship with the press input strength threshold (e.g., the hysteresis strength threshold is X strength units lower than the press input strength threshold, or the hysteresis strength threshold is 75%, 90%, or some reasonable proportion of the press input strength threshold). Thus, in some embodiments, a press input includes the intensity of the corresponding contact increasing above the press input strength threshold and the intensity of that contact subsequently decreasing below the hysteresis strength threshold corresponding to the press input strength threshold, and a corresponding operation is performed in response to detecting that the intensity of the corresponding contact subsequently decreases below the hysteresis strength threshold (e.g., the "upstroke" of the corresponding press input). Similarly, in some embodiments, a press input is detected only when the device detects that the contact intensity increases from an intensity equal to or lower than the hysteresis strength threshold to an intensity equal to or higher than the press input strength threshold and optionally the contact intensity subsequently decreases to an intensity equal to or lower than the hysteresis strength threshold, and a corresponding operation is performed in response to detecting the press input (e.g., depending on the context, the contact intensity increases or the contact intensity decreases).

[0203] For ease of explanation, optionally, a description of an operation performed in response to a press input associated with a press input strength threshold or in response to a gesture including a press input is triggered in response to detecting any one of the following various situations: the contact intensity increasing above the press input strength threshold, the contact intensity increasing from an intensity lower than the hysteresis strength threshold to an intensity higher than the press input strength threshold, the contact intensity decreasing below the press input strength threshold, and / or the contact intensity decreasing below the hysteresis strength threshold corresponding to the press input strength threshold. Additionally, in an example where an operation is described as being performed in response to detecting that the intensity of a contact decreases below the press input strength threshold, the operation is optionally performed in response to detecting that the intensity of the contact decreases below the hysteresis strength threshold corresponding to and less than the press input strength threshold.

[0204] Figure 5CExemplary diagram depicting a communication session between electronic devices 500A, 500B, and 500C. Devices 500A, 500B, and 500C are similar to electronic device 500, and each device shares one or more data connections 510 (such as an Internet connection, a Wi-Fi connection, a cellular connection, a short-range communication connection, and / or any other such data connection or network) with each other to facilitate real-time communication of audio data and / or video data between the corresponding devices for a period of time. In some embodiments, the exemplary communication session may include a shared data session, whereby data is transferred from one or more of the electronic devices to other electronic devices to enable simultaneous output of corresponding content at the electronic devices. In some embodiments, the exemplary communication session may include a video conferencing session, whereby audio data and / or video data is transferred between devices 500A, 500B, and 500C such that users of the corresponding devices can use the electronic devices for real-time communication.

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

[0206] Device 500A displays a communication UI 520A via display 504A, which is a user interface for facilitating 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 transferred from device 500B to device 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 transferred from device 500C to device 500A and 500B during the communication session.

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

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

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

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

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

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

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

[0214] Figure 5C A diagram depicting an embodiment of a communication session between multiple electronic devices, including Figures 6A to 6V and Figures 9A to 9H the exemplary communication session depicted in Figures 6A to 6V and Figures 9A to 9H In some embodiments, the communication sessions depicted in

[0215] Now turning attention to embodiments of a user interface (“UI”) implemented on an electronic device (such as portable multifunctional device 100, device 300, or device 500) and associated processes.

[0216] Figures 6A to 6V Exemplary user interfaces for real-time communication sessions (e.g., audio communication sessions and / or video communication sessions) according to some embodiments are shown. The user interfaces in these figures are used to illustrate the processes described below, including Figures 7A to 7H and Figures 8A to 8G the processes in

[0217] Figure 6A shows a first user interface 604 of a real-time communication application (e.g., “RTCApp”) of an electronic device 600 displayed by the electronic device 600 via a display 602. The first user interface 604 includes a list and / or schedule of real-time communication sessions that a user of the electronic device has participated in (e.g., previously or currently), has been invited to participate in (e.g., the user has been invited to participate but has not or has not yet joined the real-time communication session), and / or is being invited to participate in (e.g., the real-time communication session is in progress and / or is scheduled for a time later than the current time). At Figure 6A the first user interface 604 arranges user interface objects 606a to 606g into regions 604a, 604b, and 604c of the user interface 604 corresponding to different time periods. The first region 604a includes user interface objects 606a to 606c that correspond to real-time communication sessions that occur and / or are scheduled on the current day (e.g., today). The second region 604b includes user interface objects 604d to 604f that correspond to real-time communication sessions that occur and / or are scheduled during the current week but not on the current day. The third region 604c includes user interface object 606g that corresponds to a real-time communication session that occurred and / or was scheduled during the previous week (e.g., the week prior to the current week). Thus, a user of the electronic device 600 can quickly view and / or find real-time communication sessions based on the time when the real-time communication sessions occur, were scheduled, and / or are scheduled.

[0218] In some embodiments, the first user interface 604 includes user interface objects corresponding to real-time communication sessions to which the user of the electronic device 600 has been invited but has not participated. For example, the electronic device 600 receives an invitation and / or request to join a real-time communication session (e.g., a call, text, link, and / or calendar invitation), but the electronic device 600 does not detect user input corresponding to the acceptance of the invitation and / or a request to initiate a real-time communication session (e.g., the user rejects the call, the user does not answer the call, the user does not select a link and / or another user interface object that would initiate a real-time communication session).

[0219] At Figure 6A which, the first user interface 604 further includes a link sharing user interface object 608 and an add participant user interface object 610. As elaborated below, the electronic device 600 initiates a process for sharing a link to a real-time communication session in response to detecting user input corresponding to a selection of the link sharing user interface object 608. In some embodiments, the process for sharing a link to a real-time communication session includes, for example, creating a link to the real-time communication session and / or displaying a user interface that enables the electronic device 600 to share the link. Additionally, the electronic device 600 displays a second user interface 612 that enables a user to add invitees to the real-time communication session in response to detecting a selection of the add participant user interface object 610. At Figure 6A which, the electronic device 600 detects user input 650a corresponding to a selection of the add participant user interface object 610. In response to detecting the user input 650a, the electronic device 600 displays the second user interface 612, as Figure 6B shown. Alternatively, at Figure 6A which, the electronic device 600 detects user input 650b corresponding to a selection of the link sharing user interface object 608. In response to detecting the user input 650b, the electronic device 600 displays a sharing user interface 626, as Figure 6I shown.

[0220] At Figure 6B which, the second user interface 612 includes an invitee area 612a, a suggested invitee area 612b, an audio user interface object 612c, a real-time communication user interface object 612d, and a keyboard 612e (e.g., a graphical and / or virtual keyboard). At Figure 6BIn it, the invitee area 612a is currently blank, indicating that the electronic device 600 has not detected user input corresponding to the selection and / or identification of an invitee for a real-time communication session. The electronic device 600 displays an audio user interface object 612c and a real-time communication user interface object 612d with an inactive appearance (such as reduced brightness, a grayscale color scheme, and / or reduced size). For example, since the electronic device 600 has not detected user input corresponding to the selection of a contactable user to invite to a real-time communication session, the electronic device 600 displays an audio user interface object 612c and a real-time communication user interface object 612d with an inactive appearance to indicate that the user cannot initiate a real-time communication session without selecting an invitee.

[0221] It is proposed that the invitee area 612b includes contact user interface objects 614a to 614h corresponding to contactable users stored in the electronic device 600 or accounts associated with the electronic device 600. The contact user interface objects 614a to 614h may include information such as a phone number, an email address, and / or a username associated with an identifier of an entity (such as a person, a group of people, and / or a business). In some embodiments, it is proposed that the invitee area 612b displays contact user interface objects 614a to 614h corresponding to the most frequently contacted (e.g., sending messages, making calls, and / or interacting in other ways via the electronic device 600), most recently contacted, and / or most likely to be contacted users based on the usage pattern of the electronic device 600. The usage pattern may include, for example, users who are frequently contacted at a specific time of day, a specific time of week, or a specific time of month. At Figure 6B this point, the second user interface 612 includes eight contact user interface objects 614a to 614h. In some embodiments, based on the number of contactable users stored in the electronic device 600 and / or based on the number of proposed contactable users determined by the electronic device 600, the second user interface 612 includes more than eight or fewer than eight contact user interface objects.

[0222] At Figure 6B this point, the electronic device 600 detects a user input 650c that selects a key 612f (e.g., the letter "l") of the selection keyboard 612e. After detecting the user input 650c, the electronic device 600 displays a list 618 of contactable users, as Figure 6C shown.

[0223] At Figure 6CAt this point, the electronic device 600 has detected additional user input (e.g., user input corresponding to the "a" and "u" keys of the keyboard 612e) and displays the list of contactable users 618 based on the user input 650c and the additional user input. The electronic device 600 displays the list of contactable users 618 as an overlay on the second user interface 612, and specifically as an overlay that covers the suggested invitee area 612b, the audio user interface object 612c, and the real-time communication user interface object 612d (e.g., displayed on top of them). The list of contactable users 618 includes the stored contactable users of the electronic device 600, which are based on the user input 650c corresponding to the input indicator 619 (e.g., the characters "lau") and the additional user input. For example, the electronic device 600 uses the user input 650c and the additional user input as search terms (e.g., search terms corresponding to alphanumeric and / or emoji characters received via the user input) to perform a search of the contactable user database of the electronic device 600 (and / or the contactable user database associated with the account logged into the electronic device 600). Accordingly, the list of contactable users 618 includes contact user interface objects 618a to 618e corresponding to the identifiers of the contactable users that match and / or partially match the search terms stored in the contactable user database.

[0224] In some embodiments, the electronic device 600 arranges the contact user interface objects 618a to 618e of the list of contactable users 618 based on one or more criteria. For example, in some embodiments, the electronic device 600 arranges the contact user interface objects 618a to 618e based on a comparison of the search terms with the identifiers (e.g., names, usernames, email addresses, and / or other identifiers) of the contactable users stored in the contactable user database. For example, a first contact user interface object representing a first contactable user that includes an identifier that exactly matches the search term is listed before (e.g., above) a second contact user interface object representing a second contactable user that includes an identifier that partially matches the search term.

[0225] In some embodiments, the electronic device 600 arranges the contact user interface objects 618a through 618e based on a comparison between a search term and identifiers of contactable users and based on information associated with the contactable users. In some such embodiments, the electronic device 600 determines a subset of contact user interface objects to display based on a comparison between the search term and the identifiers of contactable users stored in a contactable user database. Additionally, the electronic device 600 arranges the subset of contact user interface objects based on information associated with the respective contactable users of the subset of contact user interface objects. For example, in some embodiments, the information associated with the respective contactable users includes a type of communication address, such as an available communication mode associated with a phone number, an email address, and / or a username of an account. In some such embodiments, the contact user interface objects associated with contactable users having a first type of communication address (such as a phone number and / or an account of a messaging / chat application) are listed before (e.g., above) the contact user interface objects associated with contactable users having a second type of communication address different from the first type (such as an email address and / or an account of a non-messaging / non-chat application). In some embodiments, the information associated with the respective contactable users includes the operating system of a device associated with the communication address, applications installed on the device associated with the communication address, and / or accounts checked into the device associated with the communication address. In some embodiments, the electronic device 600 displays contactable users associated with a device having a first operating system, first applications, and / or checked into a first type of account before (e.g., above) contactable users not associated with a device having the first operating system, first applications, and / or checked into a first type of account. In some embodiments, the information associated with the respective contactable users includes any combination of the type of communication address, the operating system of a device associated with the communication address, applications installed on the device associated with the communication address, and / or accounts checked into the device associated with the communication address.

[0226] In Figure 6CAt this point, the contact user interface object 618a corresponding to Lauren Jones is listed above the contact user interface object 618e corresponding to Bruno Lars because the electronic device 600 determines that the information associated with Lauren Jones includes a phone number and the information associated with Bruno Lars includes an email address. In some embodiments, the electronic device 600 displays the contact user interface object associated with the phone number before the contact user interface object associated with the email address (and no phone number) because the electronic device 600 can initiate communication with the phone number via a variety of different communication protocols (such as a phone call and an electronic message), while the electronic device 600 can typically initiate communication with the email address via one communication protocol. In some embodiments, even when the electronic device 600 detects one or more user inputs corresponding to the letters "lar" (instead of "lau"), the electronic device 600 also displays the contact user interface object 618a before (e.g., above) the contact user interface object 618e because the electronic device 600 has access to Lauren Jones's phone number and no access to Bruno Lars's phone number. Thus, when the list of contactable users 618 is based on a comparison between the search term and the identifiers of the contactable users in the contactable user database, the contact list 618 arranges the contact user interface objects 618a to 618e based on the available communication modes and / or device types associated with the respective contactable users.

[0227] At Figure 6C this point, the electronic device 600 detects a user input 650d corresponding to the contact user interface object 618a (e.g., a tap gesture and / or user input selecting the contactable user as an invitee for a real-time communication session). In response to detecting the user input 650d, the electronic device 618a displays a second user interface 612, as Figure 6D shown.

[0228] At Figure 6DAt this point, the electronic device 600 displays a first contactable user indicator 612g in the invitee area 612a of the second user interface 612. The first contactable user indicator 612g corresponds to the contactable user associated with the contact user interface object 618a, namely Lauren Jones. The first contactable user indicator 612g includes a first appearance (e.g., a bold appearance and / or text of the contact user interface object 620a having a first color such as blue). In some embodiments, when the electronic device 600 determines that the information associated with the contactable user represented by the first contactable user indicator 612g indicates that the device associated with the contactable user includes a real-time communication application (e.g., a specific real-time communication application associated with the first user interface 604 and / or the second user interface 612), the electronic device 600 displays the first contactable user indicator 612g with the first appearance. In some embodiments, when the electronic device 600 determines that the information associated with the contactable user represented by the first contactable user indicator 612g indicates that the device associated with the contactable user includes a specific operating system software, the electronic device 600 displays the first contactable user indicator 612g with the first appearance.

[0229] At Figure 6D this point, the electronic device 600 displays a suggested invitee area 612b, an audio user interface object 612c, and a real-time communication user interface object 612d. In response to detecting a user input 650d, the electronic device 600a displays the audio user interface object 612c and the real-time communication user interface object 612d with an active appearance (such as normal brightness, a non-grayscale color scheme, and / or an increased size). In this way, the electronic device 600 indicates that a real-time communication session with Lauren Jones can be initiated because Lauren Jones has been added as an invitee. As will be elaborated below, the electronic device 600 displays the audio user interface object 612c and the real-time communication user interface object 612d based on determining that the information associated with Lauren Jones meets a first set of criteria. The first set of criteria includes the criterion that the device associated with Lauren Jones includes a specific real-time communication application (e.g., RTCApp). For example, the information accessible to the electronic device 600 indicates that a real-time communication session with Lauren Jones can be initiated via a specific real-time communication application because the device associated with Lauren Jones has the same specific real-time communication application.

[0230] In some cases, the user may invite multiple contactable users to participate in a real-time communication session. At Figure 6DThere, the electronic device 600 detects a user input 650e corresponding to a key 612h of the keyboard 612e (e.g., the letter "i"). After detecting the user input 650e, the electronic device 600 displays a list of contactable users 620, as Figure 6E shown.

[0231] At Figure 6E there, the electronic device 600 has detected additional user inputs (e.g., user inputs corresponding to the "v" and "y" keys of the keyboard 612e) and displays the list of contactable users 620 based on the user input 650e and the additional user inputs. The electronic device 600 displays the list of contactable users 620 as an overlay on the second user interface 612, and specifically as an overlay that covers the suggested invitee area 612b, the audio user interface object 612c, and the real-time communication user interface object 612d (e.g., displayed on top of them). The list of contactable users 620 includes the stored contactable users of the electronic device 600, which are based on the user input 650e and the additional user inputs corresponding to the input indicator 621 (e.g., the characters "ivy"). For example, the electronic device 600 uses the user input 650e and the additional user inputs (e.g., displayed as the input indicator 621) as search terms to perform a search of the contactable user database of the electronic device 600. Thus, the list of contactable users 620 includes the contact user interface objects 620a to 620c corresponding to the identifiers of the contactable users stored in the contactable user database that match and / or partially match the search terms.

[0232] As elaborated above, the electronic device 600 arranges the contact user interface objects 620a to 620c of the contact list 620 based on the information associated with the contactable users. For example, at Figure 6E there, the electronic device 600 displays the contact user interface object 620a corresponding to Evan Ivor before (e.g., above) the contact user interface object 620c corresponding to Ivy Smith, even though Ivy Smith includes an identifier that exactly matches the search term "ivy" (e.g., the first name "Ivy") and Evan Ivor (e.g., the last name "Ivor") includes an identifier that only partially matches the search term. In the Figure 6E embodiment of, the contact user interface object 620a is displayed before the contact user interface object 620c because the electronic device 600 has access to information indicating that the device associated with the contactable user Evan Ivor includes a specific real-time communication application (e.g., the real-time communication application associated with the first user interface 604 and the second user interface 612).

[0233] In addition, at Figure 6EAt this point, the electronic device 600 displays a contact user interface object 620a having a first appearance (e.g., a bold appearance and / or text of a contact user interface object 620a having a first color (such as blue)), and displays contact user interface objects 620b and 620c having a second appearance different from the first appearance (e.g., a non-bold appearance and / or text of contact user interface objects 620b and 620c having a second color (such as green)). Thus, the electronic device 600 displays contact user interface objects 620a to 620c having the first appearance and / or the second appearance to indicate information about a specific contactable user represented by the contact user interface objects 620a to 620c.

[0234] In some embodiments, when the electronic device 600 determines that information associated with a contactable user represented by a contact user interface object indicates that a device associated with the contactable user includes a real-time communication application (e.g., a specific real-time communication application associated with the first user interface 604 and the second user interface 612), the electronic device 600 displays a contact user interface object having the first appearance (e.g., the contact user interface object 620a). Similarly, when the electronic device 600 determines that information associated with a contactable user represented by a contact user interface object indicates that a device associated with the contactable user does not include a real-time communication application (e.g., a specific real-time communication application associated with the first user interface 604 and the second user interface 612), the electronic device 600 displays a contact user interface object having the second appearance (e.g., the contact user interface objects 620b and 620c).

[0235] In some embodiments, when the electronic device 600 determines that information associated with a contactable user represented by a contact user interface object indicates that a device associated with the contactable user includes a specific operating system software, the electronic device 600 displays a contact user interface object having the first appearance (e.g., the contact user interface object 620a). Similarly, when the electronic device 600 determines that information associated with a contactable user represented by a contact user interface object indicates that a device associated with the contact does not include a specific operating system software, the electronic device 600 displays a contact user interface object having the second appearance (e.g., the contact user interface objects 620b and 620c).

[0236] In some embodiments, when the electronic device 600 determines that information associated with a contact user represented by a contact user interface object indicates that the contact user has a particular account (e.g., an account associated with a particular real-time communication application) and / or has checked into a particular account, the electronic device 600 displays a contact user interface object having a first appearance (e.g., contact user interface object 620a). Similarly, when the electronic device 600 determines that information associated with a contact user represented by a contact user interface object indicates that the contact user does not have a particular account and / or has not checked into a particular account, the electronic device 600 displays a contact user interface object having a second appearance (e.g., contact user interface objects 620b and 620c).

[0237] At Figure 6E which, the electronic device 600 detects a user input 650f corresponding to a selection of the contact user interface object 620c. In response to detecting the user input 650f, the electronic device 600 displays a second user interface 612, as Figure 6F shown.

[0238] At Figure 6F which, the electronic device 600 displays a second user interface 612 having a second contact user indicator 612i in an invitee area 612a. The second contact user indicator 612i corresponds to the contact user associated with the contact user interface object 620c, namely Ivy Smith. At Figure 6F which, the electronic device 600 displays a first contact user indicator 612g having a second appearance different from the first appearance (e.g., as Figure 6D shown), such as a non-bold appearance and / or text of the contact user interface object 620a having a first color (such as green), and displays a second contact user indicator 612i having a second appearance. In some embodiments, when the electronic device 600 determines that information associated with at least one contact user represented by a displayed contact user indicator indicates that a device associated with the contact user does not include a real-time communication application (e.g., a particular real-time communication application associated with the first user interface 604 and the second user interface 612), the electronic device 600 displays each contact user indicator as having a second appearance (e.g., instead of the first appearance). In some embodiments, when the electronic device 600 determines that information associated with at least one contact user represented by a displayed contact user indicator indicates that a device associated with the contact user does not include a particular operating system software, the electronic device 600 displays each contact user indicator as having a second appearance (e.g., instead of the first appearance).

[0239] At Figure 6FAt this point, the electronic device 600 displays (e.g., redisplay) the suggested invitee area 612b, but does not display the audio user interface object 612c and the real-time communication user interface object 612d. Instead, the electronic device 600 displays the continue user interface object 612j. The electronic device 600 does not display the audio user interface object 612c and the real-time communication user interface object 612d because the information associated with the contactable user indicated by the second contactable user indicator 612i indicates that the device of the contactable user does not include a real-time communication application (and optionally, does not include an account (or a specific account) associated with the real-time communication application). Even if the electronic device 600 determines that the information associated with the contactable user indicated by the first contactable user indicator 612g indicates that the device of the contactable user includes a real-time communication application, since the device of one of the contactable users included in the invitee area 612a does not include a real-time communication application, the electronic device 600 also does not display the audio user interface object 610c and the real-time communication user interface object 612d (e.g., the electronic device 600 cannot initiate a real-time communication session with the two invitees included in the invitee area 612a because at least one invitee does not include a real-time communication application).

[0240] For example, the device associated with Ivy Smith does not include a real-time communication application, and thus the electronic device 600 cannot initiate a real-time communication with Ivy Smith via the real-time communication application (e.g., the electronic device 600 cannot send and / or transmit data via the real-time communication application that causes the device associated with Ivy Smith to output a notification). Instead, the electronic device 600 displays the continue user interface object 610j, which, when selected via a user input, causes the electronic device 600 to generate and / or receive a link to a real-time communication session. The link to the real-time communication session enables Ivy Smith to join the real-time communication session without using a device that includes a real-time communication application (e.g., Ivy Smith can join the real-time communication session via a web browser on a device that does not include a real-time communication application).

[0241] At Figure 6F this point, the electronic device 600 detects a user input 650g corresponding to the selection of the continue user interface object 612j. In response to detecting the user input 650g, the electronic device 600 displays the messaging user interface 622, as Figure 6G shown. In response to detecting the user input 650g, the electronic device 600 generates and / or receives a link to a real-time communication session, which can be used by a device without a real-time communication application to join the real-time communication session.

[0242] At Figure 6FAt, the message transmission user interface 622 includes a recipient area 622a, a message area 622b, a composition area 622c, a send user interface object 622d, and a keyboard 622e. At Figure 6F At, the electronic device 600 displays the message transmission user interface 622 as an overlay on the second user interface 612. In some embodiments, the electronic device 600 launches a message transmission application associated with the message transmission user interface 622 and replaces the display of the second user interface 612 with the message transmission user interface 622.

[0243] In response to detecting a user input 650g, the electronic device 600 automatically populates the recipient area 622a with a first contact user indicator 622f corresponding to the first contact user indicator 612g (e.g., Lauren Jones) and a second contact user indicator 622g corresponding to the second contact user indicator 622i (e.g., Ivy Smith). For example, a user of the electronic device 600 does not need to provide additional user input to add recipients who will receive a message sent via the message transmission user interface 622. Additionally, the electronic device 600 automatically populates the composition area 622c with a linked user interface object 624a and a draft message 624b. The composition area 622c of the message transmission user interface 622 displays characters and / or graphical user interface objects corresponding to the detected user input but not yet sent by the electronic device 600 to one or more recipient devices. For example, the composition area 622c displays a draft of a message that can ultimately be sent by the electronic device 600 to a recipient in response to detecting a user input corresponding to the send user interface object 622d. Thus, the electronic device 600 automatically populates the composition area 622c with the linked user interface object 624a and the draft message 624b such that the user can review the recipient area 622a, review the composition area 622c, and / or edit the draft message 624b (e.g., via one or more user inputs corresponding to the keyboard 622e) before causing the electronic device 600 to send the message. In some embodiments, the linked user interface object 624a is a hyperlink to a unique uniform resource locator for a real-time communication session. The linked user interface object 624a enables a user who selects the linked user interface object 624a to participate in a real-time communication session with another user who has access to the unique uniform resource locator associated with the linked user interface object 624a.

[0244] At Figure 6FAt this point, the message area 622b is blank, indicating that the message has not yet been sent from the electronic device 600 to the first electronic device (a device different from the electronic device 600) associated with Lauren Jones and / or the second electronic device (a device different from the electronic device 600) associated with Ivy Smith. In some embodiments, the electronic device 600 displays in the message area 622b messages previously sent and / or received between the electronic device 600, the first electronic device, and the second electronic device.

[0245] At Figure 6F this point, the electronic device 600 detects a user input 650h corresponding to the send user interface object 622d. In response to detecting the user input 650h, the electronic device 600 initiates a process for sending a message including the link user interface object 624a and the draft message 624b to recipients corresponding to the first contactable user indicator 622f and the second contactable user indicator 622g (e.g., Lauren Jones and Ivy Smith). Additionally, in response to detecting the user input 650h, the electronic device 600 displays in the message area 622b a message including the link user interface object 624a and the draft message 624b. As elaborated below, after detecting the user input 650h, the electronic device 600 displays a user interface object 606h on the first user interface 604, as Figure 6L shown.

[0246] In some embodiments, in response to detecting the user input 650f (as Figure 6E shown), the electronic device 600 displays a second user interface 612 that includes a shared user interface object 612k and a message user interface object 612l instead of including a continue user interface object 612j (as Figure 6F shown). For example, at Figure 6H this point, the electronic device 600 displays the second contactable user indicator 612i in the invitee area 612a of the second user interface 612. The electronic device 600 displays the first contactable user indicator 612g and the second contactable user indicator 612i having a second appearance (e.g., a non-bold appearance and / or text of the contact user interface object 620a having a first color such as green), the second appearance indicating that at least one contactable user associated with the first contactable user indicator 612g and / or the second contactable user indicator 612i is associated with a device that does not include a real-time communication application.

[0247] In addition, the electronic device 600 does not display the audio user interface object 612c and the real-time communication user interface object 612d. Instead, the electronic device 600 displays the shared user interface object 612k and the message user interface object 612l (e.g., in the same area and / or at the same position as the audio user interface object 612c and the real-time communication user interface object 612c of the second user interface 612). The electronic device 600 does not display the audio user interface object 612c and the real-time communication user interface object 612d because the electronic device 600 determines that the information associated with the contactable user represented by the second contactable user indicator 612i indicates that the device of the contactable user does not include a real-time communication application (and optionally, does not include an account associated with the real-time communication application). Even if the electronic device 600 determines that the information associated with the contactable user represented by the first contactable user indicator 612g indicates that the device of the contactable user includes a real-time communication application, the electronic device 600 does not display the audio user interface object 610c and the real-time communication user interface object 612d because the device of one of the contactable users included in the invitee area 612a does not include a real-time communication application.

[0248] At Figure 6H this point, the electronic device 600 detects a user input 650i corresponding to the selection of the message user interface object 612l. In response to detecting the user input 650i, the electronic device 600 displays the messaging user interface 622, as Figure 6G shown. Alternatively, the electronic device 600 detects a user input 650j corresponding to the selection of the shared user interface object 612k. In response to detecting the user input 650j, the electronic device 600 displays the shared user interface 626, as Figure 6I shown. Alternatively, as described above, the electronic device 600 displays the shared user interface 626 in response to detecting a user input 650b corresponding to the selection of the link sharing user interface object 608, as Figure 6A shown.

[0249] At Figure 6IAt this point, the shared user interface 626 includes a first sharing area 626a that provides one or more sharing options for a first group of invitees and a second sharing area 626b that provides one or more sharing options for a second group of invitees different from the first group of invitees. For example, the first sharing area 626a includes different sharing options for sharing a link to a real-time communication session with invitees (e.g., the selected users indicated by the first contact user indicator 612g and / or the second contact user indicator 612i of the invitee area 612a), where these invitees are associated with devices that do not include a real-time communication application and / or devices that do not include specific operating system software. The second sharing area 626b includes one or more sharing options (e.g., one or more sharing options that can be selected in response to detecting a user input corresponding to the third shared user interface object 630) for sharing a link to a real-time communication session (or, in some embodiments, sharing an invitation and / or notification associated with the link to the real-time communication session) with invitees who are associated with devices that include a real-time communication application and / or devices that include specific operating system software.

[0250] At Figure 6I this point, the first sharing area 626a includes a second shared user interface object 628a, a copy user interface object 628b, and a second messaging user interface object 628c. At Figure 6I this point, the electronic device 600 detects a user input 650k that selects the second shared user interface object 628a. In response to detecting the user input 650k, the electronic device displays an indicator 629 near and / or above the second shared user interface object 628a, indicating that the second shared user interface object has been selected. When the second shared user interface object 628a is selected and the electronic device 600a detects a user input corresponding to the continue user interface object 631, the electronic device 600 displays the second shared user interface 632, as Figure 6J shown.

[0251] When the copy user interface object 628b is selected and the electronic device 600 detects a user input corresponding to the continue user interface object 631, the electronic device 600 copies and / or stores (e.g., temporarily stores) data associated with the link to the real-time communication session. After the electronic device 600 copies the data associated with the link to the real-time communication session, the electronic device 600 can paste the link to the real-time communication session in response to detecting a further user input (e.g., a touch-and-hold gesture). For example, the electronic device 600 can paste the link to the real-time communication session by displaying text and / or user interface objects in the composition area for drafting a message. When the second messaging user interface object 628c is selected and the electronic device 600 detects a user input corresponding to the continue user interface object 631, the electronic device 600 displays the messaging user interface 622, as Figure 6G shown.

[0252] The second sharing area 626b includes a third shared user interface object 630 that indicates a sharing option for sending an invitation (e.g., a notification and / or a link to a real-time communication session) to a second group of invitees rather than the first group of invitees. The second group of invitees includes contactable users associated with devices that include a real-time communication application and / or devices that include a specific operating system software that enables the device to receive an invitation to a real-time communication session, the invitation not necessarily including the link (e.g., a uniform resource locator). For example, in response to detecting a user input corresponding to the third shared user interface object 630, the electronic device 600 displays a sharing option for sending an invitation to the second group of invitees, the sharing option possibly including sharing options different from those available via the first sharing area 626a and / or the second shared user interface 632. In some embodiments, the electronic device 600 shares the invitation with the second group of invitees via a notification of the real-time communication application (e.g., the invitee's device outputs a notification associated with the real-time communication application). In some embodiments, the electronic device 600 shares the invitation with the second group of invitees by calling the device associated with the second group of invitees. For example, the electronic device can call the device associated with the second group of invitees by communicating with the invitee device over a network such that the invitee device rings and / or outputs a notification related to the communication from the electronic device 600. In some embodiments, the electronic device 600 uses the same sharing option (e.g., communication protocol) as the first group of invitees to share the invitation with the second group of invitees.

[0253] In Figure 6IAt this point, the electronic device detects user input 650l corresponding to the selection of the continued user interface object 631. In response to detecting user input 650l and based on determining that the second shared user interface object 628a has been selected (e.g., via user input 650k), the electronic device 600 displays the second shared user interface 632, as Figure 6J shown.

[0254] At Figure 6J this point, the electronic device 600 displays the second shared user interface 632 as an overlay on the shared user interface 626. In some embodiments, the electronic device 600 replaces the display of the shared user interface 626 with the display of the second shared user interface 632. At Figure 6J this point, the second shared user interface 632 includes shared option user interface objects 632a to 632e and a copy user interface object 632f. The shared option user interface objects 632a to 632e correspond to different sharing techniques, applications, and / or communication modes for sending a link to a real-time communication session to a first group of invitees (and optionally, a second group of invitees). The first shared option user interface object 632a corresponds to an option for sharing a link to a real-time communication session via direct wireless communication (e.g., short-range communication connections such as Bluetooth, Wi-Fi, and / or Zigbee that directly send the link from the electronic device 600 to one or more invitee devices without an intermediate device). For example, the first option user interface object 632a enables the link to the real-time communication session to be shared with an external device (e.g., the invitee's external device) via a direct wireless communication protocol. The second shared option user interface object 632b corresponds to a first messaging application (e.g., a first chat and / or text messaging application) that is configured to share a link to a real-time communication session via an electronic message (e.g., an asynchronous message such as a text message). In some embodiments, the first messaging application is the messaging application associated with the messaging user interface 622. The third shared option user interface object 632c corresponds to a second messaging application different from the first messaging application (e.g., a second chat and / or text messaging application) that is configured to share a link to a real-time communication session via an electronic message (e.g., asynchronous messages such as text messages and / or chat messages). The fourth shared option user interface object 632d corresponds to an email application that is configured to share a link to a real-time communication session via email.

[0255] At Figure 6JAt this point, the electronic device 600 partially displays the fifth shared option user interface object 632e. In response to detecting user input (e.g., a left swipe gesture) on the second shared user interface 632, the electronic device 600 pans the shared option user interface objects 632a to 632e to display (e.g., fully display) the fifth shared option user interface object 632e and / or display one or more additional shared option user interface objects. In some embodiments, the fifth shared option user interface object 632e corresponds to another application that enables the electronic device 600 to share a link to a real-time communication session via an electronic message, short-range communication, email, notification, and / or another suitable communication protocol.

[0256] At Figure 6J this point, the electronic device 600 detects user input 650m corresponding to the selection of the third shared option user interface object 632c. In response to detecting the user input 650m, the electronic device 600 displays the chat user interface 634 of the second messaging application, as Figure 6K shown.

[0257] At Figure 6K this point, the chat user interface 634 includes a draft message 634a, a link 634b, and a send user interface object 634c. The draft message 634a is an automatically generated (e.g., generic) message indicating that the link 634b corresponds to a real-time communication session. The electronic device 600 may change the content of the draft message 634b in response to detecting one or more user inputs on the keyboard 634d pointing to the chat user interface 634. For example, a user of the electronic device 600 may draft a personalized message to send along with the link 634b. The link 634b is a unique uniform resource locator corresponding to the virtual room for the real-time communication session. At Figure 6K this point, the electronic device 600 detects user input 650n corresponding to the send user interface object 634c. In response to detecting the user input 650n, the electronic device 600 initiates a process for sending a message including the draft message 634a and the link 634b via the second messaging application.

[0258] After sending a message via the second messaging application (as Figure 6K shown) and / or after sending a message via the messaging application (as Figure 6G shown), the electronic device 600 displays the first user interface 604, as Figure 6L shown. In some embodiments, in response to detecting the user input 650h (as Figure 6G shown) and / or in response to detecting the user input 650n (as Figure 6K shown), the electronic device 600 displays the real-time communication user interface 636, asFigure 6M As shown. Thus, in such embodiments, the electronic device 600 initiates a real-time communication session in response to detecting that a message including a link to a real-time communication session (e.g., link user interface object 624a and / or link 634b) has been sent (e.g., via the electronic device 600).

[0259] At Figure 6L this point, the electronic device 600 displays a first user interface 604 at a first time after the link sent to the real-time communication session. The electronic device 600 displays a first user interface 604 having a user interface object 606h corresponding to the link sent to the real-time communication session (e.g., link user interface object 624a and / or link 634b). In addition, the electronic device 600 displays a region 604d corresponding to the current time (e.g., 10:09) on the first user interface 604. As Figure 6L shown, the region 604d is displayed before (e.g., above) the regions 604a to 604c, indicating that the user interface object 606h corresponds to the real-time communication session closest to the current time and / or the real-time communication session is in progress. As will be elaborated below, the electronic device 600 may change and / or adjust the appearance of the user interface object 606h (and optionally, other user interface objects corresponding to the ongoing real-time communication session) in response to detecting one or more events.

[0260] At Figure 6L this point, the electronic device 600 detects a user input 650o corresponding to the selection of the user interface object 606h. In response to detecting the user input 650o, the electronic device 600 displays a real-time communication user interface 636, as Figure 6M shown. In some embodiments, the electronic device 600 displays a real-time communication user interface 636 in response to detecting a user input 650o corresponding to the selection of the user interface object 606h (e.g., when displaying the first user interface 604), and in some embodiments, the electronic device 600 displays a real-time communication user interface 636 in response to detecting a user input 650h and / or a user input 650n corresponding to a request to send a message including a link to a real-time communication session.

[0261] At Figure 6MAt, the real-time communication user interface 636 includes a first participant indicator 638 corresponding to a first invitee of the real-time communication session (e.g., the user associated with the contact user indicator 612g; Lauren Jones), a second participant indicator 640 corresponding to a second invitee of the real-time communication session (e.g., the user associated with the contact user indicator 612i; Ivy Smith), and a user indicator 642 corresponding to the field of view of the camera of the electronic device 600 (which is associated with the user of the electronic device 600). At Figure 6M At, the first participant indicator 638 includes a visual indicator 638a of the first invitee (e.g., an avatar, a photo, and / or another visual representation) and an identifier 638b of the first invitee (e.g., a name, a nickname, a username, and / or an email address). Similarly, the second participant indicator 640 includes a visual indicator 640a of the second invitee (e.g., an avatar, a photo, and / or another visual representation) and an identifier 640b of the second invitee (e.g., a name, a nickname, a username, and / or an email address). Since the first invitee and the second invitee have not yet joined the real-time communication session, the electronic device 600 displays the visual indicator 638a and the visual indicator 640a respectively. As will be elaborated below, when the first invitee and / or the second invitee join the real-time communication session, the electronic device 600 does not display the visual indicator 638a and / or the visual indicator 640a respectively (or removes the display thereof), but instead displays a real-time image (e.g., a snapshot and / or a video feed) of the first invitee and / or the second invitee.

[0262] In addition, the first participant indicator 638 includes a messaging user interface object 638c, and the second participant indicator 640 includes a messaging user interface object 640c. In response to detecting a user input corresponding to the messaging user interface object 638c and / or the messaging user interface object 640c, the electronic device 600 displays a messaging user interface that enables the electronic device 600 to send an electronic message (e.g., a text message) to the first invitee (e.g., the device associated with the first invitee) and / or the second invitee (e.g., the device associated with the second invitee).

[0263] Furthermore, at Figure 6MAt this point, the first participant indicator 638 includes a call user interface object 638d (e.g., "Ringing"), and the second participant indicator 640 includes a status indicator 640d (e.g., "Invitation Sent"). As elaborated above, the first invitee (e.g., Lauren Jones) is a user associated with a device having a real-time communication application and / or a device having a specific operating system software. Thus, the electronic device 600 displays the call user interface object 638d, which when selected via user input causes the electronic device 600 to call the device of the first invitee (e.g., initiate a real-time communication with the device of the first invitee). Since the second invitee (e.g., Ivy Smith) includes a user associated with a device not having a real-time communication application and / or a device not including the specific operating system software, the electronic device 600 is unable to call the device of the second invitee via the real-time communication application. Thus, the electronic device 600 displays the status indicator 640d, which indicates that the electronic device 600 has sent a link to the real-time communication session to the second invitee (e.g., the device of the second invitee) (and / or initiated a process for sending the link) without enabling the electronic device 600 to call the second invitee via the real-time communication application.

[0264] At Figure 6N this point, the electronic device 600 displays a first user interface 604 at a second time after a first time after the link to the real-time communication session has been sent. At Figure 6N this point, the electronic device 600 displays a user interface object 606h with an updated appearance in response to detecting that the first invitee (e.g., Lauren Jones) and the second invitee (e.g., Ivy Smith) have joined the real-time communication session. For example, the user interface object 606h includes a participant identifier 642a (e.g., a text indication of the participant who has joined the real-time communication session) and a participant icon 642b (e.g., a visual indication of the participant who has joined the real-time communication session and / or the number of participants). In response to detecting that one or more invitees have joined the real-time communication session, the electronic device 600 displays the user interface object 606h, which has a visual indication of the identifier of the joined invitee via the participant identifier 642a and the identity and / or number of the joined participants via the participant icon 642b. Thus, the user of the electronic device 600 can quickly and easily (e.g., without additional input) determine the participants currently engaged in the real-time communication session without having to join the real-time communication session.

[0265] At Figure 6NAt this point, the electronic device 600 detects a user input 650p corresponding to the selection of the user interface object 606h. In response to detecting the user input 650p, the electronic device 600 displays a real-time communication user interface 636, as Figure 6O shown.

[0266] Since some invitees have joined the real-time communication session, the electronic device 600 displays a real-time communication user interface 636 having a first participant representation 644 and a second participant representation 646. The first participant representation 644 includes a real-time image and / or video feed captured via a device associated with a first invitee (e.g., Lauren Jones), and a first participant identifier 644a of the first invitee (e.g., name, nickname, username, and / or email address). Similarly, the second participant representation 646 includes a real-time image and / or video feed captured via a device associated with a second invitee (e.g., Ivy Smith), and a second participant identifier 646a of the second invitee (e.g., name, nickname, username, and / or email address).

[0267] As elaborated above, the electronic device 600 determines that the second invitee and / or participant (e.g., Ivy Smith) is not associated with a device including a real-time communication application and / or specific operating system software. Accordingly, the electronic device 600 displays a remove user interface object 648 on the second participant representation 646. In response to detecting a user input corresponding to the remove user interface object 648, the electronic device 600 causes the second invitee and / or participant to be removed from the real-time communication session (e.g., the electronic device 600 causes the device of the second invitee and / or the second participant to disconnect from the real-time communication session). Additionally, the electronic device 600 determines that the first invitee and / or participant (e.g., Lauren Jones) is associated with a device including a real-time communication application and / or specific operating system software. Accordingly, the electronic device 600 does not display a remove user interface object 648 on the first participant representation 644. In some embodiments, the electronic device 600 does not display a remove user interface object 648 for any of the participants in the real-time communication session. In some embodiments, the electronic device 600 displays a remove user interface object 648 for all of the participants in the real-time communication session. Further techniques related to the ability to remove users from a real-time communication session and / or allow users to participate in a real-time communication session are described below with reference to Figures 9A to 9H and Figure 10 Additional techniques related to the ability to remove users from a real-time communication session and / or allow users to participate in a real-time communication session are described further.

[0268] In some cases, a user may wish to send a link to a real-time communication session via a method different from the real-time communication application as elaborated above with reference to Figures 6A to 6K described. Figures 6P to 6RAn implementation is shown in which an electronic device 600 generates and / or sends a link to a real-time communication session via a messaging application. Additionally, Figures 6R to 6V An implementation is shown in which an electronic device 600 generates a link to a real-time communication session via a calendar application.

[0269] At Figure 6P a location, the electronic device 600 displays a messaging user interface 652 (e.g., the same messaging user interface as the messaging user interface 622 and / or a different messaging user interface from the messaging user interface 622). The messaging user interface 652 includes a recipient indicator 652a, a message area 652b, a composition area 652c, a suggested content area 652d, and a keyboard 652e. At Figure 6P a location, the recipient indicator 652a indicates that a message sent via the messaging application will be sent to a single recipient (e.g., Gina). In some implementations, the recipient indicator 652a may include more than one recipient. Additionally, the message area 652b includes messages previously sent and received between the recipient and the user of the electronic device 600.

[0270] At Figure 6P a location, the electronic device 600 detects one or more user inputs corresponding to the keyboard 652e and displays the content of a draft message (e.g., "Video chat on Tuesday night") in the composition area 652c. In response to detecting one or more user inputs, the electronic device 600 compares the content with one or more predefined characters indicating the user's intention to schedule and / or initiate a real-time communication session. For example, at Figure 6PAt this point, the content of the draft message includes the word "video chat". The electronic device 600 determines that the word "video chat" matches one or more predefined characters and displays a real-time communication user interface object 654 in the suggestion content area 652d. The real-time communication user interface object 654 corresponds to a link to a real-time communication session generated by and / or received via the electronic device 600. Additionally, the real-time communication user interface object 654 corresponds to a link to a real-time communication session scheduled at a time corresponding to the content of the draft message in the composition area 652c. For example, the content of the draft message includes the word "Tuesday night", indicating the user's intention to schedule a real-time communication session on the upcoming Tuesday night. In some embodiments, the electronic device 600 generates a link to schedule the real-time communication session at a time on the upcoming Tuesday that corresponds to night (e.g., based on the current time zone of the electronic device 600), such as 5 PM, 6 PM, and / or 7 PM. Thus, a user of the electronic device 600 can type a draft message that mentions communicating and / or having a meeting at a specific time (e.g., via a real-time communication session), and the electronic device 600 displays a real-time communication user interface object 654 that suggests the user schedule the real-time communication session at a time corresponding to the content of the draft message.

[0271] At Figure 6P this point, the electronic device 600 detects a user input 650q corresponding to the selection of the real-time communication user interface object 654. In response to detecting the user input 650q, the electronic device 600 schedules a real-time communication session (e.g., adds and / or displays a user interface object corresponding to the scheduled real-time communication session on the first user interface 604), sends a message with a link corresponding to the real-time communication user interface object 654, and displays a message 656 in the message area 652b of the messaging user interface 652, as Figure 6Q shown.

[0272] At Figure 6Q this point, the message 656 includes a link 656a and a message portion 656b. The link 656a is a uniform resource locator corresponding to a real-time communication session at the scheduled time (e.g., the upcoming Tuesday night). The recipient's device displays the link 656a in the corresponding messaging application on the recipient's device. In some embodiments, the recipient can select the link 656a before the scheduled time, but the real-time communication session will not be initiated until the scheduled time. At Figure 6P this point, the message portion 656b of the message 656 includes an automatically generated (e.g., default) message. In some embodiments, in response to selecting the real-time communication user interface object 654, the electronic device 600 enables the user to change and / or modify the automatically generated message before sending the message 656 to the recipient.

[0273] In some cases, the content of the draft message in the composition area 652c corresponds to an invitation to a previously scheduled real-time communication session. For example, at Figure 6R , the electronic device 600 detects one or more user inputs corresponding to the keyboard 652e and displays the content of the draft message in the composition area 652c (e.g., "Video call on Tuesday night"). In response to detecting one or more user inputs, the electronic device 600 compares the content with a set of criteria (e.g., one or more predefined characters indicating the user's intention to schedule and / or initiate a real-time communication session). At Figure 6R , the content of the draft message includes the word "Video call". The electronic device 600 determines that the word "Video call" matches one or more predefined characters and displays a first real-time communication user interface object 658 and a second real-time communication user interface object 660 in the suggested content area 652d.

[0274] The first real-time communication user interface object 658 corresponds to a link to a new real-time communication session generated by and / or received via the electronic device 600. At Figure 6R , the electronic device 600 determines that the content of the draft message indicates a time (e.g., "Tuesday night") at and / or near a previously scheduled real-time communication session (e.g., within 30 minutes, within 1 hour, and / or within 2 hours). Accordingly, the electronic device 600 displays a second real-time communication user interface object 660 that corresponds to a previously scheduled real-time communication session at and / or near the time indicated by the content of the draft message. Thus, a user of the electronic device 600 can quickly and easily invite a recipient to a previously scheduled real-time communication session (e.g., via the second real-time communication user interface object 660) and / or schedule a new real-time communication session with the recipient (e.g., via the first real-time communication user interface object 658).

[0275] As described above, Figures 6S to 6V an implementation is shown in which the electronic device 600 generates a link to a real-time communication session via a calendar application. At Figure 6S , the electronic device 600 displays a calendar user interface 662 that includes a calendar 662a and a new event user interface object 662b. At Figure 6S , the electronic device 600 detects a user input 650r corresponding to the selection of the new event user interface object 662b. In response to detecting the user input 650r, the electronic device 600 displays a scheduling user interface 664 of the calendar application, as Figure 6T shown.

[0276] The scheduling user interface 664 of the calendar application enables the electronic device 600 to create a new event (e.g., an appointment, a meeting, and / or another scheduled event), and the electronic device 600 adds the new event to the calendar 662a of the calendar user interface 662 (e.g., a user interface object corresponding to the new event displayed on the calendar 662a). The scheduling user interface 664 includes scheduling option user interface objects 664a to 664h, which, when selected via user input, enable the user of the electronic device 600 to specify and / or customize details related to the new event, such as timing information related to the new event, the location of the new event, invitees to be invited to the new event, and / or the communication mode of the new event (e.g., in-person, video conference, audio conference, and / or another communication mode).

[0277] At Figure 6T this point, the electronic device 600 detects a user input 650s corresponding to the selection of the real-time communication session user interface object 664b (e.g., for a video conference or an audio conference or a video and / or audio conference). In response to detecting the user input 650s, the electronic device 600 displays the real-time communication session user interface 666, as Figure 6U shown.

[0278] At Figure 6UAt this point, the real-time communication session user interface 666 includes real-time communication session option user interface objects 666a through 666f. The first real-time communication session option user interface object 666a corresponds to a non-real-time communication session option that, when selected via user input, causes a new event to be designated as a non-real-time communication session (e.g., an on-site meeting and / or an appointment and / or an audio conference and / or an appointment). Additionally, the real-time communication session option user interface objects 666b through 666e correspond to real-time communication session applications that can be used to conduct and / or initiate a real-time communication session for a new event. In some embodiments, the real-time communication sessions of one or more of the option user interface objects 666b through 666e correspond to real-time communication session applications installed on the electronic device 600 (e.g., applications that have been downloaded and enabled for use on the electronic device 600). In some embodiments, one or more of the real-time communication session option user interface objects 666b through 666e correspond to real-time communication session applications installed on the electronic device 600 and to which the user of the electronic device 600 has checked in (e.g., the user has logged into an account associated with the corresponding real-time communication session application). The real-time communication session user interface object 666f corresponds to a custom link option for the real-time communication session. In response to detecting user input corresponding to the real-time communication session user interface object 666f, the electronic device 600 prompts the user for a link to the real-time communication session (e.g., the link user interface object 624a and / or the link 634b). In some embodiments, the link to the real-time communication session corresponds to a real-time communication session application that is not represented by and / or not associated with the real-time communication session user interface objects 666b through 666e.

[0279] At Figure 6U this point, the electronic device 600 detects user input 650t corresponding to the selection of the real-time communication session option user interface object 666d (e.g., corresponding to a real-time communication session application called "Boom" that is different from the above-mentioned real-time communication application "RTCApp"). In response to detecting the user input 650t, the electronic device 600 displays the real-time communication session details user interface 668, as Figure 6V shown.

[0280] At Figure 6V this point, the real-time communication session details user interface 668 includes user interface objects 668a through 668c corresponding to various options and / or details of the real-time communication session, which is configured to be executed via the real-time communication session application (e.g., "Boom") corresponding to the real-time communication session option user interface object 666d. At Figure 6VAt this point, the user interface object 668a corresponds to a one-time room for a real-time communication session (e.g., video conference) associated with a new event. In response to detecting a user input corresponding to the user interface object 668a, the electronic device 600 creates, schedules, and / or designates a new one-time use virtual room for the real-time communication session associated with the new event. In some embodiments, the new one-time use virtual room cannot be used for additional real-time communication sessions that occur after the real-time communication session associated with the new event.

[0281] At Figure 6V this point, the user interface object 668b corresponds to a personal room for a real-time communication session (e.g., video conference) associated with a new event. In response to detecting a user input corresponding to the user interface object 668b, the electronic device 600 schedules and / or designates a virtual room associated with the account of the user of the electronic device 600 (e.g., an account logged into a real-time communication session application associated with the real-time communication session option user interface object 666d (e.g., "Boom")) for the real-time communication session associated with the new event. In some embodiments, the virtual room can be used for additional real-time communication sessions that occur after the real-time communication session associated with the new event.

[0282] In addition, at Figure 6V this point, the user interface object 668c corresponds to a password for real-time communication associated with a new event. In response to detecting a user input corresponding to the user interface object 668c, the electronic device 600 generates a password and / or enables the user to input a password that restricts access to the real-time communication session associated with the new event. For example, when the user interface object 668c is selected, invitees and / or users attempting to join the real-time communication session will not be allowed to participate in the real-time communication session unless they input the correct password. In some embodiments, the invitation to the real-time communication session associated with the new event includes a password such that invitees authorized (e.g., selected via user input) by the user of the electronic device 600 can join the real-time communication session by inputting the password. In addition, unauthorized invitees without a password and / or with an incorrect password are blocked from joining the real-time communication session.

[0283] Although Figure 6VIllustrated is a real-time communication session details user interface 668 having user interface objects 668a through 668c, but in some embodiments, the real-time communication session details user interface 668 includes more than three or fewer than three user interface objects. In some embodiments, the real-time communication session details user interface 668 includes user interface objects specific to and / or otherwise corresponding to options unique to the respective real-time communication session application. Thus, the real-time communication session details user interface 668 can include different user interface objects corresponding to different options and / or details of the real-time communication session, depending on which real-time communication session user interface objects 666b through 666e are selected.

[0284] Figures 7A to 7H is a flowchart showing a method for sharing a link to a real-time communication session using a computer system according to some embodiments. Method 700 is performed at a computer system (e.g., 100, 300, 500, 600, 900, 902, 904, and / or 906) (e.g., an electronic device; a smart device such as a smart phone or a smart watch; a mobile device; a wearable device) that communicates with a display generation component (e.g., 602) and one or more input devices (e.g., 602). Some operations in method 700 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

[0285] As described below, method 700 provides an intuitive way to share a link to a real-time communication session. The method reduces the cognitive burden on the user for sharing a link to a real-time communication session, thereby creating a more efficient human-machine interface. For battery-powered computing devices, enabling the user to more quickly and efficiently share a link to a real-time communication session saves power and increases the time interval between two battery charges.

[0286] A computer system (e.g., 600) displays (702), via a display generation component (e.g., 603), a user interface (e.g., 604 and / or 612) of a real-time communication application (e.g., an application of a computer system that implements a voice and / or video conference between a user associated with the computer system and one or more users associated with a corresponding external computer system) (e.g., the main screen user interface of a video communication application, a user interface displayed in response to a user input corresponding to a request from a user associated with an external computer system (e.g., an external computer system without a specific video communication application installed), and / or a user interface displayed in response to a request to initiate a video communication session), the user interface including user-interactive graphical user interface elements (e.g., 608, 612j, and / or 612k) corresponding to links to the real-time communication session (e.g., 624a, 634b, and / or 910a) (e.g., such links that, in response to a user input corresponding to the selection of the link, initiate the real-time communication application and / or a different application (e.g., an application associated with a web browser), the different application enabling the user associated with the external computer system to participate in the real-time communication session with the user associated with the computer system) (e.g., corresponding to a link for initiating the creation of a real-time communication session between a user associated with the computer system and one or more users associated with a corresponding external computer system selected via the user interface and / or another user interface).

[0287] The computer system (e.g., 600) receives (704), via one or more input devices (e.g., 602), user input (e.g., 650b, 650g, and / or 650j) (e.g., a tap gesture) corresponding to the selection of a user-interactive graphical user interface element (e.g., 608, 612j, and / or 612k).

[0288] In response to receiving user input, a computer system (e.g., 600) initiates (706) a process for sharing a link (e.g., 624a, 634b, and / or 910a) to a real-time communication session, where the process for sharing a link to a real-time communication session includes displaying, via a display generation component, a sharing user interface (e.g., 626 and / or 632) (e.g., a pop-up window overlaid on the user interface, a sharing user interface partially overlaid on the user interface, and / or a sharing user interface replacing the user interface) that includes multiple optional options (e.g., 628a, 628b, 628c, 630, 632a, 632b, 632c, 632d, 632e, and / or 632f) (e.g., affordance representations and / or buttons corresponding to different sharing options, techniques, and / or applications for sharing the link) for sharing a link (e.g., 624a, 634b, and / or 910a) to a real-time communication session, including simultaneously displaying: a first optional option (e.g., 632a, 632b, 632c, 632d, 632e, and / or 632f) (708) for sharing a link (e.g., 624a, 634b, and / or 910a) to a real-time communication session via a first communication protocol (e.g., short message service, email, short-range communication, direct wireless communication technology, file sharing service, and / or social media application). And a second optional option (e.g., 632a, 632b, 632c, 632d, 632e, and / or 632f) (710) for sharing a link (e.g., 624a, 634b, and / or 910a) to a real-time communication session via a second communication protocol different from the first communication protocol (e.g., short message service, email, short-range communication, direct wireless communication technology, file sharing service, and / or social media application). In some embodiments, each of the multiple optional options corresponds to a respective communication protocol and / or application (e.g., a real-time communication application, a messaging application, a communication application, an email application, and / or a direct wireless communication technology, such as Bluetooth) that is configured to send the link to a user associated with an external computer system different from the computer system (e.g., a user selected via one or more user inputs detected when the computer system displays the user interface) (e.g., sending data associated with the link from the computer system to the external computer system such that the external computer system displays the link).

[0289] Including a first optional option for sharing a link to a real-time communication session via a first communication protocol and a second optional option for sharing a link to a real-time communication session via a second communication protocol provides the user with multiple options for sharing a link to a real-time communication session and reduces the amount of input required by the user to share the link. For example, the user can select an option for sharing a link to a real-time communication session without having to navigate from the user interface of the real-time communication application to another application. Reducing the amount of input required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0290] In some embodiments, a computer system (e.g., 600) detects (712), via one or more input devices (e.g., 602), a second user input (e.g., 650m) (e.g., a tap gesture, such as a single click gesture) corresponding to the selection of one of a plurality of optional options (e.g., 628a, 628b, 628c, 630, 632a, 632b, 632c, 632d, 632e, and / or 632f) (e.g., 632c). And in response to detecting the second user input (714): Based on determining that the second user input corresponds to the selection of the first optional option (e.g., 632a, 632b, 632c, 632d, 632e, and / or 632f), the computer system (e.g., 600) initiates (716) a process for sharing a link (e.g., 624a, 634b, and / or 910a) to a real-time communication session via the first communication protocol (e.g., short message service, email, short-range communication, direct wireless communication technology, file sharing service, and / or social media application) (e.g., sending, transmitting, and / or sharing the link via the first communication protocol); and based on determining that the second user input corresponds to the selection of the second optional option (e.g., 632a, 632b, 632c, 632d, 632e, and / or 632f), the computer system (e.g., 600) initiates (718) a process for sharing a link (e.g., 624a, 634b, and / or 910a) to a real-time communication session via the second communication protocol (e.g., short message service, email, short-range communication, direct wireless communication technology, file sharing service, and / or social media application) (e.g., sending, transmitting, and / or sharing the link via the second communication protocol).

[0291] Including a first optional option for sharing a link to a real-time communication session via a first communication protocol and a second optional option for sharing a link to a real-time communication session via a second communication protocol enables a user to select a preferred communication protocol for sharing a link to a real-time communication session and reduces the number of inputs required for the user to select a communication protocol and / or share a link. For example, the user can select an option for sharing a link to a real-time communication session without having to navigate from the user interface of a real-time communication application to another application. Reducing the number of inputs required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate inputs and reducing user errors when operating the device / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0292] In some embodiments, a plurality of optional options (e.g., 628a, 628b, 628c, 630, 632a, 632b, 632c, 632d, 632e, and / or 632f) correspond to a plurality of communication protocols (e.g., short message service, email, short-range communication, direct wireless communication technology, file sharing service, and / or social media application) (in some embodiments, each optional option corresponds to a respective communication protocol), and these communication protocols include email (e.g., 632d) (e.g., an application of a computer system that shares a link to a real-time communication session in an electronic message (e.g., email) via a network) and one or more real-time communication protocols (e.g., 632b and / or 632c) (e.g., an application of a computer system that shares a link to a real-time communication session via short message service, instant messaging, and / or messaging service and / or social media service).

[0293] Including a plurality of optional options corresponding to a plurality of communication protocols enables a user to select a preferred communication protocol without having to navigate to another application associated with the preferred communication protocol, thereby reducing the number of inputs required for the user to share a link. Reducing the number of inputs required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate inputs and reducing user errors when operating the device / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0294] In some embodiments, a plurality of optional options (e.g., 628a, 628b, 628c, 630, 632a, 632b, 632c, 632d, 632e, and / or 632f) correspond to a plurality of communication protocols (e.g., Short Message Service, email, short-range communication, direct wireless communication technology, file sharing service, and / or social media application) (in some embodiments, each optional option corresponds to a corresponding communication protocol), and these communication protocols include a Short Message Service protocol (e.g., 632b and / or 632c) (e.g., an application of a computer system that shares a link to a real-time communication session in a short message via a network) and one or more messaging protocols (e.g., 632b and / or 632c) (e.g., an application of a computer system that shares a link to a real-time communication session via instant communication, messaging service, and / or social media service without using the Short Message Service protocol). In some embodiments, the Short Message Service protocol corresponds to a first application installed on a computer system, and the one or more messaging protocols correspond to one or more second applications installed on the computer system.

[0295] Including a plurality of optional options corresponding to a plurality of communication protocols enables a user to select a preferred communication protocol without having to navigate to another application associated with the preferred communication protocol, thereby reducing the number of inputs required by the user to share a link. Reducing the number of inputs required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate inputs and reducing user errors when operating / interacting with the device), thereby further reducing power consumption and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0296] In some embodiments, a plurality of optional options (e.g., 628a, 628b, 628c, 630, 632a, 632b, 632c, 632d, 632e, and / or 632f) correspond to a plurality of communication protocols (e.g., Short Message Service, email, short-range communication, direct wireless communication technology, file sharing service, and / or social media application) (in some embodiments, each optional option corresponds to a corresponding communication protocol), and these communication protocols include a first messaging communication protocol (e.g., 632b) (e.g., a first application of a computer system that shares a link to a real-time communication session via Short Message Service, instant communication, and / or messaging service and / or social media service) and a second messaging communication protocol (e.g., 632c) (e.g., a second application different from the first application of a computer system that shares a link to a real-time communication session via Short Message Service, instant communication, and / or messaging service and / or social media service).

[0297] Including multiple optional options corresponding to multiple communication protocols enables a user to select a preferred communication protocol without having to navigate to another application associated with that preferred communication protocol, thereby reducing the amount of input required for the user to share a link. Reducing the amount of input required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating the device / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0298] In some embodiments, the process of initiating a link for sharing to a real-time communication session (e.g., 624a and / or 634b) includes: displaying, via a display generation component (e.g., 602), one or more user-interactive graphical user interface objects (e.g., 614a to 614h) (e.g., visual indications of users and / or contacts of a computer system including their phone numbers, email addresses, usernames, and / or other contact information associated with the respective users and / or contacts), the one or more user-interactive graphical user interface objects representing one or more previously contacted (e.g., favorite, recently contacted, or frequently contacted) users (e.g., users that have been selected by a user associated with the computer system to receive communications recently and / or within a threshold time period from the current time (e.g., last week, past day, past hour, past 30 minutes)), and selecting, when selected, the corresponding one or more previously contacted users with whom to share the link (e.g., 624a and / or 634b) to the real-time communication session.

[0299] Displaying one or more user-interactive graphical user interface objects representing one or more previously contacted users enables the user to quickly select the desired recipient to share a link to a real-time communication session without providing additional input corresponding to the identifier of the desired recipient, thereby reducing the amount of input required to select a recipient. Reducing the amount of input required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating the device / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0300] In some embodiments, one or more of a plurality of optional options (e.g., 628a, 628b, 628c, 630, 632a, 632b, 632c, 632d, 632e, and / or 632f) correspond to a direct wireless sharing protocol (e.g., 632a) (e.g., establishing a short-range communication (e.g., Bluetooth connection, Zigbee connection, and / or Wi-Fi connection) with an external computer system to transmit, send, and / or share a link to a real-time communication session without transmitting, sending, and / or sharing the link to the external computer system via an intermediate device such as a server and / or an external network (e.g., the public Internet)).

[0301] Including a plurality of optional options corresponding to a plurality of communication protocols enables a user to select a preferred communication protocol without having to navigate to another application associated with the preferred communication protocol, thereby reducing the number of inputs required by the user to share a link. Reducing the number of inputs required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate inputs and reducing user errors when operating / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0302] In some embodiments, a computer system (e.g., 600) receives (720), via one or more input devices (e.g., 602), a third user input (e.g., 650g and / or 650i) (e.g., a tap gesture, such as a single click gesture) corresponding to a selection of a messaging user interactive graphical user interface object (e.g., 612j, 612l, and / or 632b) (e.g., a first optional option, a second optional option, and / or a message invitation affordance); and in response to receiving the third user input, the computer system (e.g., 600) displays (722), via a display generation component (e.g., 602), a messaging user interface of a messaging application (e.g., 622, 634, and / or 908) (e.g., a messaging user interface including a virtual keyboard, a composition and / or input area, a message area, and one or more indicators of message recipients), wherein the messaging user interface (e.g., 622, 634, and / or 908) includes a message composition area (e.g., 622c) (e.g., an area of the messaging user interface that displays text, images, data, and / or other information to be sent to a recipient (e.g., before detecting a user input that causes the message to be sent)), and the message composition area includes a link to a real-time communication session (e.g., 624a, 634b, and / or 910a).

[0303] Displaying a messaging user interactive graphical user interface object in a real-time communication application enables a user to quickly access the messaging application by selecting the messaging user interactive graphical user interface object, without having to provide additional user input to navigate to the messaging application, thereby reducing the amount of input required by the user to share a link. Reducing the amount of input required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0304] In some embodiments, after a link (e.g., 624a, 634b, and / or 910a) is shared to a real-time communication session (e.g., after a user selection of a send enablement indication that causes a message including the link to the real-time communication session to be sent via a messaging application and / or in response to the user selection), a computer system (e.g., 600) displays (724) a second user interface (e.g., 604) of the real-time communication application (e.g., a home user interface and / or a default user interface that is displayed when the real-time communication application is launched), where the second user interface (e.g., 604) simultaneously displays: a first user interface object (e.g., 606h) (726) representing the real-time communication session corresponding to the shared link (e.g., 624a, 634b, and / or 910a) (e.g., including a visual indication and / or an enablement indication of information and / or details about the real-time communication session, such as a scheduled time of the real-time communication session, a type of the real-time communication session (e.g., audio and / or video), invitees of the real-time communication session, and / or users who have joined the real-time communication session) (in some embodiments, a user input corresponding to a selection of the first user interface object causes the computer system to display a real-time communication session user interface for participating in the real-time communication session); and a second user interface object (e.g., 606a - 606g) (728) representing a previous real-time communication session that occurred before the current time (e.g., a visual indication and / or an enablement indication corresponding to a previous real-time communication session that the user associated with the computer system joined and / or was invited to join, and including information and details about the previous real-time communication session) (in some embodiments, a user input corresponding to a selection of the second user interface object initiates a new real-time communication session with the same invitees as the previous real-time communication session).

[0305] Displaying a first user interface object representing a real-time communication session corresponding to a shared link enables a user to quickly select and initiate a real-time communication session after sharing the link, thereby reducing the amount of input required for the user to participate in the real-time communication session. Additionally, the first user interface object provides improved feedback to the user by confirming that the link to the real-time communication session has been shared and that the real-time communication session has been scheduled. Reducing the amount of input required to perform an operation and providing improved feedback enhance the operability of the device and make the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating the device / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0306] In some embodiments, displaying a second user interface (e.g., 604) includes displaying an animation of a first user interface object (e.g., 606h) that appears in a list of real-time communication sessions (e.g., 606a to 606h) (e.g., in response to detecting an event such as an invitee joining the real-time communication session, adjusting and / or changing the appearance of the first user interface object over time). In some embodiments, displaying an animation of the first user interface object directs the user's attention to the first user interface object, thereby enabling the user to quickly locate the first user interface object and / or enabling the user to understand that the first user interface object corresponds to a real-time communication session associated with the shared link.

[0307] Displaying the appearance of a first user interface object representing a real-time communication session corresponding to a shared link in an animated manner provides improved feedback to the user regarding the status of the real-time communication session. Additionally, displaying the appearance of a first user interface object representing a real-time communication session corresponding to a shared link in an animated manner provides improved feedback to the user that the first user interface object represents a real-time communication session corresponding to the shared link. Providing improved feedback enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user provide appropriate input and reducing user errors when operating the device / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and effectively.

[0308] In some embodiments, a first user interface object (e.g., 606h) is displayed in a first region (e.g., 604d) of a second user interface (e.g., 604) corresponding to a first time period (e.g., a first region corresponding to the current hour, times occurring after the current time, and / or the current day) (e.g., the first region of the second user interface is on top of a display generation component corresponding to one or more ongoing real-time communication sessions and / or one or more real-time communication sessions scheduled for a time later than the current time, the first user interface object and any additional user interface objects representing ongoing real-time communication sessions and / or real-time communication sessions scheduled for a time later than the current time are listed in chronological order in the first region (e.g., the user interface object representing the real-time communication session scheduled for the time closest to the current time is listed first and / or above other user interface objects representing real-time communication sessions occurring at a time further from the current time), and / or the first region of the second user interface is positioned above a second region of the second user interface corresponding to real-time communication sessions occurring before the current time and / or scheduled for a time before the current time), and a second user interface object (e.g., 606a to 606g) is displayed in a second region (e.g., 604a, 604b, and / or 604c) of the second user interface (e.g., 604) corresponding to a second time period different from the first time period (e.g., a second region corresponding to the current day, the previous day, and / or the current week) (e.g., the second region is positioned below the first region of the second user interface such that the second user interface object is positioned below and / or after the first user interface object, the second region and the first region do not overlap with each other, the second user interface object displayed in the second region is positioned adjacent (e.g., sharing a boundary) to a third user interface object representing a second previous real-time communication session, and / or the second user interface object, the third user interface object, and / or any additional user interface objects representing additional previous real-time communication sessions are listed in chronological order in the second region (e.g., the user interface object representing the most recent previous real-time communication session is listed first and / or above other user interface objects representing less recent previous real-time communication sessions)).

[0309] Arrange the first user interface object and the second user interface object of the second user interface into one or more regions corresponding to respective time periods such that a user can quickly and efficiently identify relevant user interface objects corresponding to a particular real-time communication session without having to scroll through a list of user interface objects to find the relevant user interface objects, thereby reducing the amount of input required for the user to initiate a real-time communication session. Reducing the amount of input required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0310] In some embodiments, a computer system (e.g., 600) (e.g., when displaying a first user interface object in a first region of a second user interface) receives (730), via one or more input devices (e.g., 602), a fourth user input (e.g., 650o and / or 650p) (e.g., a tap gesture, such as a click gesture) corresponding to a selection of the first user interface object (e.g., 606h) (e.g., a user interface object corresponding to a real-time communication session associated with a link). In response to receiving the fourth user input (e.g., 650o and / or 650p), the computer system (e.g., 600) displays (732) a representation of the real-time communication session (e.g., 636 and / or 916a), the representation including representations of real-time contributions of one or more participants in the real-time communication session (e.g., 638, 638, 642, 644, 646, 916a, 916b, 916c, and / or 916d) (e.g., a third user interface of a real-time communication application corresponding to the real-time communication session) (e.g., a user interface including a visual representation of a user associated with the computer system (e.g., a real-time image and / or real-time video feed captured by a camera of the computer system) and one or more visual representations of users invited to the real-time communication session (e.g., a placeholder image and / or avatar of a corresponding user when the corresponding user has not yet joined the real-time communication session, and / or a real-time image and / or real-time video feed of the corresponding user when the corresponding user has joined the real-time communication session)) (e.g., a user interface that enables a user to communicate (e.g., visually and / or auditorily) with one or more other users associated with an external computer system).

[0311] Displaying a third user interface of a real-time communication application in response to receiving a fourth user input enables a user to initiate a real-time communication session without additional input for adding and / or selecting one or more invitees, thereby reducing the amount of input required for the user to participate in the real-time communication session. Reducing the amount of input required to perform an operation enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0312] In some embodiments, after displaying a first user interface object (e.g., 606h) representing a real-time communication session corresponding to a shared link (e.g., 624a, 634b, and / or 910a) (e.g., when displaying a second user interface of the real-time communication application), a computer system (e.g., 600) detects (734) that a second user (e.g., a user) has joined the real-time communication session (e.g., a user different from the user associated with the computer system). After detecting that the second user has joined the real-time communication session, the computer system (e.g., 600) detects (736) a request to display the first user interface object (e.g., 606h) (e.g., an input that causes the computer system 600 to display the first user interface 604). In response to detecting the request to display the first user interface object (e.g., 606h), the computer system (e.g., 600) displays (738) the first user interface object (e.g., 606h) with an updated appearance, wherein a first portion (e.g., 642a) (e.g., text and / or image) of the first user interface object (e.g., 606h) indicates that the second user has joined the real-time communication session (e.g., adjusting and / or changing the appearance of the first user interface object to visually indicate the identity of one or more users who have joined the real-time communication session such that the user associated with the computer system is aware and / or understands that the user is currently participating in the real-time communication session, and / or adjusting and / or changing the appearance of the first user interface object to visually indicate the number of users who have joined the real-time communication session).

[0313] Updating the appearance of the first portion of the first user interface object representing a real-time communication session corresponding to a shared link provides the user with improved feedback regarding the status of the real-time communication session. Providing improved feedback enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and effectively.

[0314] In some embodiments, after displaying a first user interface object (e.g., 606h) that represents a real-time communication session corresponding to a shared link (e.g., 624a, 634b, and / or 910a) (e.g., when displaying a second user interface of a real-time communication application), a computer system (e.g., 600) detects (740) that a third user (e.g., the user and / or a second user) has joined the real-time communication session (e.g., the user selects the link and / or otherwise selects a user interface object (e.g., displayed in the user interface of the real-time communication application) to initiate the real-time communication session). After detecting that the third user has joined the real-time communication session, the computer system (e.g., 600) detects (742) a request to display the first user interface object (e.g., 606h) (e.g., an input that causes the computer system 600 to display the first user interface 604). In response to detecting the request to display the first user interface object (e.g., 606h), the computer system (e.g., 600) displays (744) the first user interface object having a visual icon (e.g., 642b) on a second portion of the first user interface object (e.g., 606h), where the visual icon (e.g., 642b) indicates that the third user has joined the real-time communication session (e.g., a text indicator that includes an identifier of the user (e.g., name, username, phone number, and / or email address) and indicates that the user has joined the real-time communication session, a visual indicator that includes an image and / or icon associated with the user and indicates that the user has joined the real-time communication session, and / or a visual indicator that includes an image and / or icon representing the number of users who have joined the real-time communication session).

[0315] Updating the visual icon of the second portion of the first user interface object that represents the real-time communication session corresponding to the shared link provides improved feedback to the user regarding the state of the real-time communication session. Providing improved feedback enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and effectively.

[0316] In some embodiments, when displaying, via a display generation component (e.g., 602), a second messaging user interface (e.g., 652) of a second messaging application (e.g., including a keyboard (e.g., virtual keyboard), a composition area, a session area, and / or an indication of one or more participants of a session), a computer system (e.g., 600) receives (746), via one or more input devices (e.g., 602), one or more user inputs (e.g., one or more user inputs selecting keys of the keyboard 652) corresponding to the content of a message configured to be sent to one or more participants in a messaging session via the messaging application (e.g., one or more inputs corresponding to a selection of keys of a keyboard (e.g., virtual keyboard) and / or user interface objects of the messaging user interface that cause text, images, and / or data to be displayed in the composition area of the messaging area, where the computer system is configured to send a message including text, images, and / or data in response to additional user inputs). In response to receiving the one or more user inputs (748): Based on determining that the content includes one or more predefined characters (e.g., alphanumeric characters and / or emoji characters), the computer system (e.g., 600) displays (750), via the display generation component, optional user interface objects (e.g., 654, 658, and / or 660) (e.g., an image, object, and / or data corresponding to a link to a real-time communication session to be included in a message configured to be sent via the messaging application of the computer system), the optional user interface object being configured to initiate, when selected via a user input, a process for sending a second link (e.g., 656a and / or 910a) to a second real-time communication session to one or more participants in the messaging session (e.g., displaying the second link and / or an object associated with the second link in the composition area of the messaging user interface such that the second link can be sent in a message via the messaging user interface of the computer system (e.g., in response to a user input to send the message)). In some embodiments, the computer system sends a second link to a second real-time communication session to one or more participants in the messaging session in response to detecting a user input corresponding to a selection of the optional user interface object.

[0317] Displaying real-time communication user interface objects enables a user to generate and / or send a link to a real-time communication session from a messaging application without navigating to the real-time communication application, thereby reducing the number of inputs required for the user to schedule and / or create a real-time communication session. Reducing the number of inputs required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate inputs and reducing user errors when operating the device / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0318] In some embodiments, when displaying optional user interface objects (e.g., 654, 658, and / or 660), a computer system (e.g., 600) receives (752) a fifth user input (e.g., 650q) (e.g., a tap gesture, such as a single click gesture) corresponding to a selection of an optional user interface object (e.g., 654, 658, and / or 660). In response to receiving the fifth user input (e.g., 650q) corresponding to a selection of an optional user interface object (e.g., 654, 658, and / or 660), the computer system (e.g., 600) displays (754) a second link (e.g., 656a and / or 910a) (e.g., an alphanumeric representation of a uniform resource locator and / or object corresponding to the second link) to a second real-time communication session in a second composition area (e.g., 652b and / or 652c) of a second messaging user interface (e.g., 652, 658, and / or 660) of a second messaging application via a display generation component (e.g., an area including text, characters, objects, images, and / or other data configured to be sent in a message via a messaging application of the computer system in response to a user input for sending a message (e.g., a user input corresponding to a send user interface object)).

[0319] Displaying the second link in the second composition area of the second messaging user interface in response to a selection of a real-time communication user interface object enables a user to send a link to a real-time communication session from the second messaging application without navigating to the real-time communication application, thereby reducing the number of inputs required for the user to schedule and / or create a real-time communication session. Reducing the number of inputs required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate inputs and reducing user errors when operating / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0320] In some embodiments, after receiving a fifth user input (e.g., 650q) corresponding to a selection of an optional user interface object (e.g., 654, 658, and / or 660) (in some embodiments, in response to detecting a user input corresponding to a selection of a sending user interface object of a messaging user interface), a computer system (e.g., 600) (e.g., in response to a request to display a list of recent and upcoming real-time communication sessions) displays (756), via a display generation component (e.g., 602), a fourth user interface (e.g., 604) of a real-time communication application (e.g., a home user interface and / or a default user interface of the real-time communication application displayed when starting the real-time communication application), wherein the fourth user interface (e.g., 604) of the real-time communication application includes a third user interface object (e.g., 606h) corresponding to a second link (e.g., 656a and / or 910a) to a second real-time communication session (e.g., an enabling representation including one or more visual indications of the second link to the second real-time communication session (e.g., a text indication and / or an image corresponding to an invitee, a participant, and / or a user of the second real-time communication and / or corresponding to a scheduled time of the second real-time communication session)).

[0321] Displaying the fourth user interface of the real-time communication application that includes the third user interface object enables a user to quickly initiate a real-time communication session, thereby reducing the number of inputs required for the user to participate in the real-time communication session. Reducing the number of inputs required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate inputs and reducing user errors when operating / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0322] In some embodiments, the second link (e.g., 656a and / or 910a) to the second real-time communication session corresponds to a previously scheduled real-time communication session (e.g., 660) that is scheduled before receiving one or more user inputs corresponding to the content of a message configured to be sent via a second messaging application (e.g., the second link to the second real-time communication session is for a previously scheduled real-time communication session that is scheduled at or after the current time; the second link to the second real-time communication session and / or sharing the second link with another user is generated before receiving one or more user inputs corresponding to the content of a message configured to be sent via a second messaging application).

[0323] Displaying a first user interface object corresponding to a previously scheduled real-time communication session enables a user to send an existing link from a second messaging application to the previously scheduled real-time communication session without navigating to the real-time communication application, thereby reducing the amount of input required for the user to schedule and / or create a real-time communication session. Reducing the amount of input required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0324] In some embodiments, in response to detecting one or more user inputs corresponding to the content of a message configured to be sent to one or more participants in a message session via a messaging application, a computer system (e.g., 600) displays (758), via a display generation component (e.g., 602): an optional user interface object (e.g., 660) (760) that is configured to initiate a process for sending a second link (e.g., 656a and / or 910a) to a second real-time communication session when selected via a user input; and a second optional user interface object (e.g., 658) (762) (e.g., an optional user interface element different from the first real-time communication user interface object; an image, object, and / or data corresponding to a link to a real-time communication session to be included in a message configured to be sent via the messaging application of the computer system) that is configured to generate a third link to a third real-time communication session when selected via a user input (e.g., displaying the third link and / or an object associated with the third link in a composition area of the messaging user interface such that the third link can be sent in a message via the messaging user interface of the computer system (e.g., in response to a user input to send the message)). The third link to the third real-time communication session corresponds to a new real-time communication that does not correspond to a previously scheduled real-time communication session (e.g., the third link to the third real-time communication session has not been previously generated; the third real-time communication session has not been previously scheduled; and / or the third link to the third real-time communication session corresponds to a newly generated and scheduled real-time communication session).

[0325] Displaying a first real-time communication user interface object corresponding to a previously scheduled real-time communication session and a second real-time communication user interface object corresponding to a new real-time communication session enables a user to select whether to send an existing link from a messaging application to the previously scheduled real-time communication session or a new link to the new real-time communication session without navigating to the real-time communication application, thereby reducing the amount of input required for the user to schedule and / or create a real-time communication session. Reducing the amount of input required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0326] In some embodiments, a computer system (e.g., 600) displays (764), via a display generation component (e.g., 602), a calendar user interface (e.g., 662) of a calendar application that includes a scheduling user interface object (e.g., 662b) (e.g., a button and / or an enabling representation that causes the computer system to initiate a process for creating and / or scheduling an appointment, meeting, and / or event when selected via user input) (e.g., a user interface that enables a user to schedule an appointment, meeting, and / or event). The computer system (e.g., 600) receives (766), via one or more input devices (e.g., 602), a sixth user input (e.g., 650r) corresponding to a selection of the scheduling user interface object (e.g., 662b) (e.g., a tap gesture, such as a click gesture). In response to receiving the sixth user input (e.g., 650r) (768), the computer system (e.g., 600) displays (770), via the display generation component, an event scheduling user interface (e.g., 664) that includes a video conferencing user interface object (e.g., 664b) (e.g., a user interface that enables a user to input and / or specify details related to a new appointment, meeting, and / or event), the video conferencing user interface object displaying a video conferencing user interface (e.g., 666) when selected via user input (e.g., a user interface that enables a user to select a video conferencing application and / or specify settings and / or details of a video conferencing associated with a new appointment, meeting, and / or event).

[0327] Displaying an event scheduling user interface that includes video conferencing user interface objects enables a user to schedule a real-time communication session via a calendar application without having to navigate to a real-time communication application, thereby reducing the amount of input required for the user to schedule and / or create a real-time communication session. Reducing the amount of input required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating the device / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0328] In some embodiments, when displaying an event scheduling user interface (e.g., 664) via a display generation component (e.g., 602), a computer system (e.g., 600) receives (772) a seventh user input (e.g., 650s) (e.g., a tap gesture, such as a single click gesture) corresponding to a selection of a video conferencing user interface object (e.g., 664b) via one or more input devices. In response to receiving the seventh user input (e.g., 650s) (774), the computer system (e.g., 600) displays (776) a video conferencing user interface (e.g., 666) that includes a plurality of video conferencing options (e.g., 666b to 666e) (e.g., a user interface that enables a user to select a video conferencing application and / or specify settings and / or details of a video conferencing associated with a new appointment, meeting, and / or event), the plurality of video conferencing options corresponding to respective applications for participating in a real-time communication session (e.g., buttons and / or enabling representations corresponding to different applications and / or software each configured such that a user associated with the computer system can participate in a video conference (e.g., a real-time communication session)).

[0329] Displaying a video conferencing user interface that includes a plurality of video conferencing options enables a user to schedule a real-time communication session via a preferred real-time communication application without having to navigate to the preferred real-time communication application, thereby reducing the amount of input required for the user to schedule and / or create a real-time communication session. Reducing the amount of input required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating the device / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0330] In some embodiments, multiple video conferencing optional options (e.g., 666b to 666e) include a first video conferencing optional option (e.g., 666d) corresponding to a first application of a computer system that meets one or more criteria (e.g., when the application and / or software is installed, downloaded, and / or otherwise linked to the computer system (e.g., the computer system has checked into an account of the application and / or software) and / or when the application and / or software is configured such that a user of the computer system can participate in a video conference (e.g., a real-time communication session)) and a second video conferencing optional option (666b) corresponding to a second application of the computer system that meets one or more criteria (e.g., the second application of the computer system is different from the first application of the computer system; when the application and / or software is installed, downloaded, and / or otherwise linked to the computer system (e.g., the computer system has checked into an account of the application and / or software) and / or when the application and / or software is configured such that a user of the computer system can participate in a video conference (e.g., a real-time communication session)).

[0331] Displaying multiple video conferencing optional options corresponding to an application of a computer system and meeting one or more criteria enables a user to schedule a real-time communication session via an application that has been downloaded and / or installed on the computer system, such that the user does not need to provide additional user input to install and / or download a new application and / or software on the computer system. Reducing the number of inputs required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate inputs and reducing user errors when operating / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0332] In some embodiments, when displaying a video conferencing user interface (e.g., 666) via a display generation component (e.g., 602), a computer system (e.g., 600) receives (778), via one or more input devices (e.g., 602), an eighth user input (e.g., 650t) (e.g., a tap gesture, such as a single click gesture) corresponding to a selection of a first video conferencing optional option (e.g., 666d) from among a plurality of optional video conferencing options (e.g., 666b to 666e). In response to receiving the eighth user input (e.g., 650t) (780), the computer system (e.g., 600) displays (782), via the display generation component (e.g., 602), a plurality of optional setting options (e.g., 668a to 668c) (e.g., affordances and / or buttons that enable a user to select, specify, and / or input various settings, options, and / or features of a real-time communication session to be performed via a first application of the computer system), wherein the plurality of optional setting options (e.g., 668a to 668c) correspond to available settings of a first application of the computer system (e.g., 600) (e.g., a plurality of setting options are specific to and / or generated by the first application of the computer system, such as an option for a one-time room for a real-time communication session, an option for a personal room associated with the user's account of the computer system for the real-time communication session, and / or a password option that enables the user to limit access to the real-time communication session to users who input a predefined password when joining and / or prior to joining the real-time communication session).

[0333] Displaying a video conferencing settings user interface that includes a plurality of setting optional options enables a user to specify and / or select settings for a real-time communication session without having to navigate to the real-time communication application, thereby reducing the number of inputs required for the user to schedule and / or create a real-time communication session. Reducing the number of inputs required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate inputs and reducing user errors when operating / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0334] It should be noted that the details of the processes described above with respect to method 700 (e.g., Figures 7A to 7H ) also apply in a similar manner to the methods described below. For example, method 800 and 1000 optionally include one or more features of the various methods described above with reference to method 700. For example, the computer system of method 700 can be used to invite participants to a real-time communication session and join the real-time communication session and / or to allow participants to join the real-time communication session. For the sake of brevity, these details are not repeated below.

[0335] Figures 8A to 8G is a flowchart showing a method for using an electronic device to invite participants to a real-time communication session and join the real-time communication session according to some embodiments. Method 800 is executed at a computer system (e.g., 100, 300, 500, 600, 900, 902, 904, and / or 906) (e.g., an electronic device; a smart device such as a smart phone or a smart watch; a mobile device; a wearable device), which communicates with a display generation component (e.g., 602) and one or more input devices (e.g., 602). Some operations in method 800 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

[0336] As described below, method 800 provides an intuitive way to invite participants to a real-time communication session and join the real-time communication session. The method reduces the cognitive burden on the user to invite participants to a real-time communication session and / or join the real-time communication session, thereby creating a more efficient human-machine interface. For battery-powered computing devices, it enables the user to invite participants to a real-time communication session and / or join the real-time communication session more quickly and efficiently, saving power and increasing the time interval between two battery charges.

[0337] The computer system (e.g., 600) detects (802) via one or more input devices (e.g., 602) one or more first user inputs (e.g., 650c, 650d, 650e, and / or 650f) corresponding to the selection of a user (e.g., a user corresponding to a contact stored in the memory of the computer system and / or a user interface object corresponding to the phone number of an external computer system associated with the user) to be invited to a real-time communication session (e.g., a voice and / or video conference between at least a user associated with the computer system and a user associated with an external computer system) (e.g., a tap gesture on a user interface object associated with the suggested user and / or one or more inputs associated with the name and / or phone number of the user via a keyboard displayed by the display generation component).

[0338] After detecting one or more first user inputs (e.g., 650c, 650d, 650e, and / or 650f) (e.g., in response to detecting the one or more first user inputs) (e.g., when the user types a user interface object associated with a contact and / or the user and / or in response to selecting a user interface object associated with a contact and / or the user), a computer system (e.g., 600) simultaneously displays (804) via a display generation component (e.g., 602): optional user interface elements (e.g., 612j, 612k, and / or 612l) (806) corresponding to a link to a real-time communication session (e.g., 624a, 634b, and / or 910a) (e.g., such a link that, in response to a user input corresponding to a selection of the link, launches a real-time communication application and / or a different application (e.g., an application associated with a web browser) enabling a user associated with an external computer system to participate in a real-time communication session with a user associated with the computer system) (e.g., an enabling representation and / or button prompting the user to continue setting up the real-time communication session after selecting one or more users associated with the corresponding external computer system and / or an enabling representation and / or button that, when selected, sends a message and / or data including the link associated with the real-time communication session) and a visual indication of the user (e.g., 612g and / or 612i) (808).

[0339] When simultaneously displaying the optional user interface elements (e.g., 612j, 612k, and / or 612l) and the visual indication of the user (e.g., 612g and / or 612i), the computer system (e.g., 600) detects (810) a second user input (e.g., 650g, 650i, and / or 650j) (e.g., a tap gesture) corresponding to a selection of the optional user interface elements (e.g., 612j, 612k, and / or 612l) via one or more input devices (e.g., 602).

[0340] In response to the detection of a second user input (e.g., 650g, 650i, and / or 650j) by (812), the computer system (e.g., 600) initiates (814) a process for sending a link (e.g., 624a, 634b, and / or 910a) to the user (e.g., by displaying a sharing user interface (e.g., a messaging user interface, a communication application user interface, and / or an email user interface), which enables the user associated with the computer system to send the link to the user associated with an external computer system and / or additional users associated with the corresponding external computer system) and displays (816) a user interface for participating in a real-time communication session with the user (e.g., 636 and / or 916a) (e.g., the real-time communication session automatically starts after sending the link by transitioning from the sharing user interface to the real-time communication user interface). In some embodiments, a real-time communication session is initiated in response to receiving the second user input. In some embodiments, the initiated real-time communication session displays a real-time communication user interface including a placeholder user interface object corresponding to the user associated with the external computer system. In response to the user associated with the external computer system activating the link to the real-time communication session (e.g., a user input detected via the external computer system), the placeholder user interface object is replaced with an image and / or representation of the user associated with the external computer system (e.g., received from the camera of the external computer system).

[0341] Displaying a user interface for participating in a real-time communication session with the user in response to the detection of a second user input initiates a real-time communication session when sending a link to the user, and does not require the user associated with the computer system to navigate to another user interface and / or provide additional input. Reducing the number of inputs required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0342] In some embodiments, before simultaneously displaying optional user interface elements (e.g., 612j, 612k, and / or 612l) and visual indications of the user (e.g., 612g and / or 612i) (e.g., upon detecting one or more inputs corresponding to the selection of a user to be invited to a real-time communication session), a computer system (e.g., 600) displays (818), via a display generation component (e.g., 602), a user selection user interface (e.g., 612) (e.g., a user interface displayed upon detecting one or more inputs corresponding to the selection of a user to be invited to a real-time communication session; a user interface that enables the user to select and / or enter the user and / or additional users to be invited to a real-time communication session). Based on determining that no user selected as an invitee to a real-time communication session meets a first set of criteria (e.g., the first set of criteria includes that an identifier associated with the respective user (e.g., any user selected as an invitee to a real-time communication session), such as a username, email address, phone number, and / or other identifier, is not associated with a real-time communication application configured to initiate a real-time communication session and / or an external computer system associated with the respective user (e.g., any user selected as an invitee to a real-time communication session) does not include one or more requirements of a particular application (e.g., a particular real-time video communication application)), the user selection user interface (e.g., 612) includes an initiation user interface object (e.g., 612d) (820) (e.g., a button and / or an enabling representation, which optionally includes an indication that the initiation user interface object causes the initiation of a real-time communication session in response to user selection, such as a visual indication), the initiation user interface object being configured to initiate a real-time communication session (e.g., without via a separate messaging link) (e.g., and any additional users selected / invited to the real-time communication session) (e.g., the initiation user interface object is displayed when all users selected as invitees to a real-time communication session are associated with a respective external computer system that includes a particular real-time communication application (e.g., installed on the respective external computer system and / or the respective external computer system is logged into an account of the particular real-time communication application and / or otherwise associated with an account of the particular real-time communication application)). In some embodiments, in response to detecting user input corresponding to the initiation user interface object, the computer system calls the recipient device of the user (e.g., causes the recipient device to ring for a predetermined period of time) without sending an asynchronous message with a link to the real-time communication session to the recipient device of the user.Based on determining that at least one user selected as an invitee for a real-time communication session meets a first set of criteria (e.g., at least one user selected as an invitee for a real-time communication session is not associated with an external computer system including a particular real-time communication application) (e.g., an identifier associated with at least one user (such as a username, email address, phone number, and / or other identifier) is not associated with the real-time communication application configured to initiate the real-time communication session, and / or the external computer system associated with at least one user does not include a particular application (e.g., a particular real-time video communication application)), the user selection user interface (e.g., 612) includes link sharing user interface objects (e.g., 612j, 612k, and / or 612l) (822) (e.g., buttons and / or enabling representations, which optionally include an indication that the link sharing user interface object enables sharing a link to the real-time communication session in response to user selection, such as a visual indication), and the link sharing user interface object is configured to initiate a process for sharing a link to the real-time communication session with one or more other users when selected via user input (e.g., a user interface including optional user interface elements and a visual indication of the user, such as a messaging user interface of a messaging application) (e.g., the link sharing user interface object is displayed when at least one user selected as an invitee for the real-time communication session is associated with a corresponding external computer system that does not include a particular real-time communication application (e.g., installed on the corresponding external computer system and / or the corresponding external computer system is logged into an account of the particular real-time communication application and / or otherwise associated with an account of the particular real-time communication application)).

[0343] Displaying the initiate user interface object and / or the link sharing user interface object based on whether the user selected as an invitee for the real-time communication session meets the first set of criteria provides relevant options for inviting users to the real-time communication session based on the selected users, thereby reducing the amount of input required to send a link to the user. Additionally, displaying the initiate user interface object and / or the link sharing user interface object based on whether the user selected as an invitee for the real-time communication session meets the first set of criteria provides improved feedback regarding the selected users. Reducing the amount of input required to perform an operation and providing improved feedback enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating the device / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0344] In some embodiments, when displaying a user selection user interface (e.g., 612) that includes an initiating user interface object (e.g., 612d) (e.g., a user selected as an invitee for a real-time communication session and any other user meets the set of criteria), a computer system (e.g., 600) detects (824) one or more third user inputs (e.g., 650e and / or 650f) corresponding to the selection of a second user (e.g., a second user different from the user) to be invited to the real-time communication session (e.g., one or more tap gestures), where the second user meets a first set of criteria (e.g., an identifier associated with the second user such as a username, email address, phone number, and / or other identifier is not associated with a real-time communication application configured to initiate a real-time communication session, and / or an external computer system associated with the second user does not include a specific application (e.g., a specific real-time video communication application)). In response to detecting the one or more third user inputs (e.g., 650e and / or 650f), the computer system (e.g., 600) stops displaying (826) the initiating user interface object (e.g., 612d) and displays a link sharing user interface object (e.g., 612j, 612k, and / or 612l) (e.g., replaces the display of the initiating user interface object with the link sharing user interface object). In some embodiments, when any user selected as an invitee for a real-time communication session meets the first set of criteria (e.g., any user selected as an invitee for a real-time communication session is associated with an external computer system that does not include a specific real-time communication application), the computer system replaces the display of the initiating user interface object with a link sharing user interface object. When the user invited to the real-time communication session and all other users do not meet the first set of criteria, the computer system displays the initiating user interface object.

[0345] Replacing the display of the initiating user interface object with a link sharing user interface object when the second user meets the first set of criteria provides relevant options for inviting a user to a real-time communication session based on the first user and the second user, thereby reducing the number of inputs required to send a link to the first user and the second user. Additionally, replacing the initiating user interface object with a link sharing user interface object provides improved feedback regarding the selected second user. Reducing the number of inputs required to perform an operation and providing improved feedback enhance the operability of the device and make the user-device interface more efficient (e.g., by helping the user provide appropriate inputs and reducing user errors when operating the device / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0346] In some embodiments, a user selection user interface (e.g., 612) that includes an initiating user interface object (e.g., 612d) (e.g., a user selected as an invitee for a real-time communication session and any other user) includes a second visual indication (e.g., 612g) of the user having a first visual characteristic (e.g., an indication of an identifier (such as a name, username, email address, phone number, and / or other identifier) of the user having a first font and / or text color (such as blue)). In some embodiments, in response to detecting one or more third user inputs (e.g., 650e and / or 650f) (828) corresponding to a selection of a second user: a computer system (e.g., 600) displays (830) a second visual indication (e.g., 612g) of the user having a second visual characteristic different from the first visual characteristic (e.g., an indication of an identifier (such as a name, username, email address, phone number, and / or other identifier) of the user having a second font and / or text color (such as green)); and the computer system (e.g., 600) simultaneously displays (832) a third visual indication (e.g., 612i) of the second user having the second visual characteristic (e.g., an indication of an identifier (such as a name, username, email address, phone number, and / or other identifier) of the second user having a second font and / or text color (such as green)) with the second visual indication (e.g., 612g) of the user.

[0347] Changing the visual characteristic of the second visual indication of the user from the first visual characteristic to the second visual characteristic when the second user meets a first set of criteria provides improved feedback regarding the selected second user and regarding the communication protocol for communicating with both the first user and the second user. Providing improved feedback enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user provide appropriate inputs and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and effectively.

[0348] In some embodiments, before simultaneously displaying selectable user interface elements (e.g., 612j, 612k, and / or 612l) and a visual indication of the user (e.g., 612g and / or 612i), a computer system (e.g., 600) displays (834), via a display generation component (e.g., 602), a second user selection user interface (e.g., 612) (e.g., including one or more user interface objects corresponding to contacts and / or users available for selection to be invited to a real-time communication session, a keyboard (e.g., virtual keyboard) for searching for contacts and / or users to be invited to a real-time communication session, and / or an invitee list of users and / or other users visually indicating those selected as invitees to a real-time communication session), the second user selection user interface simultaneously displaying: a messaging user interface object (e.g., 612k and / or 612l) (836) (e.g., a first user interface object corresponding to a link shared to a real-time communication session in an electronic message (e.g., a short message service message) via a messaging application of the computer system), the messaging user interface object, when selected via user input, causing the display of a messaging user interface (e.g., 622 and / or 908) of a messaging application (e.g., an application and / or software of a computer system enabling an electronic message (e.g., a short message service message) to reach one or more recipients (e.g., recipients identified by name, phone number, username, email address, and / or another suitable identifier)) for sharing a link (e.g., 624a, 634b, and / or 910a) to a real-time communication session (e.g., the computer system is configured to send an electronic message (e.g., a short message service message) having a link to a real-time communication session via a network (e.g., the Internet, a cellular network, and / or a personal network)), the messaging user interface including a message area having one or more visual indications of sent and / or received messages, a keyboard (e.g., virtual keyboard) for selecting the content of a message, a composition area for drafting the content of a message, and / or an indication of one or more recipients of the message; and a sharing user interface object (e.g., 612j) (838) (e.g., a second user interface object corresponding to a link shared to a real-time communication session via one or more communication protocols), the sharing user interface object, when selected via user input, causing the display of a sharing user interface (e.g., 626 and / or 632) including a plurality of selectable options (e.g., 628a, 628b, 628c, 630, 632a, 632b, 632c, 632d, 632e, and / or 632f) for sharing a link (624a, 634b, and / or 910a) to a real-time communication session via different communication protocols (e.g., affordances and / or buttons corresponding to different sharing options, technologies, and / or applications for sharing the link).

[0349] Simultaneously displaying the messaging user interface object and the sharing user interface object enables the user to select a preferred communication protocol without having to navigate to another application associated with the preferred communication protocol, thereby reducing the amount of input required by the user to share a link. Reducing the amount of input required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating the device / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0350] In some embodiments, the sharing user interface includes (e.g., 626 and / or 632): a sharing option (e.g., 628a) that is selectable to share a link (e.g., 624a, 634a, and / or 910a) to a real-time communication session via one or more communication protocols (e.g., short message service, email, short-range communication, direct wireless communication technology, file sharing service, and / or social media application); a copy option (e.g., 628b) that is selectable to copy a link (e.g., 624a and / or 634b) to a real-time communication session (e.g., storing (e.g., temporarily storing) data associated with the link to the real-time communication session that can be reproduced (e.g., pasted) in response to detecting user input); and a messaging option (e.g., 628c) that is selectable to share a link (e.g., 624a and / or 634b) to a real-time communication session via a messaging application (e.g., such an optional option that, when selected via user input, causes the computer system to display a messaging user interface of the messaging application configured to send an electronic message having a link to the real-time communication session).

[0351] Including the sharing option, the copy option, and the messaging option on the sharing user interface enables the user to select a preferred sharing option without having to navigate to another application associated with the preferred communication protocol, thereby reducing the amount of input required by the user to share a link. Reducing the amount of input required to perform an operation enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate input ...

Claims

1. A computer system that communicates with a display generation component and one or more input devices, the computer system comprising: 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 application, the user interface including user-interactive graphical user interface elements corresponding to links to real-time communication sessions; Receiving, via the one or more input devices, user input corresponding to a selection of the user-interactive graphical user interface elements; and In response to receiving the user input: Initiating a process for sharing the link to the real-time communication session, wherein the process for sharing the link to the real-time communication session includes displaying, via the display generation component, a sharing user interface, the sharing user interface including multiple optional options for sharing the link to the real-time communication session, including simultaneously displaying: A first optional option for sharing the link to the real-time communication session via a first communication protocol; And A second optional option for sharing the link to the real-time communication session via a second communication protocol different from the first communication protocol; After sharing the link to the real-time communication session, displaying a second user interface of the real-time communication application, wherein the second user interface simultaneously displays: A first user interface object representing the real-time communication session corresponding to the shared link; and A second user interface object representing a previous real-time communication session that occurred before the current time.

2. The computer system according to claim 1, wherein the one or more programs further include instructions for: Detecting, via the one or more input devices, a second user input corresponding to a selection of one of the multiple optional options; and In response to detecting the second user input: Initiating the process for sharing the link to the real-time communication session via the first communication protocol based on determining that the second user input corresponds to a selection of the first optional option; and Initiating the process for sharing the link to the real-time communication session via the second communication protocol based on determining that the second user input corresponds to a selection of the second optional option.

3. The computer system according to claim 1, wherein the multiple optional options correspond to multiple communication protocols including email and one or more real-time communication protocols.

4. The computer system according to claim 1, wherein the multiple optional options correspond to multiple communication protocols including a short message service protocol and one or more messaging protocols.

5. The computer system according to claim 1, wherein the multiple optional options correspond to multiple communication protocols including a first messaging communication protocol and a second messaging communication protocol.

6. The computer system according to claim 1, wherein the process of initiating the link for sharing to the real-time communication session includes: displaying, via the display generating component, one or more user-interactive graphical user interface objects that represent one or more previously contacted users, and selecting, when selected, the corresponding one or more previously contacted users with whom to share the link to the real-time communication session.

7. The computer system according to claim 1, wherein one or more of the plurality of optional options correspond to a direct wireless sharing protocol.

8. The computer system according to claim 1, wherein the one or more programs further include instructions for: receiving, via the one or more input devices, a third user input corresponding to a selection of a messaging user-interactive graphical user interface object; and in response to receiving the third user input, displaying, via the display generating component, a messaging user interface of a messaging application, wherein the messaging user interface includes a message composition area that includes the link to the real-time communication session.

9. The computer system according to claim 1, wherein displaying the second user interface includes displaying an animation of the first user interface object that appears in a list of real-time communication sessions.

10. The computer system according to claim 1, wherein: the first user interface object is displayed in a first area of the second user interface corresponding to a first time period, and the second user interface object is displayed in a second area of the second user interface corresponding to a second time period different from the first time period.

11. The computer system according to claim 1, wherein the one or more programs further include instructions for: receiving, via the one or more input devices, a fourth user input corresponding to a selection of the first user interface object; and in response to receiving the fourth user input, displaying a representation of the real-time communication session, the representation including a representation of real-time contributions of one or more participants in the real-time communication session.

12. The computer system according to claim 1, wherein the one or more programs further include instructions for: After displaying the first user interface object representing the real-time communication session corresponding to the shared link, detect that a second user has joined the real-time communication session; and after detecting that the second user has joined the real-time communication session, detecting a request to display the first user interface object; and in response to detecting the request to display the first user interface object, displaying the first user interface object with an updated appearance, wherein a first part of the first user interface object indicates that the second user has joined the real-time communication session.

13. The computer system according to claim 1, wherein the one or more programs further include instructions for: after displaying the first user interface object representing the real-time communication session corresponding to the shared link, detecting that a third user has joined the real-time communication session; After detecting that the third user has joined the real-time communication session, detect a request to display the first user interface object; And In response to detecting the request to display the first user interface object, display the first user interface object having a visual icon on a second portion of the first user interface object, wherein the visual icon indicates that the third user has joined the real-time communication session.

14. The computer system according to claim 1, wherein the one or more programs further comprise instructions for: When displaying a second messaging user interface of a second messaging application via the display generating component, receive, via the one or more input devices, one or more user inputs corresponding to the content of a message configured to be sent to one or more participants in a message session via the second messaging application; and In response to receiving the one or more user inputs: Based on determining that the content includes one or more predefined characters, display, via the display generating component, an optional user interface object that is configured to initiate a process for sending a second link to a second real-time communication session to the one or more participants in the message session when selected via user input.

15. The computer system according to claim 14, wherein the one or more programs further comprise instructions for: When displaying the optional user interface object, receive a fifth user input corresponding to a selection of the optional user interface object; and In response to receiving the fifth user input corresponding to a selection of the optional user interface object, display, via the display generating component, the second link to the second real-time communication session in a second composition area of the second messaging user interface of the second messaging application.

16. The computer system according to claim 15, wherein the one or more programs further comprise instructions for: After receiving the fifth user input corresponding to a selection of the optional user interface object, display, via the display generating component, a fourth user interface of the real-time communication application, wherein the fourth user interface of the real-time communication application includes a third user interface object corresponding to the second link to the second real-time communication session.

17. The computer system according to claim 14, wherein the second link to the second real-time communication session corresponds to a previously scheduled real-time communication session that was scheduled before receiving the one or more user inputs corresponding to the content of the message configured to be sent via the second messaging application.

18. The computer system according to claim 17, wherein the one or more programs further comprise instructions for: In response to detecting the one or more user inputs corresponding to the content of the message configured to be sent to one or more participants in the message session via the second messaging application, simultaneously display via the display generating component: the optional user interface object, which is configured to initiate a process for sending the second link to the second real-time communication session when selected via a user input, and a second optional user interface object, which is configured to generate a third link to a third real-time communication session when selected via a user input, and wherein the third link to the third real-time communication session corresponds to a new real-time communication that does not correspond to a previously scheduled real-time communication session.

19. The computer system according to claim 1, wherein the one or more programs further include instructions for: displaying, via the display generating component, a calendar user interface of a calendar application including a scheduling user interface object; receiving, via the one or more input devices, a sixth user input corresponding to a selection of the scheduling user interface object; and in response to receiving the sixth user input: displaying, via the display generating component, an event scheduling user interface including a video conference user interface object, which displays a video conference user interface when selected via a user input.

20. The computer system according to claim 19, wherein the one or more programs further include instructions for: when displaying the event scheduling user interface via the display generating component, receiving, via the one or more input devices, a seventh user input corresponding to a selection of the video conference user interface object; and in response to receiving the seventh user input: displaying, via the display generating component, the video conference user interface including a plurality of video conference optional options, wherein the plurality of video conference optional options correspond to respective applications for participating in the real-time communication session.

21. The computer system according to claim 20, wherein the plurality of video conference optional options include a first video conference optional option corresponding to a first application of the computer system that meets one or more criteria and a second video conference optional option corresponding to a second application of the computer system that meets the one or more criteria.

22. The computer system according to claim 21, wherein the one or more programs further include instructions for: when displaying the video conference user interface via the display generating component, receiving, via the one or more input devices, an eighth user input corresponding to a selection of the first video conference optional option among the plurality of optional video conference options; and in response to receiving the eighth user input: displaying, via the display generating component, a plurality of optional setting options, wherein the plurality of optional setting options correspond to available settings of the first application of the computer system.

23. 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: displaying, via the display generation component, a user interface of a real-time communication application, the user interface including user-interactive graphical user interface elements corresponding to links to real-time communication sessions; receiving, via the one or more input devices, user input corresponding to a selection of the user-interactive graphical user interface elements; and in response to receiving the user input: initiating a process for sharing the link to the real-time communication session, wherein the process for sharing the link to the real-time communication session includes displaying, via the display generation component, a sharing user interface, the sharing user interface including a plurality of optional options for sharing the link to the real-time communication session, including simultaneously displaying: a first optional option for sharing the link to the real-time communication session via a first communication protocol; and a second optional option for sharing the link to the real-time communication session via a second communication protocol different from the first communication protocol; after sharing the link to the real-time communication session, displaying a second user interface of the real-time communication application, wherein the second user interface simultaneously displays: a first user interface object representing the real-time communication session corresponding to the shared link; and a second user interface object representing a previous real-time communication session that occurred before the current time.

24. The non-transitory computer-readable storage medium according to claim 23, wherein the one or more programs further include instructions for: detecting, via the one or more input devices, a second user input corresponding to a selection of one of the plurality of optional options; and in response to detecting the second user input: initiating the process for sharing the link to the real-time communication session via the first communication protocol based on determining that the second user input corresponds to a selection of the first optional option; and initiating the process for sharing the link to the real-time communication session via the second communication protocol based on determining that the second user input corresponds to a selection of the second optional option.

25. The non-transitory computer-readable storage medium according to claim 23, wherein the plurality of optional options correspond to a plurality of communication protocols including email and one or more real-time communication protocols.

26. The non-transitory computer-readable storage medium according to claim 23, wherein the plurality of optional options correspond to a plurality of communication protocols including a short message service protocol and one or more messaging protocols.

27. The non-transitory computer-readable storage medium according to claim 23, wherein the plurality of optional options correspond to a plurality of communication protocols including a first messaging communication protocol and a second messaging communication protocol.

28. The non-transitory computer-readable storage medium according to claim 23, wherein the process of initiating the link for sharing to the real-time communication session includes: displaying, via the display generating component, one or more user-interactive graphical user interface objects that represent one or more previously contacted users, and selecting, when selected, the corresponding one or more previously contacted users with whom to share the link to the real-time communication session.

29. The non-transitory computer-readable storage medium according to claim 23, wherein one or more of the plurality of optional options correspond to a direct wireless sharing protocol.

30. The non-transitory computer-readable storage medium according to claim 23, wherein the one or more programs further include instructions for: receiving, via the one or more input devices, a third user input corresponding to a selection of a messaging user-interactive graphical user interface object; and in response to receiving the third user input, displaying, via the display generating component, a messaging user interface of a messaging application, wherein the messaging user interface includes a message composition area that includes the link to the real-time communication session.

31. The non-transitory computer-readable storage medium according to claim 23, wherein displaying the second user interface includes displaying an animation of the first user interface object that appears in a list of real-time communication sessions.

32. The non-transitory computer-readable storage medium according to claim 23, wherein: the first user interface object is displayed in a first area of the second user interface corresponding to a first time period, and the second user interface object is displayed in a second area of the second user interface corresponding to a second time period different from the first time period.

33. The non-transitory computer-readable storage medium according to claim 23, wherein the one or more programs further include instructions for: receiving, via the one or more input devices, a fourth user input corresponding to a selection of the first user interface object; and in response to receiving the fourth user input, displaying a representation of the real-time communication session, the representation including a representation of real-time contributions of one or more participants in the real-time communication session.

34. The non-transitory computer-readable storage medium according to claim 23, wherein the one or more programs further include instructions for: After displaying the first user interface object representing the real-time communication session corresponding to the shared link, detect that a second user has joined the real-time communication session; and after detecting that the second user has joined the real-time communication session, detecting a request to display the first user interface object; and and in response to detecting the request to display the first user interface object, displaying the first user interface object with an updated appearance, wherein a first portion of the first user interface object indicates that the second user has joined the real-time communication session.

35. The non-transitory computer-readable storage medium according to claim 23, wherein the one or more programs further include instructions for: After displaying the first user interface object representing the real-time communication session corresponding to the shared link, detect that a third user has joined the real-time communication session; After detecting that the third user has joined the real-time communication session, detect a request to display the first user interface object; And In response to detecting the request to display the first user interface object, display the first user interface object having a visual icon on a second part of the first user interface object, wherein the visual icon indicates that the third user has joined the real-time communication session.

36. The non-transitory computer-readable storage medium according to claim 23, wherein the one or more programs further include instructions for: When displaying a second messaging user interface of a second messaging application via the display generating component, receive, via the one or more input devices, one or more user inputs corresponding to the content of a message configured to be sent to one or more participants in a message session via the second messaging application; and In response to receiving the one or more user inputs: Based on determining that the content includes one or more predefined characters, display, via the display generating component, an optional user interface object that is configured to initiate a process for sending a second link to a second real-time communication session to the one or more participants in the message session when selected via a user input.

37. The non-transitory computer-readable storage medium according to claim 36, wherein the one or more programs further include instructions for performing: When displaying the optional user interface object, receive a fifth user input corresponding to a selection of the optional user interface object; and In response to receiving the fifth user input corresponding to a selection of the optional user interface object, display, via the display generating component, the second link to the second real-time communication session in a second composition area of the second messaging user interface of the second messaging application.

38. The non-transitory computer-readable storage medium according to claim 37, wherein the one or more programs further include instructions for: After receiving the fifth user input corresponding to a selection of the optional user interface object, display, via the display generating component, a fourth user interface of the real-time communication application, wherein the fourth user interface of the real-time communication application includes a third user interface object corresponding to the second link to the second real-time communication session.

39. The non-transitory computer-readable storage medium according to claim 36, wherein the second link to the second real-time communication session corresponds to a previously scheduled real-time communication session that was scheduled before receiving the one or more user inputs corresponding to the content of the message configured to be sent via the second messaging application.

40. The non-transitory computer-readable storage medium according to claim 39, wherein the one or more programs further comprise instructions for: In response to detecting the one or more user inputs corresponding to the content of the message configured to be sent to one or more participants in the message session via the second messaging application, simultaneously display via the display generation component: The optional user interface object, which is configured to initiate a process for sending the second link to the second real-time communication session when selected via a user input, and A second optional user interface object, which is configured to generate a third link to a third real-time communication session when selected via a user input, and wherein the third link to the third real-time communication session corresponds to a new real-time communication that does not correspond to a previously scheduled real-time communication session.

41. The non-transitory computer-readable storage medium according to claim 23, wherein the one or more programs further comprise instructions for: Display via the display generation component a calendar user interface of a calendar application including a scheduling user interface object; Receive a sixth user input corresponding to a selection of the scheduling user interface object via the one or more input devices; and In response to receiving the sixth user input: Display via the display generation component an event scheduling user interface including a video conferencing user interface object, which displays a video conferencing user interface when selected via a user input.

42. The non-transitory computer-readable storage medium according to claim 41, wherein the one or more programs further comprise instructions for: When displaying the event scheduling user interface via the display generation component, receive a seventh user input corresponding to a selection of the video conferencing user interface object via the one or more input devices; and In response to receiving the seventh user input: Display via the display generation component the video conferencing user interface including a plurality of video conferencing optional options corresponding to respective applications for participating in the real-time communication session.

43. The non-transitory computer-readable storage medium according to claim 42, wherein the plurality of video conferencing optional options include a first video conferencing optional option corresponding to a first application of the computer system that meets one or more criteria and a second video conferencing optional option corresponding to a second application of the computer system that meets the one or more criteria.

44. The non-transitory computer-readable storage medium according to claim 43, wherein the one or more programs further comprise instructions for: When displaying the video conferencing user interface via the display generation component, receive an eighth user input corresponding to a selection of the first video conferencing optional option among the plurality of optional video conferencing options via the one or more input devices; and In response to receiving the eighth user input: Display, via the display generation component, a plurality of selectable setting options, where the plurality of selectable setting options correspond to the available settings of the first application of the computer system.

45. A method for sharing a link to a real-time communication session, the method comprising: At a computer system in communication with a display generation component and one or more input devices: Display, via the display generation component, a user interface of a real-time communication application, the user interface including a user-interactive graphical user interface element corresponding to a link to a real-time communication session; Receive, via the one or more input devices, user input corresponding to a selection of the user-interactive graphical user interface element; and In response to receiving the user input: Initiate a process for sharing the link to the real-time communication session, where the process for sharing the link to the real-time communication session includes displaying, via the display generation component, a sharing user interface, the sharing user interface including a plurality of selectable options for sharing the link to the real-time communication session, including simultaneously displaying: A first selectable option for sharing the link to the real-time communication session via a first communication protocol; and A second selectable option for sharing the link to the real-time communication session via a second communication protocol different from the first communication protocol; After sharing the link to the real-time communication session, display a second user interface of the real-time communication application, where the second user interface simultaneously displays: A first user interface object representing the real-time communication session corresponding to the shared link; and A second user interface object representing a previous real-time communication session that occurred before the current time.

46. The method according to claim 45, further comprising: Detect, via the one or more input devices, second user input corresponding to a selection of one of the plurality of selectable options; and In response to detecting the second user input: Initiate the process for sharing the link to the real-time communication session via the first communication protocol according to a determination that the second user input corresponds to a selection of the first selectable option; and Initiate the process for sharing the link to the real-time communication session via the second communication protocol according to a determination that the second user input corresponds to a selection of the second selectable option.

47. The method according to claim 45, where the plurality of selectable options correspond to a plurality of communication protocols including email and one or more real-time communication protocols.

48. The method according to claim 45, where the plurality of selectable options correspond to a plurality of communication protocols including a short message service protocol and one or more messaging protocols.

49. The method according to claim 45, where the plurality of selectable options correspond to a plurality of communication protocols including a first messaging communication protocol and a second messaging communication protocol.

50. The method according to claim 45, wherein the process of initiating the link for sharing to the real-time communication session includes: displaying, via the display generating component, one or more user-interactive graphical user interface objects, the one or more user-interactive graphical user interface objects representing one or more previously contacted users, and selecting, when selected, the corresponding one or more previously contacted users to share the link to the real-time communication session with.

51. The method according to claim 45, wherein one or more of the plurality of optional options correspond to a direct wireless sharing protocol.

52. The method according to claim 45, further comprising: receiving, via the one or more input devices, a third user input corresponding to a selection of a messaging user-interactive graphical user interface object; and in response to receiving the third user input, displaying, via the display generating component, a messaging user interface of a messaging application, wherein the messaging user interface includes a message composition area, and the message composition area includes the link to the real-time communication session.

53. The method according to claim 45, wherein displaying the second user interface includes displaying an animation of the first user interface object that appears in a list of real-time communication sessions.

54. The method according to claim 45, wherein: the first user interface object is displayed in a first area of the second user interface corresponding to a first time period, and the second user interface object is displayed in a second area of the second user interface corresponding to a second time period different from the first time period.

55. The method according to claim 45, further comprising: receiving, via the one or more input devices, a fourth user input corresponding to a selection of the first user interface object; and in response to receiving the fourth user input, displaying a representation of the real-time communication session, the representation including a representation of real-time contributions of one or more participants in the real-time communication session.

56. The method according to claim 45, further comprising: after displaying the first user interface object representing the real-time communication session corresponding to the shared link, detecting that a second user has joined the real-time communication session; and after detecting that the second user has joined the real-time communication session, detecting a request to display the first user interface object; and in response to detecting the request to display the first user interface object, displaying the first user interface object with an updated appearance, wherein a first part of the first user interface object indicates that the second user has joined the real-time communication session.

57. The method according to claim 45, further comprising: after displaying the first user interface object representing the real-time communication session corresponding to the shared link, detecting that a third user has joined the real-time communication session; after detecting that the third user has joined the real-time communication session, detecting a request to display the first user interface object; and In response to detecting the request to display the first user interface object, display the first user interface object having a visual icon on a second portion of the first user interface object, wherein the visual icon indicates that the third user has joined the real-time communication session.

58. The method according to claim 45, further comprising: When displaying, via the display generation component, a second messaging user interface of a second messaging application, receiving, via the one or more input devices, one or more user inputs corresponding to the content of a message configured to be sent, via the second messaging application, to one or more participants in a message session; and In response to receiving the one or more user inputs: Based on determining that the content includes one or more predefined characters, display, via the display generation component, an optional user interface object that is configured to initiate a process for sending a second link to a second real-time communication session to the one or more participants in the message session when selected via a user input.

59. The method according to claim 58, further comprising: When displaying the optional user interface object, receiving a fifth user input corresponding to a selection of the optional user interface object; And In response to receiving the fifth user input corresponding to the selection of the optional user interface object, display, via the display generation component, the second link to the second real-time communication session in a second composition area of the second messaging user interface of the second messaging application.

60. The method according to claim 59, further comprising: After receiving the fifth user input corresponding to the selection of the optional user interface object, display, via the display generation component, a fourth user interface of the real-time communication application, wherein the fourth user interface of the real-time communication application includes a third user interface object corresponding to the second link to the second real-time communication session.

61. The method according to claim 58, wherein the second link to the second real-time communication session corresponds to a previously scheduled real-time communication session that was scheduled before receiving the one or more user inputs corresponding to the content of the message configured to be sent via the second messaging application.

62. The method according to claim 61, further comprising: In response to detecting the one or more user inputs corresponding to the content of the message configured to be sent, via the second messaging application, to one or more participants in a message session, simultaneously display, via the display generation component: The optional user interface object that is configured to initiate a process for sending the second link to the second real-time communication session when selected via a user input, and A second optional user interface object that, when selected via user input, is configured to generate a third link to a third real-time communication session, and wherein the third link to the third real-time communication session corresponds to a new real-time communication that does not correspond to a previously scheduled real-time communication session.

63. The method according to claim 45, further comprising: displaying, via the display generating component, a calendar user interface of a calendar application including a scheduling user interface object; receiving, via the one or more input devices, a sixth user input corresponding to a selection of the scheduling user interface object; and in response to receiving the sixth user input: displaying, via the display generating component, an event scheduling user interface including a video conferencing user interface object that, when selected via user input, displays a video conferencing user interface.

64. The method according to claim 63, further comprising: when displaying the event scheduling user interface via the display generating component, receiving, via the one or more input devices, a seventh user input corresponding to a selection of the video conferencing user interface object; and in response to receiving the seventh user input: displaying, via the display generating component, the video conferencing user interface including a plurality of video conferencing optional options corresponding to respective applications for participating in the real-time communication session.

65. The method according to claim 64, wherein the plurality of video conferencing optional options include a first video conferencing optional option corresponding to a first application of the computer system that meets one or more criteria and a second video conferencing optional option corresponding to a second application of the computer system that meets the one or more criteria.

66. The method according to claim 65, further comprising: when displaying the video conferencing user interface via the display generating component, receiving, via the one or more input devices, an eighth user input corresponding to a selection of the first video conferencing optional option among the plurality of optional video conferencing options; and in response to receiving the eighth user input: displaying, via the display generating component, a plurality of optional setting options corresponding to available settings of the first application of the computer system.

Citation Information

Patent Citations

  • Method and apparatus for integrating manual input

    US20020015024A1

  • Gestures for touch sensitive input devices

    US20060026521A1

  • Gestures for touch sensitive input devices

    US20060026536A1

  • Virtual input device placement on a touch screen user interface

    US20060033724A1

  • Multipoint touchscreen

    US20060097991A1