CN112214275A - Multi-participant real-time communication user interface - Google Patents

Multi-participant real-time communication user interface Download PDF

Info

Publication number
CN112214275A
CN112214275A CN202011243876.0A CN202011243876A CN112214275A CN 112214275 A CN112214275 A CN 112214275A CN 202011243876 A CN202011243876 A CN 202011243876A CN 112214275 A CN112214275 A CN 112214275A
Authority
CN
China
Prior art keywords
real
participant
communication session
participants
time communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011243876.0A
Other languages
Chinese (zh)
Other versions
CN112214275B (en
Inventor
M·范欧斯
L·布劳顿
P·卡拉威
P·F·卡洛
J·W·常
A·德瑞尔
A·戴
C·费德瑞吉
R·加西亚
N·V·金
S·O·勒梅
J·劳驰
H·珐姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DKPA201870362A external-priority patent/DK180130B1/en
Application filed by Apple Inc filed Critical Apple Inc
Publication of CN112214275A publication Critical patent/CN112214275A/en
Application granted granted Critical
Publication of CN112214275B publication Critical patent/CN112214275B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/48Message addressing, e.g. address format or anonymous messages, aliases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/043Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities

Abstract

The invention provides a multi-participant real-time communication user interface. The invention provides a method, comprising: an instant messaging user interface of an instant messaging application is displayed, the instant messaging user interface including a message region including a plurality of messages in a messaging conversation between three or more participants. First data is received indicating that the real-time communication session available to the three or more participants is active. In response to receiving the first data, displaying a notification indicating that the real-time communication session is in an active state. While displaying the notification, receiving second data indicating that the real-time communication session between the three or more participants is no longer active. In response to receiving the second data, ceasing to display or update the notification indicating that the real-time communication session is active to indicate that the real-time communication session is no longer active.

Description

Multi-participant real-time communication user interface
The application is a divisional application of an invention patent application with application date of 2018, 9 and 28, application number of 201811136766.7 and name of a multi-participant real-time communication user interface.
Cross Reference to Related Applications
This patent application is related to U.S. provisional patent application serial No. 62/668,229 entitled "multiple-PARTICIPANT LIVE COMMUNICATION USER INTERFACE" filed on 7.5.2018, the contents of which are hereby incorporated by reference in their entirety.
Technical Field
The present disclosure relates generally to computer user interfaces, and more particularly, to techniques for real-time communication including multiple participants.
Background
For personal and business reasons, users are increasingly using electronic devices to virtually communicate with others. Most electronic devices are capable of providing real-time communication between a user and multiple participants. As an example, some electronic devices provide interactive interfaces for displaying and controlling real-time communications.
Disclosure of Invention
However, some techniques for real-time communication involving multiple participants using electronic devices are often cumbersome and inefficient. For example, some prior art techniques use complex and time-consuming user interfaces that may include multiple keystrokes or keystrokes. The prior art requires more time than necessary, which results in wasted time and equipment energy for the user. This latter consideration is particularly important in battery-powered devices.
Thus, the present technology provides faster, more efficient methods and interfaces for electronic devices for real-time communication involving multiple participants. Such methods and interfaces optionally complement or replace other methods for real-time communication involving multiple participants. Such methods and interfaces reduce the cognitive burden placed on the user and result in a more efficient human-machine interface. For battery-driven computing devices, such methods and interfaces conserve power and increase the time interval between battery charges.
In some embodiments, a method is performed at an electronic device having a display. The method can comprise the following steps: displaying an instant messaging user interface of an instant messaging application, the instant messaging user interface including a message region including a plurality of messages in a messaging conversation between three or more participants; receiving first data indicating that a real-time communication session available to three or more participants is active; in response to receiving first data indicating that a real-time communication session between three or more participants is active, displaying a notification indicating that the real-time communication session is active; receiving second data indicating that the real-time communication session between the three or more participants is no longer active while displaying the notification indicating that the real-time communication session is active; and in response to receiving second data indicating that the real-time communication session between the three or more participants is no longer active, ceasing to display the notification or updating the notification to indicate that the real-time communication session is no longer active.
In some embodiments, a non-transitory computer readable storage medium stores one or more programs configured for execution by one or more processors of an electronic device with a display. The one or more programs include instructions for: displaying an instant messaging user interface of an instant messaging application, the instant messaging user interface including a message region including a plurality of messages in a messaging conversation between three or more participants; receiving first data indicating that a real-time communication session available to three or more participants is active; in response to receiving first data indicating that a real-time communication session between three or more participants is active, displaying a notification indicating that the real-time communication session is active; receiving second data indicating that the real-time communication session between the three or more participants is no longer active while displaying the notification indicating that the real-time communication session is active; and in response to receiving second data indicating that the real-time communication session between the three or more participants is no longer active, ceasing to display the notification or updating the notification to indicate that the real-time communication session is no longer active.
In some embodiments, a transitory computer readable storage medium stores one or more programs configured for execution by one or more processors of an electronic device with a display. The one or more programs include instructions for: displaying an instant messaging user interface of an instant messaging application, the instant messaging user interface including a message region including a plurality of messages in a messaging conversation between three or more participants; first data is received indicating that a real-time communication session available to three or more participants is active. In response to receiving first data indicating that a real-time communication session between three or more participants is active, displaying a notification indicating that the real-time communication session is active; receiving second data indicating that the real-time communication session between the three or more participants is no longer active while displaying the notification indicating that the real-time communication session is active; and in response to receiving second data indicating that the real-time communication session between the three or more participants is no longer active, ceasing to display the notification or updating the notification to indicate that the real-time communication session is no longer active.
In some embodiments, an electronic device includes a display, one or more processors, and a memory. The memory stores one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for: displaying an instant messaging user interface of an instant messaging application, the instant messaging user interface including a message region including a plurality of messages in a messaging conversation between three or more participants; first data is received indicating that a real-time communication session available to three or more participants is active. In response to receiving first data indicating that a real-time communication session between three or more participants is active, displaying a notification indicating that the real-time communication session is active; receiving second data indicating that the real-time communication session between the three or more participants is no longer active while displaying the notification indicating that the real-time communication session is active; and in response to receiving second data indicating that the real-time communication session between the three or more participants is no longer active, ceasing to display the notification or updating the notification to indicate that the real-time communication session is no longer active.
In some embodiments, an electronic device includes: a display; means for displaying an instant messaging user interface of an instant messaging application, the instant messaging user interface including a message region comprising a plurality of messages in a messaging conversation between three or more participants; means for receiving first data indicating that a real-time communication session available to three or more participants is active; means, responsive to receiving first data indicating that a real-time communication session between three or more participants is active, for: displaying a notification indicating that the real-time communication session is active; means for, while displaying the notification indicating that the real-time communication session is active: receiving second data indicating that the real-time communication session between the three or more participants is no longer active; and means for performing the following: in response to receiving second data indicating that the real-time communication session between the three or more participants is no longer active, ceasing to display the notification or updating the notification to indicate that the real-time communication session is no longer active.
In some embodiments, a method is performed at an electronic device having a display. The method can comprise the following steps: receiving a request to display a user interface for a real-time communication session between two or more participants; and in response to receiving a request to display a user interface for a real-time communication session between two or more participants, displaying the real-time communication user interface, including simultaneously displaying a plurality of participant representations in the real-time communication session, wherein displaying the plurality of participant representations in the real-time communication session includes: in accordance with a determination that the number of participants in the real-time communication session includes a number of participants greater than a threshold while displaying representations of a first plurality of participants other than the user of the electronic device in one or more sizes greater than a respective threshold size, and displaying representations of a second plurality of participants in the overflow area, wherein the second plurality of participants includes one or more participants not included in the first plurality of participants and the representations of one or more other participants displayed in the overflow area are displayed in a size less than the respective threshold size; and in accordance with a determination that the number of participants in the real-time communication session includes a number of participants less than or equal to the threshold, display representations of the participants other than the user of the electronic device in one or more sizes greater than the respective threshold size and not display representations of the participants other than the user of the electronic device in one or more sizes less than or equal to the respective threshold size.
In some embodiments, a non-transitory computer readable storage medium stores one or more programs configured for execution by one or more processors of an electronic device with a display. The one or more programs include instructions for: receiving a request to display a user interface for a real-time communication session between two or more participants; and in response to receiving a request to display a user interface for a real-time communication session between two or more participants, displaying the real-time communication user interface, including simultaneously displaying a plurality of participant representations in the real-time communication session, wherein displaying the plurality of participant representations in the real-time communication session includes: in accordance with a determination that the number of participants in the real-time communication session includes a number of participants greater than a threshold while displaying representations of a first plurality of participants other than the user of the electronic device in one or more sizes greater than a respective threshold size, and displaying representations of a second plurality of participants in the overflow area, wherein the second plurality of participants includes one or more participants not included in the first plurality of participants and the representations of one or more other participants displayed in the overflow area are displayed in a size less than the respective threshold size; and in accordance with a determination that the number of participants in the real-time communication session includes a number of participants less than or equal to the threshold, display representations of the participants other than the user of the electronic device in one or more sizes greater than the respective threshold size and not display representations of the participants other than the user of the electronic device in one or more sizes less than or equal to the respective threshold size.
In some embodiments, a transitory computer readable storage medium stores one or more programs configured for execution by one or more processors of an electronic device with a display. The one or more programs include instructions for: receiving a request to display a user interface for a real-time communication session between two or more participants; and in response to receiving a request to display a user interface for a real-time communication session between two or more participants, displaying the real-time communication user interface, including simultaneously displaying a plurality of participant representations in the real-time communication session, wherein displaying the plurality of participant representations in the real-time communication session includes: in accordance with a determination that the number of participants in the real-time communication session includes a number of participants greater than a threshold while displaying representations of a first plurality of participants other than the user of the electronic device in one or more sizes greater than a respective threshold size, and displaying representations of a second plurality of participants in the overflow area, wherein the second plurality of participants includes one or more participants not included in the first plurality of participants and the representations of one or more other participants displayed in the overflow area are displayed in a size less than the respective threshold size; and in accordance with a determination that the number of participants in the real-time communication session includes a number of participants less than or equal to the threshold, display representations of the participants other than the user of the electronic device in one or more sizes greater than the respective threshold size and not display representations of the participants other than the user of the electronic device in one or more sizes less than or equal to the respective threshold size.
In some embodiments, an electronic device includes a display, one or more processors, and a memory. The memory stores one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for: receiving a request to display a user interface for a real-time communication session between two or more participants; and in response to receiving a request to display a user interface for a real-time communication session between two or more participants, displaying the real-time communication user interface, including simultaneously displaying a plurality of participant representations in the real-time communication session, wherein displaying the plurality of participant representations in the real-time communication session includes: in accordance with a determination that the number of participants in the real-time communication session includes a number of participants greater than a threshold while displaying representations of a first plurality of participants other than the user of the electronic device in one or more sizes greater than a respective threshold size, and displaying representations of a second plurality of participants in the overflow area, wherein the second plurality of participants includes one or more participants not included in the first plurality of participants and the representations of one or more other participants displayed in the overflow area are displayed in a size less than the respective threshold size; and in accordance with a determination that the number of participants in the real-time communication session includes a number of participants less than or equal to the threshold, display representations of the participants other than the user of the electronic device in one or more sizes greater than the respective threshold size and not display representations of the participants other than the user of the electronic device in one or more sizes less than or equal to the respective threshold size.
In some embodiments, an electronic device includes: a display; means for receiving a request to display a user interface for a real-time communication session between two or more participants; and means, responsive to receiving a request to display a user interface for a real-time communication session between two or more participants, for: displaying a real-time communication user interface, including simultaneously displaying a plurality of participant representations in a real-time communication session, wherein displaying the plurality of participant representations in the real-time communication session includes: means for, in accordance with a determination that the number of participants in the real-time communication session includes a number of participants greater than a threshold: concurrently displaying representations of a first plurality of participants other than a user of the electronic device in one or more sizes greater than a respective threshold size, while displaying representations of a second plurality of participants in the overflow area, wherein the second plurality of participants includes one or more participants not included in the first plurality of participants and the representations of the one or more other participants displayed in the overflow area are displayed in a size less than the respective threshold size; and means for: in accordance with a determination that the number of participants in the real-time communication session includes a number of participants less than or equal to a threshold, representations of the participants other than the user of the electronic device are displayed in one or more sizes greater than the respective threshold size, and representations of the participants other than the user of the electronic device are not displayed in one or more sizes less than or equal to the respective threshold size.
In some embodiments, a method is performed at an electronic device having a display. The method can comprise the following steps: displaying a real-time video communication user interface that includes simultaneously displaying a representation of a first participant in a real-time video communication session, a representation of a second participant in the real-time video communication session, and a representation of a third participant in the real-time video communication session; while displaying the real-time video communication user interface, receiving data indicating that an activity level of a second participant in the real-time video communication session has increased above an activity level of a first participant in the real-time video communication session; and in response to receiving the data indicating that the activity level of the second participant in the real-time video communication session has increased above the activity level of the first participant in the real-time video communication session: changing a size and/or a position of a representation of a first participant in a real-time video communication user interface; changing a size and/or a position of a representation of a second participant in the real-time video communication user interface; and changing the size and/or position of the representation of the third participant in the real-time video communication user interface.
In some embodiments, a non-transitory computer readable storage medium stores one or more programs configured for execution by one or more processors of an electronic device with a display. The one or more programs include instructions for: displaying a real-time video communication user interface that includes simultaneously displaying a representation of a first participant in a real-time video communication session, a representation of a second participant in the real-time video communication session, and a representation of a third participant in the real-time video communication session; while displaying the real-time video communication user interface, receiving data indicating that an activity level of a second participant in the real-time video communication session has increased above an activity level of a first participant in the real-time video communication session; and in response to receiving the data indicating that the activity level of the second participant in the real-time video communication session has increased above the activity level of the first participant in the real-time video communication session: changing a size and/or a position of a representation of a first participant in a real-time video communication user interface; changing a size and/or a position of a representation of a second participant in the real-time video communication user interface; and changing the size and/or position of the representation of the third participant in the real-time video communication user interface.
In some embodiments, a transitory computer readable storage medium stores one or more programs configured for execution by one or more processors of an electronic device with a display. The one or more programs include instructions for: displaying a real-time video communication user interface that includes simultaneously displaying a representation of a first participant in a real-time video communication session, a representation of a second participant in the real-time video communication session, and a representation of a third participant in the real-time video communication session; while displaying the real-time video communication user interface, receiving data indicating that an activity level of a second participant in the real-time video communication session has increased above an activity level of a first participant in the real-time video communication session; and in response to receiving the data indicating that the activity level of the second participant in the real-time video communication session has increased above the activity level of the first participant in the real-time video communication session: changing a size and/or a position of a representation of a first participant in a real-time video communication user interface; changing a size and/or a position of a representation of a second participant in the real-time video communication user interface; and changing the size and/or position of the representation of the third participant in the real-time video communication user interface.
In some embodiments, an electronic device includes a display, one or more processors, and a memory. The memory stores one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for: displaying a real-time video communication user interface that includes simultaneously displaying a representation of a first participant in a real-time video communication session, a representation of a second participant in the real-time video communication session, and a representation of a third participant in the real-time video communication session; while displaying the real-time video communication user interface, receiving data indicating that an activity level of a second participant in the real-time video communication session has increased above an activity level of a first participant in the real-time video communication session; and in response to receiving the data indicating that the activity level of the second participant in the real-time video communication session has increased above the activity level of the first participant in the real-time video communication session: changing a size and/or a position of a representation of a first participant in a real-time video communication user interface; changing a size and/or a position of a representation of a second participant in the real-time video communication user interface; and changing the size and/or position of the representation of the third participant in the real-time video communication user interface.
In some embodiments, an electronic device includes: a display; means for displaying a real-time video communication user interface, the displaying the real-time video communication user interface including simultaneously displaying a representation of a first participant in the real-time video communication session, a representation of a second participant in the real-time video communication session, and a representation of a third participant in the real-time video communication session; means for performing the following: while displaying the real-time video communication user interface, receiving data indicating that an activity level of a second participant in the real-time video communication session has increased above an activity level of a first participant in the real-time video communication session; and means, responsive to receiving data indicating that the activity level of the second participant in the real-time video communication session has increased above the activity level of the first participant in the real-time video communication session, for: changing a size and/or a position of a representation of a first participant in a real-time video communication user interface; changing a size and/or a position of a representation of a second participant in the real-time video communication user interface; and changing the size and/or position of the representation of the third participant in the real-time video communication user interface.
In some embodiments, a method is performed at an electronic device having a display. The method can comprise the following steps: displaying an instant messaging user interface of an instant messaging application, the instant messaging user interface comprising: a message region including a plurality of messages between participants in a message conversation including three or more participants; and an affordance separate from a message region for starting a real-time video communication session in a real-time video communication application; detecting an input corresponding to selection of an affordance; and in response to detecting the input corresponding to the selection of the affordance, initiate a process in the real-time video communication application for starting a real-time video communication session, the real-time video communication session including participants of the message conversation.
In some embodiments, a non-transitory computer readable storage medium stores one or more programs configured for execution by one or more processors of an electronic device with a display. The one or more programs include instructions for: displaying an instant messaging user interface of an instant messaging application, the instant messaging user interface comprising: a message region including a plurality of messages between participants in a message conversation including three or more participants; and an affordance separate from a message region for starting a real-time video communication session in a real-time video communication application; detecting an input corresponding to selection of an affordance; and in response to detecting the input corresponding to the selection of the affordance, initiate a process in the real-time video communication application for starting a real-time video communication session, the real-time video communication session including participants of the message conversation.
In some embodiments, a transitory computer readable storage medium stores one or more programs configured for execution by one or more processors of an electronic device with a display. The one or more programs include instructions for: displaying an instant messaging user interface of an instant messaging application, the instant messaging user interface comprising: a message region including a plurality of messages between participants in a message conversation including three or more participants; and an affordance separate from a message region for starting a real-time video communication session in a real-time video communication application; detecting an input corresponding to selection of an affordance; and in response to detecting the input corresponding to the selection of the affordance, initiate a process in the real-time video communication application for starting a real-time video communication session, the real-time video communication session including participants of the message conversation.
In some embodiments, an electronic device includes a display, one or more processors, and a memory. The memory stores one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for: displaying an instant messaging user interface of an instant messaging application, the instant messaging user interface comprising: a message region including a plurality of messages between participants in a message conversation including three or more participants; and an affordance separate from a message region for starting a real-time video communication session in a real-time video communication application; detecting an input corresponding to selection of an affordance; and in response to detecting the input corresponding to the selection of the affordance, initiate a process in the real-time video communication application for starting a real-time video communication session, the real-time video communication session including participants of the message conversation.
In some embodiments, an electronic device includes: a display; apparatus for displaying an instant messaging user interface of an instant messaging application, the instant messaging user interface comprising: a message region including a plurality of messages between participants in a message conversation including three or more participants; and an affordance separate from a message region for starting a real-time video communication session in a real-time video communication application; means for detecting an input corresponding to selection of the affordance; and means, responsive to detecting an input corresponding to selection of the affordance, for: a process for starting a real-time video communication session is initiated in a real-time video communication application, the real-time video communication session including participants of a messaging conversation.
In some embodiments, a method is performed at an electronic device having a display. The method can comprise the following steps: a real-time video communication user interface to display a real-time video communication application, the real-time video communication user interface comprising: a plurality of participant affordances corresponding to respective one or more participants, the plurality of participant affordances including a first participant affordance corresponding to a group of three or more participants; and a new session affordance for starting a new real-time video communication session; detecting an input corresponding to a request to initiate a process to start a new real-time video communication session; and in response to detecting the input: initiating a process of starting a new real-time video communication session in accordance with an input corresponding to the selection of the first participant affordance, the new real-time video communication session including a group of three or more participants; and initiate a process for selecting two or more participants and starting a new real-time video communication session including the participant associated with the device and the two or more selected participants, in accordance with an input corresponding to the selection of the new session affordance.
In some embodiments, a non-transitory computer readable storage medium stores one or more programs configured for execution by one or more processors of an electronic device with a display. The one or more programs include instructions for: a real-time video communication user interface to display a real-time video communication application, the real-time video communication user interface comprising: a plurality of participant affordances corresponding to respective one or more participants, the plurality of participant affordances including a first participant affordance corresponding to a group of three or more participants; and a new session affordance for starting a new real-time video communication session; detecting an input corresponding to a request to initiate a process to start a new real-time video communication session; and in response to detecting the input: initiating a process of starting a new real-time video communication session in accordance with an input corresponding to the selection of the first participant affordance, the new real-time video communication session including a group of three or more participants; and initiate a process for selecting two or more participants and starting a new real-time video communication session including the participant associated with the device and the two or more selected participants, in accordance with an input corresponding to the selection of the new session affordance.
In some embodiments, a transitory computer readable storage medium stores one or more programs configured for execution by one or more processors of an electronic device with a display. The one or more programs include instructions for: a real-time video communication user interface to display a real-time video communication application, the real-time video communication user interface comprising: a plurality of participant affordances corresponding to respective one or more participants, the plurality of participant affordances including a first participant affordance corresponding to a group of three or more participants; and a new session affordance for starting a new real-time video communication session; detecting an input corresponding to a request to initiate a process to start a new real-time video communication session; and in response to detecting the input: initiating a process of starting a new real-time video communication session in accordance with an input corresponding to the selection of the first participant affordance, the new real-time video communication session including a group of three or more participants; and initiate a process for selecting two or more participants and starting a new real-time video communication session including the participant associated with the device and the two or more selected participants, in accordance with an input corresponding to the selection of the new session affordance.
In some embodiments, an electronic device includes a display, one or more processors, and a memory. The memory stores one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for: a real-time video communication user interface to display a real-time video communication application, the real-time video communication user interface comprising: a plurality of participant affordances corresponding to respective one or more participants, the plurality of participant affordances including a first participant affordance corresponding to a group of three or more participants; and a new session affordance for starting a new real-time video communication session; detecting an input corresponding to a request to initiate a process to start a new real-time video communication session; and in response to detecting the input: initiating a process of starting a new real-time video communication session in accordance with an input corresponding to the selection of the first participant affordance, the new real-time video communication session including a group of three or more participants; and initiate a process for selecting two or more participants and starting a new real-time video communication session including the participant associated with the device and the two or more selected participants, in accordance with an input corresponding to the selection of the new session affordance.
In some embodiments, an electronic device includes: a display; apparatus for displaying a real-time video communication user interface of a real-time video communication application, the real-time video communication user interface comprising: a plurality of participant affordances corresponding to respective one or more participants, the plurality of participant affordances including a first participant affordance corresponding to a group of three or more participants; and a new session affordance for starting a new real-time video communication session; means for detecting an input corresponding to a request to initiate a process to start a new real-time video communication session; and means responsive to detecting the input for: initiating a process of starting a new real-time video communication session in accordance with an input corresponding to the selection of the first participant affordance, the new real-time video communication session including a group of three or more participants; and initiate a process for selecting two or more participants and starting a new real-time video communication session including the participant associated with the device and the two or more selected participants, in accordance with an input corresponding to the selection of the new session affordance.
Executable instructions for performing these functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Executable instructions for performing these functions are optionally included in a transitory computer-readable storage medium or other computer program product configured for execution by one or more processors.
Accordingly, faster and more efficient methods and interfaces are provided for devices for real-time communications involving multiple participants, thereby improving the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces may supplement or replace other methods for real-time communication involving multiple participants.
Drawings
For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, wherein like reference numerals designate corresponding parts throughout the figures.
FIG. 1A is a block diagram illustrating a portable multifunction device with a touch-sensitive display in accordance with some embodiments.
Fig. 1B is a block diagram illustrating exemplary components for event processing, according to some embodiments.
FIG. 2 illustrates a portable multifunction device with a touch screen in accordance with some embodiments.
Fig. 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface in accordance with some embodiments.
Figure 4A illustrates an exemplary user interface for a menu of applications on a portable multifunction device according to some embodiments.
FIG. 4B illustrates an exemplary user interface for a multifunction device with a touch-sensitive surface separate from a display, in accordance with some embodiments.
Fig. 5A illustrates a personal electronic device, according to some embodiments.
Fig. 5B is a block diagram illustrating a personal electronic device, according to some embodiments.
Fig. 5C-5D illustrate exemplary components of a personal electronic device with a touch-sensitive display and an intensity sensor, according to some embodiments.
Fig. 5E-5H illustrate exemplary components and user interfaces of a personal electronic device, according to some embodiments.
Fig. 6A-6 AF illustrate an exemplary user interface according to some embodiments.
Fig. 7A-7F illustrate an exemplary method according to some embodiments.
Fig. 8A-8 BK illustrate an exemplary user interface according to some embodiments.
Fig. 9A-9K illustrate an exemplary method according to some embodiments.
Fig. 10A-10S illustrate an exemplary user interface according to some embodiments.
Fig. 11A-11F illustrate an exemplary method according to some embodiments.
Fig. 12A-12N illustrate an exemplary user interface according to some embodiments.
Fig. 13A-13D illustrate an exemplary method according to some embodiments.
Fig. 14A-14I illustrate an exemplary user interface according to some embodiments.
Fig. 15A-15C illustrate an exemplary method according to some embodiments.
Detailed Description
The following description sets forth exemplary methods, parameters, and the like. It should be recognized, however, that such description is not intended as a limitation on the scope of the present disclosure, but is instead provided as a description of exemplary embodiments.
Electronic devices need to provide efficient methods and interfaces for real-time communication involving multiple participants. Such techniques may reduce the cognitive burden on users participating in real-time communications that include multiple participants, thereby improving production efficiency. Moreover, such techniques may reduce processor power and battery power that would otherwise be wasted on redundant user inputs.
1A-1B, 2, 3, 4A-4B, and 5A-5H provide descriptions of exemplary devices for performing techniques for real-time communication sessions between multiple participants. Fig. 6A-6 AF illustrate exemplary user interfaces for managing event notifications. Fig. 7A-7F are flow diagrams illustrating a method of conducting a real-time communication session between a plurality of participants, according to some embodiments. The user interfaces in fig. 6A to 6AF are used to illustrate the processes described below including the processes in fig. 7A to 7F.
Fig. 8A-8 BK illustrate exemplary user interfaces for a real-time communication session between a plurality of participants. Fig. 9A-9K are flow diagrams illustrating a method of conducting a real-time communication session between a plurality of participants, according to some embodiments. The user interfaces in fig. 8A to 8BK are for illustrating the processes described below including the processes in fig. 9A to 9K.
Fig. 10A-10S illustrate exemplary user interfaces for a real-time communication session between multiple participants. 11A-11F are flow diagrams illustrating methods of conducting a real-time communication session between a plurality of participants, according to some embodiments. The user interfaces in fig. 10A to 10S are for illustrating a process described below including the processes in fig. 11A to 11F.
Fig. 12A-12N illustrate exemplary user interfaces for a real-time communication session between multiple participants. Fig. 13A-13D are flow diagrams illustrating a method of conducting a real-time communication session between a plurality of participants, according to some embodiments. The user interfaces in fig. 12A to 12N are used to illustrate a process described below including the processes in fig. 13A to 13D.
Fig. 14A-14I illustrate exemplary user interfaces for a real-time communication session between multiple participants. Fig. 15A-15C are flow diagrams illustrating a method of conducting a real-time communication session between a plurality of participants, according to some embodiments. The user interfaces in fig. 14A to 14I are for illustrating a process described below including the processes in fig. 15A to 15C.
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 may be named a second touch and similarly a second touch may be named a first touch without departing from the scope of various described embodiments. The first touch and the second touch are both touches, but they are not the same touch.
The terminology used in the description of the various described embodiments herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description of the various described embodiments and the appended claims, the singular forms "a," "an," 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 be further understood that the terms "comprises," "comprising," "includes," and/or "including," when used in this specification, specify the presence of 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.
Depending on the context, the term "if" is optionally to be interpreted to mean "when", "at. Similarly, the phrase "if determined … …" or "if [ stated condition or event ] is detected" is optionally to be construed to mean "upon determination … …" or "in response to determination … …" or "upon detection of [ stated condition or event ] or" in response to detection of [ stated condition or event ] ", depending on the context.
Electronic devices, user interfaces for such devices, and uses for such devices are described hereinEmbodiments of related processes are provided. In some embodiments, the device is a portable communication device, such as a mobile phone, that also contains other functions, such as PDA and/or music player functions. Exemplary embodiments of portable multifunction devices include, but are not limited to, those from Apple Inc
Figure BDA0002769261950000141
Device and iPod
Figure BDA0002769261950000142
An apparatus, and
Figure BDA0002769261950000143
an apparatus. Other portable electronic devices are optionally used, such as laptops or tablets with touch-sensitive surfaces (e.g., touch screen displays and/or touch pads). It should also be understood that in some embodiments, the device is not a portable communication device, but is a desktop computer with a touch-sensitive surface (e.g., a touch screen display and/or touchpad).
In the following discussion, an electronic device including a display and a touch-sensitive surface is described. However, it should be understood that the electronic device optionally includes one or more other physical user interface devices, such as a physical keyboard, mouse, and/or joystick.
The device typically supports various applications, such as one or more of the following: a mapping application, a rendering application, a word processing application, a website creation application, a disc editing application, a spreadsheet application, a gaming application, a telephone application, a video conferencing application, an email application, an instant messaging application, a fitness support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and/or a digital video player application.
Various applications executing on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and/or varied for different applications and/or within respective applications. In this way, a common physical architecture of the device (such as a touch-sensitive surface) optionally supports various applications with a user interface that is intuitive and clear to the user.
Attention is now directed to embodiments of portable devices having touch sensitive displays. FIG. 1A is a block diagram illustrating a portable multifunction device 100 with a touch-sensitive display system 112 in accordance with some embodiments. Touch-sensitive display 112 is sometimes referred to as a "touch screen" for convenience, and is sometimes referred to or called a "touch-sensitive display system". Device 100 includes memory 102 (which optionally includes one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral interface 118, RF circuitry 108, audio circuitry 110, speaker 111, 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. Device 100 optionally includes one or more contact intensity sensors 165 for detecting the intensity of contacts on device 100 (e.g., a touch-sensitive surface, such as touch-sensitive display system 112 of device 100). Device 100 optionally includes one or more tactile output generators 167 for generating tactile outputs on device 100 (e.g., generating tactile outputs on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or trackpad 355 of device 300). These components optionally communicate over one or more communication buses or signal lines 103.
As used in this specification and claims, the term "intensity" of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or to a substitute (surrogate) for the force or pressure of a contact on the touch-sensitive surface. The intensity of the 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 the contact is optionally determined (or measured) using various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the touch-sensitive surface are optionally used to measure forces at different points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., a weighted average) to determine the estimated contact force. Similarly, the pressure sensitive tip of the stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and/or changes thereof, the capacitance of the touch-sensitive surface in the vicinity of the contact and/or changes thereof and/or the resistance of the touch-sensitive surface in the vicinity of the contact and/or changes thereof are optionally used as a substitute for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the surrogate measurement of contact force or pressure is used directly to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the surrogate measurement). In some implementations, the surrogate measurement of contact force or pressure is converted into an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). The intensity of the contact is used as a property of the user input, allowing the user to access additional device functionality that is otherwise inaccessible to the user on smaller-sized devices with limited real estate for displaying affordances (e.g., on a touch-sensitive display) and/or receiving user input (e.g., via a touch-sensitive display, a touch-sensitive surface, or physical/mechanical controls, such as knobs or buttons).
As used in this specification and claims, the term "haptic output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to a center of mass of the device that is to be detected by a user with the user's sense of touch. For example, where a device or component of a device is in contact with a surface of a user that is sensitive to touch (e.g., a finger, palm, or other portion of a user's hand), the haptic output generated by the physical displacement will be interpreted by the user as a haptic sensation corresponding to a perceived change in a physical characteristic of the device or component of the device. For example, movement of the touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is optionally interpreted by the user as a "down click" or "up 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 pressed (e.g., displaced) by the user's movement is not moving. As another example, even when there is no change in the smoothness of the touch sensitive surface, the movement of the touch sensitive surface is optionally interpreted or sensed by the user as "roughness" of the touch sensitive surface. While such interpretation of touch by a user will be limited by the user's individualized sensory perception, 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 a user (e.g., "click down," "click up," "roughness"), unless otherwise stated, the generated haptic output corresponds to a physical displacement of the device or a component thereof that would generate the sensory perception of a typical (or ordinary) user.
It should be understood that device 100 is merely one example of a portable multifunction device, and that device 100 optionally has more or fewer components than shown, optionally combines two or more components, or optionally has a different configuration or arrangement of these components. The various components shown in fig. 1A 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.
The memory 102 optionally includes high-speed random access memory, and also optionally includes non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Memory controller 122 optionally controls access to memory 102 by other components of device 100.
Peripheral interface 118 may be used to couple the input and output peripherals of the device to CPU 120 and memory 102. The one or more processors 120 run or execute various software programs and/or sets of instructions stored in the memory 102 to perform various functions of the device 100 and to process data. In some embodiments, peripherals interface 118, CPU 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, they are optionally implemented on separate chips.
RF (radio frequency) circuitry 108 receives and transmits RF signals, also called electromagnetic signals. The RF circuitry 108 converts electrical signals to/from electromagnetic signals and communicates with communication networks and other communication devices via electromagnetic signals. RF circuitry 108 optionally includes well-known circuitry for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a codec chipset, a Subscriber Identity Module (SIM) card, memory, and so forth. RF circuitry 108 optionally communicates with networks, such as the internet, also known as the World Wide Web (WWW), intranets, and/or wireless networks, such as cellular telephone networks, wireless Local Area Networks (LANs), and/or Metropolitan Area Networks (MANs), as well as other devices via wireless communication. RF circuitry 108 optionally includes well-known circuitry for detecting Near Field Communication (NFC) fields, such as by short-range communication radios. The wireless communication optionally uses any of a number of communication standards, protocols, and techniques, 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 +, 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 Low Power consumption (BTLE), Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, and/or IEEE 802.11ac), Voice over Internet protocol (VoIP), Wi-MAX, 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 with 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 at the time of filing date of this document.
Audio circuitry 110, speaker 111, and microphone 113 provide an audio interface between a user and device 100. The audio circuitry 110 receives audio data from the peripheral interface 118, converts the audio data to electrical signals, and transmits the electrical signals to the speaker 111. The speaker 111 converts the electrical signal into sound waves audible to the human ear. The audio circuit 110 also receives electrical signals converted by the microphone 113 from sound waves. The audio circuit 110 converts the electrical signals to audio data and transmits the audio data to the peripheral interface 118 for processing. Audio data is optionally retrieved from and/or transmitted to memory 102 and/or RF circuitry 108 by peripheral interface 118. In some embodiments, the audio circuit 110 also includes a headset jack (e.g., 212 in fig. 2). The headset jack provides an interface between the audio circuitry 110 and a removable audio input/output peripheral such as an output-only headphone or a headset having both an output (e.g., a monaural headphone or a binaural headphone) and an input (e.g., a microphone).
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 a 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/transmit electrical signals from/to other input control devices 116. Other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, and the like. In some alternative embodiments, one or more input controllers 160 are optionally coupled to (or not coupled to) any of: a keyboard, an infrared port, a USB port, and a pointing device such as a mouse. The one or more buttons (e.g., 208 in fig. 2) optionally include an up/down button for volume control of the speaker 111 and/or microphone 113. The one or more buttons optionally include a push button (e.g., 206 in fig. 2).
Quick depression of the push button optionally unlocks the touch screen 112 or optionally begins the process of Unlocking the Device using a gesture on the touch screen, as described in U.S. patent application 11/322,549 (i.e., U.S. patent No.7,657,849) entitled "Unlocking a Device by Performing diagnostics on a Device an Unlock Image," filed on 23.12.2005, which is hereby incorporated by reference in its entirety. A long press of a button (e.g., 206) optionally turns the device 100 on or off. The functionality of one or more buttons is optionally customizable by the user. The touch screen 112 is used to implement virtual or soft buttons and one or more soft keyboards.
Touch-sensitive display 112 provides an input interface and an output interface between the device and the user. Display controller 156 receives electrical signals from and/or transmits electrical signals to touch screen 112. Touch screen 112 displays visual output to a user. The visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively "graphics"). In some embodiments, some or all of the visual output optionally corresponds to a user interface object.
Touch screen 112 has a touch-sensitive surface, sensor, or group of sensors that accept input from a user based on tactile sensation and/or tactile contact. Touch screen 112 and display controller 156 (along with any associated modules and/or sets of instructions in memory 102) detect contact (and any movement or breaking of the contact) on touch screen 112 and convert the detected contact into interaction with user interface objects (e.g., one or more soft keys, icons, web pages, or images) displayed on touch screen 112. In an exemplary embodiment, the point of contact between touch screen 112 and the user corresponds to a finger of the user.
Touch screen 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although other display technologies are used in other embodiments. Touch screen 112 and display controller 156 optionally detect contact and any movement or breaking thereof using any of a variety of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with touch screen 112. In one exemplary embodiment, projected mutual capacitance sensing technology is used, such as that available from Apple Inc. (Cupertino, California)
Figure BDA0002769261950000201
And iPod
Figure BDA0002769261950000202
The technique used in (1).
The touch sensitive display in some embodiments of touch screen 112 is optionally similar to a multi-touch sensitive trackpad described in the following U.S. patents: 6,323,846(Westerman et al), 6,570,557(Westerman et al) and/or 6,677,932(Westerman et al) and/or U.S. patent publication 2002/0015024a1, each of which is hereby incorporated by reference in its entirety. However, touch screen 112 displays visual output from device 100, while touch sensitive trackpads do not provide visual output.
In some embodiments, the touch sensitive display of touch screen 112 is as described in the following applications: (1) U.S. patent application No.11/381,313 entitled "Multipoint Touch Surface Controller" filed on 2.5.2006; (2) U.S. patent application No.10/840,862 entitled "Multipoint touch screen" filed on 6.5.2004; (3) U.S. patent application No.10/903,964 entitled "Gestures For Touch Sensitive Input Devices" (Gestures For Touch Sensitive Input Devices) filed on 30.7.2004; (4) U.S. patent application No.11/048,264 entitled "Gestures For Touch Sensitive Input Devices" filed on 31/1/2005; (5) U.S. patent application No.11/038,590 entitled "Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices" (Pattern-Based Graphical User interface For Touch Sensitive Input Devices) filed on 18.1.2005; (6) U.S. patent application No.11/228,758 entitled "Virtual Input Device On A Touch Screen User Interface" (Virtual Input Device placed On a Touch Screen User Interface) filed On 16.9.2005; (7) U.S. patent application No.11/228,700 entitled "Operation Of A Computer With A Touch Screen Interface" (Operation Of a Computer With a Touch Screen Interface), filed on 16.9.2005; (8) U.S. patent application No.11/228,737 entitled "Activating Virtual Keys Of A Touch-Screen Virtual Keys" (Activating Virtual Keys Of a Touch Screen Virtual Keyboard) filed on 16.9.2005; and (9) U.S. patent application No.11/367,749 entitled "Multi-Functional Hand-Held Device" filed 3.3.2006. All of these applications are incorporated herein by reference in their entirety.
The touch screen 112 optionally has a video resolution in excess of 100 dpi. In some embodiments, the touch screen has a video resolution of about 160 dpi. The user optionally makes contact with touch screen 112 using any suitable object or appendage, such as a stylus, finger, or the like. In some embodiments, the user interface is designed to work primarily with finger-based contacts and gestures, which may not be as accurate as stylus-based input due to the larger contact area of the finger on the touch screen. In some embodiments, the device translates the rough finger-based input into a precise pointer/cursor position or command for performing the action desired by the user.
In some embodiments, in addition to a touch screen, device 100 optionally includes a trackpad for activating or deactivating particular functions. In some embodiments, the trackpad is a touch-sensitive area of the device that, unlike a touchscreen, does not display visual output. The touchpad is optionally a touch-sensitive surface separate from touch screen 112 or an extension of the touch-sensitive surface formed by the touch screen.
The device 100 also includes a power system 162 for powering the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., battery, Alternating Current (AC)), a recharging 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.
The device 100 optionally further includes one or more optical sensors 164. FIG. 1A shows an optical sensor coupled to an optical sensor controller 158 in the I/O subsystem 106. The optical sensor 164 optionally includes a Charge Coupled Device (CCD) or a Complementary Metal Oxide Semiconductor (CMOS) phototransistor. The optical sensor 164 receives light from the environment projected through one or more lenses and converts the light into data representing an image. In conjunction with imaging module 143 (also called a camera module), optical sensor 164 optionally captures still images or video. In some embodiments, an optical sensor is located on the back of device 100, opposite touch screen display 112 on the front of the device, so that the touch screen display can be used as a viewfinder for still and/or video image acquisition. In some embodiments, an optical sensor is located on the front of the device so that images of the user are optionally acquired for the video conference while the user views other video conference participants on the touch screen display. In some implementations, the position of the optical sensor 164 can be changed by the user (e.g., by rotating a lens and sensor in the device housing) such that a single optical sensor 164 is used with the touch screen display for both video conferencing and still image and/or video image capture.
The device 100 optionally also includes one or more depth camera sensors 175. FIG. 1A shows a depth camera sensor coupled to a depth camera controller 169 in I/O subsystem 106. 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., a depth camera sensor). In some embodiments, in conjunction with imaging module 143 (also referred to as a camera module), depth camera sensor 175 is optionally used to determine a depth map of different portions of an image captured by imaging module 143. In some embodiments, the depth camera sensor is located in the front of the device 100, such that user images with depth information are optionally acquired for the video conference while the user views other video conference participants on the touch screen display, and a self-portrait with depth map data is captured. In some embodiments, the depth camera sensor 175 is located at the rear of the device, or at the rear and front of the device 100. In some implementations, the position of the depth camera sensor 175 can be changed by the user (e.g., by rotating a lens and sensor in the device housing) such that the depth camera sensor 175 is used with a touch screen display for both video conferencing and still image and/or video image capture.
In some implementations, a depth map (e.g., a depth map image) includes information (e.g., values) related to the distance of objects in a scene from a viewpoint (e.g., a camera, an optical sensor, a depth camera sensor). In one embodiment of the depth map, each depth pixel defines the location in the Z-axis of the viewpoint at which its corresponding two-dimensional pixel is located. In some implementations, the depth map is composed of pixels, where each pixel is defined by a value (e.g., 0 to 255). For example, a "0" value represents a pixel located farthest from a viewpoint (e.g., camera, optical sensor, depth camera sensor) in a "three-dimensional" scene, and a "255" value represents a pixel located closest to the viewpoint in the "three-dimensional" scene. In other embodiments, the depth map represents the distance between an object in the scene and the plane of the viewpoint. In some implementations, the depth map includes information about the relative depths of various features of the object of interest in the field of view of the depth camera (e.g., the relative depths of the eyes, nose, mouth, ears of the user's face). In some embodiments, the depth map comprises information enabling the apparatus to determine a contour of the object of interest in the z-direction.
Device 100 optionally further comprises one or more contact intensity sensors 165. FIG. 1A shows a contact intensity sensor coupled to an intensity sensor controller 159 in the I/O subsystem 106. Contact intensity sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other intensity sensors (e.g., sensors for measuring the force (or pressure) of a contact on a touch-sensitive surface). Contact intensity sensor 165 receives contact intensity information (e.g., pressure information or a proxy for pressure information) from the environment. In some implementations, at least one contact intensity sensor is collocated with or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact intensity sensor is located on the back of device 100 opposite touch screen display 112 located on the front of device 100.
The device 100 optionally further includes one or more proximity sensors 166. Fig. 1A shows a proximity sensor 166 coupled to the peripheral interface 118. Alternatively, the proximity sensor 166 is optionally coupled to the input controller 160 in the I/O subsystem 106. The proximity sensor 166 optionally performs as described in the following U.S. patent applications: 11/241,839 entitled "Proximaty Detector In Handheld Device"; no.11/240,788 entitled "Proximity Detector In Handheld Device" (Proximity Detector In Handheld Device); no.11/620,702, entitled "Using Ambient Light Sensor To Automation Proximity Sensor Output" (enhanced Proximity Sensor Output Using Ambient Light Sensor); no.11/586,862, entitled "Automated Response To And Sensing Of User Activity In Portable Devices" (Automated Response And Sensing Of User Activity In Portable Devices); and U.S. patent application No.11/638,251, entitled "Methods And Systems For Automatic Configuration Of Peripherals" (Methods And Systems For Automatic Configuration Of Peripherals), which is hereby incorporated by reference in its entirety. In some embodiments, the proximity sensor turns off and disables the touch screen 112 when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call).
Device 100 optionally further comprises one or more tactile output generators 167. FIG. 1A shows a haptic output generator coupled to a haptic feedback controller 161 in the I/O subsystem 106. Tactile output generator 167 optionally includes one or more electro-acoustic devices, such as speakers or other audio components; and/or an electromechanical device that converts energy into linear motion, such as a motor, solenoid, electroactive aggregator, piezoelectric actuator, electrostatic actuator, or other tactile output generating component (e.g., a component that converts an electrical signal into a tactile output on the device). Contact intensity sensor 165 receives haptic feedback generation instructions from haptic feedback module 133 and generates haptic output on device 100 that can be felt by a user of device 100. In some embodiments, at least one tactile output generator is juxtaposed or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112), and optionally generates tactile output by moving the touch-sensitive surface vertically (e.g., into/out of the surface of device 100) or laterally (e.g., back and forth in the same plane as the surface of device 100). In some embodiments, at least one tactile output generator sensor is located on the back of device 100, opposite touch screen display 112, which is located on the front of device 100.
Device 100 optionally also includes one or more accelerometers 168. Fig. 1A shows accelerometer 168 coupled to peripheral interface 118. Alternatively, accelerometer 168 is optionally coupled to input controller 160 in I/O subsystem 106. Accelerometer 168 optionally performs as described in the following U.S. patent publications: U.S. patent publication 20050190059 entitled "Accelation-Based Detection System For Portable Electronic Devices" And U.S. patent publication 20060017692 entitled "Methods And apparatus For Operating A Portable Device Based On An Accelerometer", both of which are incorporated herein by reference in their entirety. In some embodiments, information is displayed in a portrait view or a landscape view on the touch screen display based on analysis of data received from one or more accelerometers. Device 100 optionally includes a magnetometer and a GPS (or GLONASS or other global navigation system) receiver in addition to accelerometer 168 for obtaining information about the position and orientation (e.g., portrait or landscape) of device 100.
In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or set of instructions) 128, a contact/motion module (or set of instructions) 130, a graphics module (or set of instructions) 132, a text input module (or set of instructions) 134, a Global Positioning System (GPS) module (or set of instructions) 135, and an application program (or set of instructions) 136. Further, in some embodiments, memory 102 (fig. 1A) or 370 (fig. 3) stores device/global internal state 157, as shown in fig. 1A and 3. Device/global internal state 157 includes one or more of: an active application state indicating which applications (if any) are currently active; display state indicating what applications, views, or other information occupy various areas of the touch screen display 112; sensor status, including information obtained from the various sensors of the device and the input control device 116; and location information regarding the location and/or pose of the device.
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 various hardware and software components.
Communications module 128 facilitates communications with other devices through one or more external ports 124 and also includes various software components for processing data received by RF circuitry 108 and/or external ports 124. External port 124 (e.g., Universal Serial Bus (USB), firewire, etc.) is adapted to couple directly to other devices or indirectly through a network (e.g., the internet, wireless LAN, etc.). In some embodiments, the external port is an external port
Figure BDA0002769261950000251
(trademark of Apple inc.) a multi-pin (e.g., 30-pin) connector that is the same as or similar to and/or compatible with the 30-pin connector used on the device.
Contact/motion module 130 optionally detects contact with touch screen 112 (in conjunction with display controller 156) and other touch-sensitive devices (e.g., a trackpad or physical click wheel). The contact/motion module 130 includes various software components for performing various operations related to the detection of contact, such as determining whether contact has occurred (e.g., detecting a finger-down event), determining the intensity of contact (e.g., the force or pressure of the contact, or a substitute for the force or pressure of the contact), determining whether there is movement of the contact and tracking movement across the touch-sensitive surface (e.g., detecting one or more finger-dragging events), and determining whether contact has ceased (e.g., detecting a finger-up event or a break in contact). The contact/motion module 130 receives contact data from the touch-sensitive surface. Determining movement of the point of contact optionally includes determining velocity (magnitude), velocity (magnitude and direction), and/or acceleration (change in magnitude and/or direction) of the point of contact, the movement of the point of contact being represented by a series of contact data. These operations are optionally applied to single point contacts (e.g., single finger contacts) or multiple point simultaneous contacts (e.g., "multi-touch"/multiple finger contacts). In some embodiments, the contact/motion module 130 and the display controller 156 detect contact on a touch pad.
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., determine whether the user has "clicked" on an icon). In some embodiments, at least a subset of the intensity thresholds are determined as a function of software parameters (e.g., the intensity thresholds are not determined by the activation thresholds of particular physical actuators and may be adjusted without changing the physical hardware of device 100). For example, the mouse "click" threshold of the trackpad or touchscreen can be set to any one of a wide range of predefined thresholds without changing the trackpad or touchscreen display hardware. Additionally, in some implementations, a user of the device is provided with software settings for adjusting one or more intensity thresholds of a set of intensity thresholds (e.g., by adjusting individual intensity thresholds and/or by adjusting multiple intensity thresholds at once with a system-level click on an "intensity" parameter).
The contact/motion module 130 optionally detects gesture input by the user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motions, timings, and/or intensities of detected contacts). Thus, the gesture is optionally detected by detecting a particular contact pattern. For example, detecting a finger tap gesture includes detecting a finger-down event, and then detecting a finger-up (lift-off) event at the same location (or substantially the same location) as the finger-down event (e.g., at the location of the icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger-down event, then detecting one or more finger-dragging events, and then subsequently detecting a finger-up (lift-off) event.
Graphics module 132 includes various known software components for rendering and displaying graphics on touch screen 112 or other display, including components for changing the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual attributes) of the displayed graphics. As used herein, the term "graphic" includes any object that may be displayed to a user, including without limitation text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations and the like.
In some embodiments, graphics module 132 stores data representing graphics to be used. Each graphic is optionally assigned a corresponding code. The graphic module 132 receives one or more codes specifying a graphic to be displayed from an application program or the like, and also receives coordinate data and other graphic attribute data together if necessary, and then generates screen image data to output to the display controller 156.
Haptic feedback module 133 includes various software components for generating instructions for use by haptic output generator 167 in generating haptic outputs at one or more locations on device 100 in response to user interaction with device 100.
Text input module 134, which is optionally a component of graphics module 132, provides a soft keyboard for entering text in various applications such as contacts 137, email 140, IM 141, browser 147, and any other application that requires text input.
The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for use in location-based dialing; to the camera 143 as picture/video metadata; and to applications that provide location-based services, such as weather desktop applets, local yellow pages desktop applets, and map/navigation desktop applets).
Application 136 optionally includes the following modules (or sets of instructions), or a subset or superset thereof:
contacts module 137 (sometimes referred to as a contact list or contact list);
a phone module 138;
a video conferencing module 139;
an email client module 140;
an Instant Messaging (IM) module 141;
fitness support module 142;
a camera module 143 for still and/or video images;
an image management module 144;
a video player module;
a music player module;
A browser module 147;
a calendar module 148;
desktop applet module 149, optionally including one or more of: a weather desktop applet 149-1, a stock market desktop applet 149-2, a calculator desktop applet 149-3, an alarm desktop applet 149-4, a dictionary desktop applet 149-5, and other desktop applets acquired by the user, and a user created desktop applet 149-6;
a desktop applet creator module 150 for forming a user-created desktop applet 149-6;
a search module 151;
a video and music player module 152 that incorporates a video player module and a music player module;
a notepad module 153;
a map module 154; and/or
Online video module 155.
Examples of other applications 136 optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, rendering applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.
In conjunction with touch screen 112, display controller 156, contact/motion module 130, graphics module 132, and text input module 134, contacts module 137 is optionally used to manage contact lists or contact lists (e.g., stored in memory 102 or in application internal state 192 of contacts module 137 in memory 370), including: adding one or more names to the address book; delete names from the address book; associating a telephone number, email address, physical address, or other information with a name; associating the image with a name; classifying and classifying names; providing a telephone number or email address to initiate and/or facilitate communication via telephone 138, video conferencing module 139, email 140, or instant message 141; and so on.
In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact/motion module 130, graphics module 132, and text input module 134, phone module 138 is optionally used to enter a sequence of characters corresponding to a phone number, access one or more phone numbers in contacts module 137, modify an entered phone number, dial a corresponding phone number, conduct a conversation, and disconnect or hang up when the conversation is complete. As noted above, the wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.
In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact/motion module 130, graphics module 132, text input module 134, contacts module 137, and telephony module 138, video conference module 139 includes executable instructions for initiating, conducting, and terminating video conferences between the user and one or more other participants according to user instructions.
In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact/motion module 130, graphics module 132, and text input module 134, email client module 140 includes executable instructions for creating, sending, receiving, and managing emails in response to user instructions. In conjunction with the image management module 144, the email client module 140 makes it very easy to create and send an email with a still image or a video image captured by the camera module 143.
In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact/motion module 130, graphics module 132, and text input module 134, instant messaging module 141 includes executable instructions for: entering a sequence of characters corresponding to an instant message, modifying previously entered characters, transmitting a corresponding instant message (e.g., using a Short Message Service (SMS) or Multimedia Messaging Service (MMS) protocol for a phone-based instant message, or using XMPP, SIMPLE, or IMPS for an internet-based instant message), 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 MMS and/or other attachments supported in an Enhanced Messaging Service (EMS). As used herein, "instant message" refers to both telephony-based messages (e.g., messages sent using SMS or MMS) and internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).
In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact/motion module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music player module, workout support module 142 includes executable instructions to create a workout (e.g., having time, distance, and/or calorie burning goals); communicating with fitness sensors (sports equipment); receiving fitness sensor data; calibrating a sensor for monitoring fitness; selecting and playing music for fitness; and displaying, storing and transmitting fitness data.
In conjunction with touch screen 112, display controller 156, one or more optical sensors 164, optical sensor controller 158, contact/motion module 130, graphics module 132, and image management module 144, camera module 143 includes executable instructions for: capturing still images or video (including video streams) and storing them in the memory 102, modifying features of the still images or video, or deleting the still images or video from the memory 102.
In conjunction with touch screen 112, display controller 156, contact/motion module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 includes executable instructions for: arrange, modify (e.g., edit), or otherwise manipulate, tag, delete, present (e.g., in a digital slide or album), and store still and/or video images.
In conjunction 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 (including searching for, linking to, receiving, and displaying web pages or portions thereof, and attachments and other files linked to web pages) according to user instructions.
In conjunction 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 calendars (e.g., calendar entries, to-do items, etc.) according to user instructions.
In conjunction with the RF circuitry 108, the touch screen 112, the display system controller 156, the contact/motion module 130, the graphics module 132, the text input module 134, and the browser module 147, the desktop applet module 149 is a mini-application (e.g., a weather desktop applet 149-1, a stock market desktop applet 149-2, a calculator desktop applet 149-3, an alarm clock desktop applet 149-4, and a dictionary desktop applet 149-5) or a mini-application created by a user (e.g., a user created desktop applet 149-6) that is optionally downloaded and used by the user. In some embodiments, the desktop applet includes an HTML (hypertext markup language) file, a CSS (cascading style sheet) file, and a JavaScript file. In some embodiments, the desktop applet includes an XML (extensible markup language) file and a JavaScript file (e.g., Yahoo! desktop applet).
In conjunction 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, the desktop applet creator module 150 is optionally used by a user to create a desktop applet (e.g., to turn a user-specified portion of a web page into a desktop applet).
In conjunction 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, videos, and/or other files that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions.
In conjunction with touch screen 112, display controller 156, contact/motion module 130, graphics module 132, audio circuitry 110, speakers 111, RF circuitry 108, and browser module 147, video and music player module 152 includes executable instructions that allow a user to download and playback 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, rendering, or otherwise playing back video (e.g., on touch screen 112 or on an external display connected via external port 124). In some embodiments, the device 100 optionally includes the functionality of an MP3 player, such as an iPod (trademark of Apple inc.).
In conjunction with touch screen 112, display controller 156, contact/motion module 130, graphics module 132, and text input module 134, notepad module 153 includes executable instructions to create and manage notepads, backlogs, and the like according to user instructions.
In conjunction with RF circuitry 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 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) according to user instructions.
In conjunction with touch screen 112, display controller 156, contact/motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, email client module 140, and browser module 147, online video module 155 includes instructions for: allowing a user to access, browse, receive (e.g., by streaming and/or downloading), playback (e.g., on a touch screen or on an external display connected via external port 124), send an email with a link to a particular online video, and otherwise manage online video in one or more file formats, such as h.264. In some embodiments, the link to a particular online video is sent using instant messaging module 141 instead of email client module 140. Additional descriptions of Online video applications may be found in U.S. provisional patent application 60/936,562 entitled "Portable Multi function Device, Method, and Graphical User Interface for Playing Online video," filed on year 2007, 20.6.2007 and U.S. patent application 11/968,067 entitled "Portable Multi function Device, Method, and Graphical User Interface for Playing Online video," filed on year 2007, 31.12.12, the contents of both of which are hereby incorporated by reference in their entirety.
Each of the modules and applications described above corresponds to a set of executable instructions for performing one or more of the functions described above as well as 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, procedures 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., the video and music player module 152 in fig. 1A). In some embodiments, memory 102 optionally stores a subset of the modules and data structures described above. Further, memory 102 optionally stores additional modules and data structures not described above.
In some embodiments, device 100 is a device that performs the operation of a predefined set of functions thereon solely through a touch screen and/or trackpad. By using a touch screen and/or trackpad as the primary input control device for operating the device 100, the number of physical input control devices (e.g., push buttons, dials, etc.) on the device 100 is optionally reduced.
The predefined set of functions performed exclusively through the touchscreen and/or trackpad optionally includes navigation between user interfaces. In some embodiments, the trackpad, when touched by a user, navigates device 100 from any user interface displayed on device 100 to a main, home, or root menu. In such embodiments, a 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.
Fig. 1B is a block diagram illustrating exemplary components for event processing, according to some embodiments. In some embodiments, memory 102 (FIG. 1A) or memory 370 (FIG. 3) includes event classifier 170 (e.g., in operating system 126) and corresponding application 136-1 (e.g., any of the aforementioned applications 137-151, 155, 380-390).
Event sorter 170 receives the event information and determines application 136-1 and application view 191 of application 136-1 to which the event information is to be delivered. The event sorter 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 that are displayed on touch-sensitive display 112 when the application is active or executing. In some embodiments, device/global internal state 157 is used by event classifier 170 to determine which application(s) are currently active, and application internal state 192 is used by event classifier 170 to determine the application view 191 to which to deliver event information.
In some embodiments, the application internal state 192 includes additional information, such as one or more of: resume information to be used when the application 136-1 resumes execution, user interface state information indicating information being displayed by the application 136-1 or information that is ready for display by the application, a state queue for enabling a user to return to a previous state or view of the application 136-1, and a repeat/undo queue of previous actions taken by the user.
Event monitor 171 receives event information from peripheral interface 118. The event information includes information about a sub-event (e.g., a user touch on touch-sensitive display 112 as part of a multi-touch gesture). Peripherals interface 118 transmits information it receives from I/O subsystem 106 or sensors such as proximity sensor 166, accelerometer 168, and/or microphone 113 (through audio circuitry 110). Information received by peripheral interface 118 from I/O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.
In some embodiments, event monitor 171 sends requests to peripheral interface 118 at predetermined intervals. In response, peripheral interface 118 transmits the event information. In other embodiments, peripheral interface 118 transmits event information only when there is a significant event (e.g., receiving input above a predetermined noise threshold and/or receiving input for more than a predetermined duration).
In some embodiments, event classifier 170 further includes hit view determination module 172 and/or active event recognizer determination module 173.
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 views a sub-event has occurred. The view consists of controls and other elements that the user can see on the display.
Another aspect of the user interface associated with an application is a set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application view (of the respective application) in which the touch is detected optionally corresponds to a programmatic level within a programmatic or view hierarchy of applications. For example, the lowest level view in which a touch is detected is optionally referred to as a hit view, and the set of events identified as correct inputs is optionally determined based at least in part on the hit view of the initial touch that initiated the touch-based gesture.
Hit view determination module 172 receives information related to sub-events of the touch-based gesture. When the application has multiple views organized in a hierarchy, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy that should handle the sub-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 the sequence of sub-events that form an event or potential event) occurs. Once the hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source for which it was identified as the hit view.
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 implementations, the active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that include the physical location of the sub-event are actively participating views, and thus determines that all actively participating views should receive a particular sequence of sub-events. In other embodiments, even if the touch sub-event is completely confined to the area associated with a particular view, the higher views in the hierarchy will remain actively participating views.
The event dispatcher module 174 dispatches the event information to an event recognizer (e.g., event recognizer 180). In embodiments that include active event recognizer determination module 173, event dispatcher module 174 delivers event information to event recognizers determined by active event recognizer determination module 173. In some embodiments, the event dispatcher module 174 stores event information in an event queue, which is retrieved by the respective event receiver 182.
In some embodiments, the operating system 126 includes an event classifier 170. Alternatively, application 136-1 includes event classifier 170. In other embodiments, the event classifier 170 is a stand-alone module or is part of another module stored in the memory 102 (such as the contact/motion module 130).
In some embodiments, the application 136-1 includes a plurality of event handlers 190 and one or more application views 191, where each application view includes instructions for handling touch events occurring within a respective view of the application's user interface. Each application view 191 of the application 136-1 includes one or more event recognizers 180. Typically, the respective application view 191 includes a plurality of event recognizers 180. In other embodiments, one or more of the event recognizers 180 are part of a separate module that is a higher-level object, such as a user interface toolkit or application 136-1, from which methods and other properties are inherited. In some embodiments, the respective event handlers 190 comprise one or more of: data updater 176, object updater 177, GUI updater 178, and/or event data 179 received from event sorter 170. Event handler 190 optionally utilizes or calls data updater 176, object updater 177 or GUI updater 178 to update application internal state 192. Alternatively, one or more of the application views 191 include one or more respective event handlers 190. Additionally, in some embodiments, one or more of data updater 176, object updater 177, and GUI updater 178 are included in a respective application view 191.
The corresponding event recognizer 180 receives event information (e.g., event data 179) from the event classifier 170 and recognizes events from the event information. The event recognizer 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event recognizer 180 also includes metadata 183 and at least a subset of event delivery instructions 188 (which optionally include sub-event delivery instructions).
The event receiver 182 receives event information from the event sorter 170. The event information includes information about a sub-event such as a touch or touch movement. According to the sub-event, the event information further includes additional information, such as the location of the sub-event. When the sub-event relates to motion of a touch, the event information optionally also includes the velocity and direction of the sub-event. In some embodiments, the event comprises rotation of the device from one orientation to another (e.g., from a portrait orientation to a landscape orientation, or vice versa), and the event information comprises corresponding information about the current orientation of the device (also referred to as the device pose).
Event comparator 184 compares the event information to predefined event or sub-event definitions and determines an event or sub-event or determines or updates the state of an event or sub-event based on the comparison. In some embodiments, event comparator 184 includes event definitions 186. Event definition 186 contains definitions of events (e.g., predefined sub-event sequences), such as event 1(187-1), event 2(187-2), and other events. In some embodiments, sub-events in 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 click on the displayed object. For example, a double tap includes a first touch (touch start) on the displayed object for a predetermined length of time, a first lift-off (touch end) for a predetermined length of time, a second touch (touch start) on the displayed object for a predetermined length of time, and a second lift-off (touch end) for a predetermined length of time. In another example, the definition of event 2(187-2) is a drag on the displayed object. For example, the drag includes a predetermined length of time of touch (or contact) on the displayed object, movement of the touch on the touch-sensitive display 112, and liftoff of the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.
In some embodiments, event definition 187 includes definitions of events for respective user interface objects. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view that displays three user interface objects on touch-sensitive display 112, when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a corresponding event handler 190, the event comparator uses the results of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects the event handler associated with the sub-event and the object that triggered the hit test.
In some embodiments, the definition of the respective event (187) further includes a delay action that delays delivery of the event information until it has been determined whether the sequence of sub-events does or does not correspond to the event type of the event recognizer.
When the respective event recognizer 180 determines that the sequence of sub-events does not match any event in the event definition 186, the respective event recognizer 180 enters an event not possible, event failed, or event ended state, after which subsequent sub-events of the touch-based gesture are ignored. In this case, other event recognizers (if any) that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.
In some embodiments, the respective event recognizer 180 includes metadata 183 having configurable attributes, tags, and/or lists that indicate how the event delivery system should perform sub-event delivery to actively participating event recognizers. In some embodiments, metadata 183 includes configurable attributes, flags, and/or lists that indicate how or how event recognizers interact with each other. In some embodiments, metadata 183 includes configurable attributes, flags, and/or lists that indicate whether a sub-event is delivered to a different level in the view or programmatic hierarchy.
In some embodiments, when one or more particular sub-events of an event are identified, the respective event identifier 180 activates an event handler 190 associated with the event. In some embodiments, the respective event identifier 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is different from sending (and deferring) sub-events to the corresponding hit view. In some embodiments, the event recognizer 180 throws a flag associated with the recognized event, and the event handler 190 associated with the flag catches the flag and performs a predefined process.
In some embodiments, event delivery instructions 188 include sub-event delivery instructions that deliver event information about sub-events without activating an event handler. Instead, the sub-event delivery instructions deliver event information to event handlers associated with the sequence of sub-events or to actively participating views. Event handlers associated with the sequence of sub-events or with actively participating views receive the event information and perform a predetermined process.
In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, the data updater 176 updates a phone number used in the contacts module 137 or stores a video file used in the video player module. In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates a new user interface object or updates the location of a user interface object. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on the touch-sensitive display.
In some embodiments, event handler 190 includes, or has access to, data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of a respective application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
It should be understood that the above discussion of event processing with respect to user touches on a touch sensitive display also applies to other forms of user input utilizing an input device to operate multifunction device 100, not all of which are initiated on a touch screen. For example, mouse movements and mouse button presses, optionally in conjunction with single or multiple keyboard presses or holds; contact movements on the touchpad, such as tapping, dragging, scrolling, etc.; inputting by a stylus; movement of the device; verbal instructions; detected eye movement; inputting biological characteristics; and/or any combination thereof, is optionally used as input corresponding to sub-events defining the event to be identified.
Fig. 2 illustrates a portable multifunction device 100 with a touch screen 112 in accordance with some embodiments. The touch screen optionally displays one or more graphics within the User Interface (UI) 200. In this embodiment, as well as other embodiments described below, a user can select one or more of these graphics by making gestures on the graphics, for example, with one or more fingers 202 (not drawn to scale in the figures) or with one or more styluses 203 (not drawn to scale in the figures). In some embodiments, selection of one or more graphics will occur when the user breaks contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (left to right, right to left, up, and/or down), and/or a rolling of a finger (right to left, left to right, up, and/or down) that has made contact with device 100. In some implementations, or in some cases, inadvertent contact with a graphic does not select the graphic. For example, when the gesture corresponding to the selection is a tap, a swipe gesture that swipes over the application icon optionally does not select the corresponding application.
Device 100 optionally also includes one or more physical buttons, such as a "home" or menu button 204. As previously described, the menu button 204 is optionally used to navigate to any application 136 in a set of applications that are optionally executed on the device 100. Alternatively, in some embodiments, the menu buttons are implemented as soft keys in a GUI displayed on touch screen 112.
In some embodiments, device 100 includes touch screen 112, menu buttons 204, push buttons 206 for powering the device on/off 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 docking/charging external port 124. Pressing the button 206 optionally serves to turn the device on/off by pressing the button and holding the button in a pressed state for a predefined time interval; locking the device by depressing the button and releasing the button before the predefined time interval has elapsed; and/or unlocking the device or initiating an unlocking process. In an alternative embodiment, device 100 also accepts verbal input through microphone 113 for activating or deactivating some functions. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of contacts on touch screen 112, and/or one or more tactile output generators 167 for generating tactile outputs for a user of device 100.
Fig. 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface in accordance with some embodiments. The device 300 need not be portable. In some embodiments, the device 300 is a laptop computer, desktop computer, tablet computer, multimedia player device, navigation device, educational device (such as a child learning toy), gaming system, or control device (e.g., a home controller or industrial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses 320 for interconnecting these components. The communication bus 320 optionally includes circuitry (sometimes referred to as a chipset) that interconnects and controls communication between system components. Device 300 includes an input/output (I/O) interface 330 with a display 340, typically a touch screen display. I/O interface 330 also optionally includes a keyboard and/or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 (e.g., similar to tactile output generator 167 described above with reference to fig. 1A) for generating tactile outputs on device 300, sensors 359 (e.g., optical sensors, acceleration sensors, proximity sensors, touch-sensitive sensors, and/or contact intensity sensors (similar to contact intensity sensors 165 described above with reference to fig. 1A)). Memory 370 includes high speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 370 optionally includes one or more storage devices located remotely from CPU 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 memory 102 of portable multifunction device 100 (fig. 1A). Further, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable multifunction device 100. For example, memory 370 of device 300 optionally stores drawing module 380, presentation module 382, word processing module 384, website creation module 386, disk editing module 388, and/or spreadsheet module 390, while memory 102 of portable multifunction device 100 (FIG. 1A) optionally does not store these modules.
Each of the above elements in fig. 3 is optionally stored in one or more of the previously mentioned memory devices. Each of the above modules corresponds to a set of instructions for performing a function described above. The modules or programs (e.g., sets of instructions) described above need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores a subset of the modules and data structures described above. Further, memory 370 optionally stores additional modules and data structures not described above.
Attention is now directed to embodiments of user interfaces optionally implemented on, for example, portable multifunction device 100.
Fig. 4A illustrates an exemplary user interface for a menu of applications on portable multifunction device 100, according to some embodiments. A similar user interface is optionally implemented on device 300. In some embodiments, the user interface 400 includes the following elements, or a subset or superset thereof:
one or more signal strength indicators 402 for one or more wireless communications (such as cellular signals and Wi-Fi signals);
Time 404;
a bluetooth indicator 405;
a battery status indicator 406;
tray 408 with icons of common applications, such as:
an icon 416 of the telephony module 138 labeled "telephony", optionally including an indicator 414 of the number of missed calls or voice messages;
an icon 418 of the email client module 140 labeled "mail", optionally including an indicator 410 of the number of unread emails;
icon 420 of browser module 147, labeled "browser"; and
an icon 422 labeled "iPod" of video and music player module 152 (also referred to as iPod (trademark of Apple inc.) module 152); and
icons for other applications, such as:
icon 424 of IM module 141 labeled "message";
icon 426 of calendar module 148 labeled "calendar";
icon 428 of image management module 144 labeled "photo";
icon 430 of camera module 143 labeled "camera";
icon 432 of online video module 155 labeled "online video";
an icon 434 of the stock market desktop applet 149-2 labeled "stock market";
Icon 436 of map module 154 labeled "map";
icon 438 labeled "weather" for weather desktop applet 149-1;
icon 440 of alarm clock desktop applet 149-4 labeled "clock";
icon 442 labeled "fitness support" for fitness support module 142;
icon 444 of notepad module 153 labeled "notepad"; and
an icon 446 labeled "settings" for setting applications or modules, which provides access to the settings of device 100 and its various applications 136.
It should be noted that the icon labels shown in fig. 4A are merely exemplary. For example, icon 422 of video and music player module 152 is labeled "music" or "music player". Other tabs are optionally used for the various application icons. In some embodiments, the label of the respective application icon includes a name of the application corresponding to the respective 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.
Fig. 4B illustrates an exemplary user interface on a device (e.g., device 300 of fig. 3) having a touch-sensitive surface 451 (e.g., tablet or trackpad 355 of fig. 3) separate from a display 450 (e.g., touchscreen display 112). Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) to detect the intensity of contacts on touch-sensitive surface 451 and/or one or more tactile output generators 357 to generate tactile outputs for a user of device 300.
Although some of the examples below will be given with reference to input on touch screen display 112 (where the touch-sensitive surface and the display are combined), in some embodiments, the device detects input on a touch-sensitive surface that is separate from the display, as shown in fig. 4B. In some implementations, the touch-sensitive surface (e.g., 451 in fig. 4B) has a primary axis (e.g., 452 in fig. 4B) that corresponds to a primary axis (e.g., 453 in fig. 4B) on the display (e.g., 450). In accordance with these embodiments, the device detects contacts (e.g., 460 and 462 in fig. 4B) with the touch-sensitive surface 451 at locations corresponding to respective locations on the display (e.g., in fig. 4B, 460 corresponds to 468 and 462 corresponds to 470). As such, when the touch-sensitive surface (e.g., 451 in fig. 4B) is separated from the display (450 in fig. 4B) of the multifunction device, user inputs (e.g., contacts 460 and 462 and their movements) detected by the device on the touch-sensitive surface are used by the device to manipulate the user interface on the display. It should be understood that similar methods are optionally used for the other user interfaces described herein.
Additionally, while the following examples are given primarily with reference to finger inputs (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 inputs from another input device (e.g., mouse-based inputs or stylus inputs). For example, the swipe gesture is optionally replaced by a mouse click (e.g., rather than a contact), followed by movement of the cursor along the path of the swipe (e.g., rather than movement of the contact). As another example, a flick gesture is optionally replaced by a mouse click (e.g., instead of detecting a contact, followed by ceasing to detect a contact) while the cursor is over the location of the flick gesture. Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are optionally used simultaneously, or mouse and finger contacts are optionally used simultaneously.
Fig. 5A illustrates an exemplary personal electronic device 500. The device 500 includes a body 502. In some embodiments, device 500 may include some or all of the features described with respect to devices 100 and 300 (e.g., fig. 1A-4B). In some embodiments, the device 500 has a touch-sensitive display screen 504, hereinafter referred to as a touch screen 504. Alternatively or in addition to the touch screen 504, the device 500 also has a display and a touch-sensitive surface. As with devices 100 and 300, in some embodiments, touch screen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors for detecting the intensity of an applied contact (e.g., touch). One or more intensity sensors of the touch screen 504 (or touch-sensitive surface) may provide output data representing the intensity of a touch. The user interface of device 500 may respond to a touch based on its intensity, meaning that different intensities of touches may invoke different user interface operations on device 500.
Exemplary techniques for detecting and processing touch intensity are found, for example, in the following related patent applications: international patent Application Ser. No. PCT/US2013/040061, entitled "Device, Method, and Graphical User Interface for Displaying User Interface Objects reforming to an Application", filed on 8.5.2013, published as WIPO patent publication No. WO/2013/169849; and International patent application Ser. No. PCT/US2013/069483 entitled "Device, Method, and Graphical User Interface for transiting Between Touch Input to Display Output Relationships", filed on 11/2013, published as WIPO patent publication No. WO/2014/105276, each of which is hereby incorporated by reference in its entirety.
In some embodiments, the device 500 has one or more input mechanisms 506 and 508. The input mechanisms 506 and 508 (if included) may 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 for attachment of the device 500 with, for example, a hat, glasses, earrings, necklace, shirt, jacket, bracelet, watchband, bracelet, pants, belt, shoe, purse, backpack, and the like. These attachment mechanisms allow the user to wear the device 500.
Fig. 5B illustrates an exemplary personal electronic device 500. In some embodiments, the apparatus 500 may include some or all of the components described with respect to fig. 1A, 1B, and 3. The device 500 has a bus 512 that operatively couples an I/O portion 514 with one or more computer processors 516 and a memory 518. The I/O portion 514 may be connected to the display 504, which may have a touch sensitive member 522 and optionally an intensity sensor 524 (e.g., a contact intensity sensor). Further, I/O portion 514 may interface with communication unit 530 for receiving application programs and operating system data using Wi-Fi, Bluetooth, Near Field Communication (NFC), cellular, and/or other wireless communication techniques. Device 500 may include input mechanisms 506 and/or 508. For example, the input mechanism 506 is optionally a rotatable input device or a depressible input device and a rotatable input device. In some examples, the input mechanism 508 is optionally a button.
In some examples, the input mechanism 508 is optionally a microphone. Personal electronic device 500 optionally includes various sensors, such as a GPS sensor 532, an accelerometer 534, an orientation sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and/or combinations thereof, all of which may be operatively connected to I/O portion 514.
The memory 518 of the personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by the one or more computer processors 516, may, for example, cause the computer processors to perform the techniques described below, including processes 700, 900, 1100, 1300, and 1500 (fig. 7A-7F, 9A-9K, 11A-11F, 13A-13D, and 15A-15C). A computer readable storage medium may be any medium that can tangibly contain or store computer-executable instructions for use by or in connection with an instruction execution system, apparatus, or device. In some examples, the storage medium is a transitory computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. The non-transitory computer readable storage medium may include, but is not limited to, magnetic storage devices, optical storage devices, and/or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical disks based on CD, DVD, or blu-ray technology, and persistent solid state memory such as flash memory, solid state drives, and the like. The personal electronic device 500 is not limited to the components and configuration of fig. 5B, but may include other components or additional components in a variety of configurations.
As used herein, the term "affordance" refers to a user-interactive graphical user interface object that is optionally displayed on a display screen of device 100, 300, and/or 500 (fig. 1A, 3, and 5A-5B). For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) optionally each constitute an affordance.
As used herein, the term "focus selector" refers to an input element that is used to indicate the current portion of the user interface with which the user is interacting. In some implementations that include a cursor or other position marker, the cursor acts as a "focus selector" such that when an input (e.g., a press input) is detected on a touch-sensitive surface (e.g., touchpad 355 in fig. 3 or touch-sensitive surface 451 in fig. 4B) while the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), the particular user interface element is adjusted in accordance with the detected input. In some implementations that include a touch screen display (e.g., touch-sensitive display system 112 in fig. 1A or touch screen 112 in fig. 4A) that enables direct interaction with user interface elements on the touch screen display, a detected contact on the touch screen acts as a "focus selector" such that when an input (e.g., a press input by the contact) is detected at a location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touch screen display, the particular user interface element is adjusted in accordance with the detected input. In some implementations, the focus is moved from one area of the user interface to another area of the user interface without corresponding movement of a cursor or movement of a contact on the touch screen display (e.g., by moving the focus from one button to another using tab or arrow keys); in these implementations, the focus selector moves according to movement of the focus between different regions of the user interface. Regardless of the particular form taken by the focus selector, the focus selector is typically a user interface element (or contact on a touch screen display) that is controlled by the user to deliver the user's intended interaction with the user interface (e.g., by indicating to the device the element with which the user of the user interface desires to interact). For example, upon detection of a press input on a touch-sensitive surface (e.g., a touchpad or touchscreen), the location of a focus selector (e.g., a cursor, contact, or selection box) over a respective button will indicate that the user desires to activate the respective button (as opposed to other user interface elements shown on the device display).
As used in the specification and in the claims, the term "characteristic intensity" of a contact refers to a characteristic of the contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on a plurality of intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples or a set of intensity samples acquired during a predetermined time period (e.g., 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds) relative to a predefined event (e.g., after detecting contact, before detecting contact liftoff, before or after detecting contact start movement, before or after detecting contact end, before or after detecting an increase in intensity of contact, and/or before or after detecting a decrease in intensity of contact). The characteristic intensity of the contact is optionally based on one or more of: a maximum value of the intensity of the contact, a mean value of the intensity of the contact, an average value of the intensity of the contact, a value at the top 10% of the intensity of the contact, a half-maximum value of the intensity of the contact, a 90% maximum value of the intensity of the contact, and the like. In some embodiments, the duration of the contact is used in determining the characteristic intensity (e.g., when the characteristic intensity is an average of the intensity of the contact over time). In some embodiments, the characteristic intensity is compared to a set of one or more intensity thresholds to determine whether 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 whose characteristic intensity does not exceed the first threshold results in a first operation, a contact whose characteristic intensity exceeds the first intensity threshold but does not exceed the second intensity threshold results in a second operation, and a contact whose characteristic intensity exceeds the second threshold results in a third operation. In some embodiments, a comparison between the feature strengths and one or more thresholds is used to determine whether to perform one or more operations (e.g., whether to perform the respective operation or to forgo performing the respective operation) rather than to determine whether to perform the first operation or the second operation.
FIG. 5C illustrates the detection of multiple contacts 552A-552E on the touch-sensitive display screen 504 using multiple intensity sensors 524A-524D. FIG. 5C also includes an intensity map that shows current intensity measurements of the intensity sensors 524A-524D relative to intensity units. In this example, the intensity measurements of intensity sensors 524A and 524D are each 9 intensity units, and the intensity measurements of intensity sensors 524B and 524C are each 7 intensity units. In some implementations, the cumulative intensity is a sum of intensity measurements of the plurality of intensity sensors 524A-524D, which in this example is 32 intensity units. In some embodiments, each contact is assigned a respective intensity, i.e., a fraction of the cumulative intensity. FIG. 5D illustrates assigning cumulative intensities to the contacts 552A-552E based on their distances from the center of the force 554. In this example, each of contacts 552A, 552B, and 552E is assigned a strength of 8 strength units of contact of cumulative strength, and each of contacts 552C and 552D is assigned a strength of 4 strength units of contact of cumulative strength. More generally, in some implementations, each contact j is assigned a respective intensity Ij, which is a portion of the cumulative intensity a, according to a predefined mathematical function Ij ═ a · (Dj/Σ Di), where Dj is the distance of the respective contact j from the force center, and Σ Di is the sum of the distances of all respective contacts (e.g., i ═ 1 to last) from the force center. The operations described with reference to fig. 5C-5D may be performed using an electronic device similar or identical to device 100, 300, or 500. In some embodiments, the characteristic intensity of the contact is based on one or more intensities of the contact. In some embodiments, an intensity sensor is used to determine a single characteristic intensity (e.g., a single characteristic intensity of a single contact). It should be noted that the intensity map is not part of the displayed user interface, but is included in fig. 5C-5D to assist the reader.
In some implementations, a portion of the gesture is recognized for determining the feature intensity. For example, the touch-sensitive surface optionally receives a continuous swipe contact that transitions from a starting location and reaches an ending location where the contact intensity increases. In this example, the characteristic intensity of the contact at the end location is optionally based on only a portion of the continuous swipe contact, rather than the entire swipe contact (e.g., only the portion of the swipe contact at the end location). In some embodiments, a smoothing algorithm is optionally applied to the intensity of the swipe contact before determining the characteristic intensity of the contact. For example, the smoothing algorithm optionally includes one or more of: a non-weighted 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 swipe contact for the purpose of determining the feature intensity.
Contact intensity on the touch-sensitive surface is optionally characterized 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 that: at which intensity the device will perform the operations typically associated with clicking a button of a physical mouse or touchpad. In some embodiments, the deep press intensity threshold corresponds to an intensity that: at which intensity the device will perform a different operation than that typically associated with clicking a button of a physical mouse or trackpad. In some embodiments, when a contact is detected whose characteristic intensity is below a light press intensity threshold (e.g., and above a nominal contact detection intensity threshold, a contact below the nominal contact detection intensity threshold is no longer detected), the device will move the focus selector in accordance with movement of the contact on the touch-sensitive surface without performing operations associated with a light press intensity threshold or a deep press intensity threshold. Generally, unless otherwise stated, these intensity thresholds are consistent between different sets of user interface drawings.
Increasing 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. Increasing 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. Increasing 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. The decrease in the characteristic intensity of the contact from an intensity above the contact detection intensity threshold to an intensity below the contact detection intensity threshold is sometimes referred to as detecting lift-off of the contact from 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.
In some embodiments described herein, one or more operations are performed in response to detecting a gesture that includes a respective press input or in response to detecting a respective press input performed with a respective contact (or contacts), wherein the respective press input is detected based at least in part on detecting an increase in intensity of the contact (or contacts) above a press input intensity threshold. In some embodiments, the respective operation is performed in response to detecting an increase in intensity of the respective contact above a press input intensity threshold (e.g., a "down stroke" of the respective press input). In some embodiments, the press input includes an increase in intensity of the respective contact above a press input intensity threshold and a subsequent decrease in intensity of the contact below the press input intensity threshold, and the respective operation is performed in response to detecting a subsequent decrease in intensity of the respective contact below the press input threshold (e.g., an "up stroke" of the respective press input).
5E-5H illustrate detection of a gesture that includes an intensity of contact 562 from below the light press intensity threshold in FIG. 5E (e.g., "IT" pressure thresholdL") increase in intensityUp to and above the deep press intensity threshold in fig. 5H (e.g., "ITD") intensity corresponds to a press input. On the displayed user interface 570 including the application icons 572A-572D displayed in the predefined area 574, a gesture performed with the contact 562 is detected on the touch-sensitive surface 560 while the cursor 576 is displayed over the application icon 572B corresponding to application 2. In some implementations, the gesture is detected on the touch-sensitive display 504. The intensity sensor detects the intensity of the contact on the touch-sensitive surface 560. The device determines that the intensity of contact 562 is at a deep press intensity threshold (e.g., "ITD") above peak. A contact 562 is maintained on the touch-sensitive surface 560. In response to detecting the gesture, and in accordance with the intensity rising to the deep press intensity threshold during the gesture (e.g., "IT)D") above, displays reduced-scale representations 578A-578C (e.g., thumbnails) of the document recently opened for application 2, as shown in fig. 5F-5H. In some embodiments, the intensity is a characteristic intensity of the contact compared to one or more intensity thresholds. It should be noted that the intensity map for contact 562 is not part of the displayed user interface, but is included in fig. 5E-5H to assist the reader.
In some embodiments, the display of representations 578A-578C includes animation. For example, the representation 578A is initially displayed in proximity to the application icon 572B, as shown in fig. 5F. As the animation progresses, the representation 578A moves upward and a representation 578B is displayed adjacent to the application icon 572B, as shown in fig. 5G. Representation 578A then moves upward, 578B moves upward toward representation 578A, and representation 578C is displayed adjacent to application icon 572B, as shown in fig. 5H. Representations 578A-578C form an array over icon 572B. In some embodiments, the animation progresses according to the intensity of contact 562, as shown in fig. 5F-5G, where representations 578A-578C appear and press an intensity threshold deep with the intensity of contact 562 (e.g., "ITD") increases and moves upward. In some embodiments, the intensity at which the animation progresses is a characteristic intensity of the contact. The operations described with reference to fig. 5E-5H may be performed using an electronic device similar or identical to device 100, 300, or 500.
In some embodiments, the device employs intensity hysteresis to avoid accidental input sometimes referred to as "jitter," where the device defines or selects a hysteresis intensity threshold having a predefined relationship to the press input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units lower than the press input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable proportion of the press input intensity threshold). Thus, in some embodiments, the press input includes an increase in intensity of the respective contact above a press input intensity threshold and a subsequent decrease in intensity of the contact below a hysteresis intensity threshold corresponding to the press input intensity threshold, and the respective operation is performed in response to detecting a subsequent decrease in intensity of the respective contact below the hysteresis intensity threshold (e.g., an "upstroke" of the respective press input). Similarly, in some embodiments, a press input is detected only when the device detects an increase in contact intensity from an intensity at or below the hysteresis intensity threshold to an intensity at or above the press input intensity threshold and optionally a subsequent decrease in contact intensity to an intensity at or below the hysteresis intensity, and a corresponding operation is performed in response to detecting the press input (e.g., depending on the circumstances, the increase in contact intensity or the decrease in contact intensity).
For ease of explanation, optionally, a description of an operation performed in response to a press input associated with a press input intensity threshold or in response to a gesture that includes a press input is triggered in response to detection of any of the following: the contact intensity increases above the press input intensity threshold, the contact intensity increases from an intensity below the hysteresis intensity threshold to an intensity above the press input intensity threshold, the contact intensity decreases below the press input intensity threshold, and/or the contact intensity decreases below the hysteresis intensity threshold corresponding to the press input intensity threshold. Additionally, in examples in which operations are described as being performed in response to detecting that the intensity of the contact decreases below the press input intensity threshold, the operations are optionally performed in response to detecting that the intensity of the contact decreases below a hysteresis intensity threshold that corresponds to and is less than the press input intensity threshold.
As used herein, an "installed application" refers to a software application that has been downloaded to an electronic device (e.g., device 100, 300, and/or 500) and is ready to be launched (e.g., become open) on the device. In some embodiments, the downloaded application is changed to an installed application with an installer, the installed application extracts program portions from the downloaded software package and integrates the extracted portions with the operating system of the computer system.
As used herein, the term "open application" or "executing application" refers to a software application that has maintained state information (e.g., as part of device/global internal state 157 and/or application internal state 192). The open or executing application is optionally any of the following types of applications:
an active application, which is currently displayed on the display screen of the device on which the application is being used;
a background application (or background process) that is not currently displayed but one or more processes of the application are being processed by one or more processors; and
a suspended or dormant application that is not running but has state information stored in memory (volatile and non-volatile, respectively) and that can be used to resume execution of the application.
As used herein, the term "closed application" refers to a software application that does not have retained state information (e.g., the state information of the closed application is not stored in the memory of the device). Thus, closing an application includes stopping and/or removing the application's application process and removing the application's state information from the device's memory. Generally, while in a first application, opening a second application does not close the first application. The first application becomes the background application when the second application is displayed and the first application stops being displayed.
Attention is now directed to embodiments of a user interface ("UI") and associated processes implemented on an electronic device, such as portable multifunction device 100, device 300, or device 500.
Fig. 6A-6 AF illustrate exemplary user interfaces for initiating and participating in a real-time communication session (e.g., from an instant messaging application), according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in fig. 7A-7F.
Fig. 6A shows a device 600 with a touch sensitive display 602. In some embodiments, device 600 includes one or more features of devices 100, 300, and 500. In some embodiments, device 600 further includes a camera 603 that includes at least an image sensor capable of capturing data representing a portion of a spectrum (e.g., visible, infrared, or ultraviolet light). In some embodiments, camera 603 includes multiple image sensors and/or other types of sensors. In addition to capturing data representing sensed light, in some embodiments, the camera 603 can capture other types of data such as depth data. For example, in some embodiments, the camera 603 also captures depth data using speckle, time-of-flight, parallax, or focus based techniques. Image data captured by device 600 using camera 603 includes data corresponding to a portion of the spectrum of a scene within the camera's field of view. Additionally, in some embodiments, the captured image data further includes depth data for the light data. In some other embodiments, the captured image data comprises data sufficient to determine or generate depth data for the data of the portion of the spectrum.
In some examples, the electronic device 600 includes a depth camera (e.g., as part of the camera 603), such as an infrared camera, a thermal imaging camera, or a combination thereof. In some examples, the device further includes a light emitting device (e.g., a light projector), such as an IR floodlight, a structured light projector, or a combination thereof. Optionally, the light emitting device is used to illuminate the object during capturing of images by the visible light camera and the depth camera (e.g. an IR camera), and information from the depth camera and the visible light camera is used to determine depth maps of different parts of the object captured by the visible light camera. In some implementations, a depth map (e.g., a depth map image) includes information (e.g., values) related to the distance of objects in a scene from a viewpoint (e.g., a camera). In one embodiment of the depth map, each depth pixel defines the location in the Z-axis of the viewpoint at which its corresponding two-dimensional pixel is located. In some examples, the depth map is composed of pixels, where each pixel is defined by a value (e.g., 0 to 255). For example, a "0" value represents a pixel located farthest from a viewpoint (e.g., camera) in a "three-dimensional" scene, and a "255" value represents a pixel located closest to the viewpoint in the "three-dimensional" scene. In other examples, the depth map represents a distance between an object in the scene and a plane of the viewpoint. In some implementations, the depth map includes information about the relative depths of various features of the object of interest in the field of view of the depth camera (e.g., the relative depths of the eyes, nose, mouth, ears of the user's face). In some embodiments, the depth map comprises information enabling the apparatus to determine a contour of the object of interest in the z-direction. In some implementations, the lighting effects described herein are displayed using parallax information from two cameras (e.g., two visible light cameras) for backward images, and depth information from a depth camera is used in conjunction with image data from the visible light cameras for forward images (e.g., self-portrait images). In some implementations, the same user interface is used when determining depth information using two visible light cameras and when determining depth information using depth cameras, thereby providing a consistent experience for the user even when using distinct techniques to determine information used in generating a lighting effect. In some embodiments, upon displaying the camera user interface with one of the lighting effects applied thereto, the device detects selection of the camera switching affordance and switches from a forward-facing camera (e.g., a depth camera and a visible light camera) to a rearward-facing camera (e.g., two visible light cameras spaced apart from each other) (or vice versa) while maintaining display of user interface controls to apply the lighting effect and replacing the display of the field of view of the forward-facing camera with the field of view of the rearward-facing camera (or vice versa).
As shown in fig. 6A, device 600 displays an instant messaging user interface 604 of an instant messaging application. The instant messaging user interface 604 includes a message area 606 that includes messages 608A-608D in a messaging conversation between a group of participants ("fantasy teams") that includes three or more participants.
While displaying the instant message user interface 604, the device 600 receives data indicating that a real-time communication session is active (e.g., an invitation to join the real-time communication session), wherein the real-time communication session is available to participants in a "fantasy" group. In some embodiments, the real-time communication session is an audio communication session or an audio/video communication session.
In response to receiving the data indicating that the real-time communication session is active, device 600 displays a notification indicating that the real-time communication session is active. As shown in fig. 6B, the notification includes a notification 614 that is a message from a participant Pablo in the message region 606, indicating that Pablo initiated the real-time communication session. Notification 614 indicates the type of real-time communication session with the text "video" and video camera icon. Notification 614 also indicates the number of participants that are currently active in the real-time communication session ("1 person active"). In some embodiments, notification 614 indicates the name of one or more participants currently active in the real-time communication session. The notification 614 also includes a real-time communication join affordance 614A that, when selected, causes the device 600 to initiate a process for joining the real-time communication session represented by the notification 614. Techniques for joining a real-time communication session are described in more detail below.
Optionally, in response to receiving data indicating that the real-time communication session is active, the device 600 generates an audio output indicating that the real-time communication session is active. In some implementations, the audio output is different from the audio output associated with the instant messaging application (e.g., notification of a received message) and the audio output associated with the phone application (e.g., ring tone for incoming calls). In some embodiments, the audio output is a mixture of audio associated with the message notification and audio associated with the incoming call notification. In some implementations, the audio output shares audio characteristics (e.g., common pitch, note, rhythm) with both the audio output of the telephone call and the message notification.
Also in response to receiving data indicating that the real-time communication session is active, device 600 displays real-time communication affordance 610. In some embodiments, real-time communication affordance 610 is displayed before the real-time communication session is initiated (e.g., in a grayed-out state), and is visually emphasized (e.g., highlighted) or modified (e.g., changed to a non-grayed-out state) when the real-time communication session is initiated. In some embodiments, selection of the real-time communication affordance 610 or the options affordance 612 initiates a process for joining a real-time communication session. In some embodiments, the notification 614 and/or real-time communication affordance 610 is displayed without audio and/or tactile output (e.g., a phone ring tone output) (e.g., because it is being displayed in an active message conversation that the user may have focused on).
As shown in FIG. 6C, as additional messages are added to the message dialog in message region 606, notification 614 moves up to a different location in message region 606. In some embodiments, device 600 moves notification 614 to a location outside of the message region (e.g., notification 614 transitions from a message to a banner at the top of display 602 outside of message region 606).
In some embodiments, device 600 moves notification 614 in response to the notification relocation criteria being met. In some embodiments, the notification relocation criteria comprises one or more criteria selected from: a predetermined time has elapsed (e.g., the time after the notification 614 was displayed), the instant message user interface 604 has stopped displaying, the instant message application has been closed, and/or all of the notification 614 or a portion of the notification 614 has been hidden in the message area 606 (e.g., because the message area 606 was populated with new incoming messages). In some embodiments, notification 614 is moved to the bottom, right, or left of display 602. In some embodiments, notification 614 is a banner notification displayed near the top of display 612 directly in response to receiving data indicating that a real-time communication session is available.
In some embodiments, the device 600 receives reminder data indicating reminders to join the real-time communication session (e.g., reminders sent by participants in a conversation or after a predetermined period of time). As shown in fig. 6D, in response to receiving data indicating a reminder to join the real-time communication session, device 600 displays a full screen notification 616 and outputs an audio output 618. In some implementations, the audio output 618 is different from the audio output associated with the instant messaging application (e.g., notification of a received message) and the audio output associated with the phone application (e.g., ring tone for incoming calls). In some implementations, the audio output 618 is a mixture of audio associated with the message notification and audio associated with the incoming call notification. In some implementations, the audio output 618 is shorter than the audio output associated with the phone application (e.g., the ring tone for incoming calls) and longer than the audio output associated with the instant messaging application (e.g., the notification of the received message). In some embodiments, the ring tone for the incoming call includes multiple repetitions of the respective audio output, and the audio output 618 is a single repetition of the respective audio output. In some implementations, the audio output 618 shares audio characteristics (e.g., common tone, note, rhythm) with both the telephone call and the audio output of the message notification. In some embodiments, device 600 outputs haptic output. As shown in fig. 6D, full screen notification 616 includes the name of the group ("menmond"), the names of the participants currently active in the real-time communication session ("PABLO" and "STEPHEN"), and the name of the participant that originally initiated the real-time communication session or initiated the reminder ("PABLO"). In some embodiments, full screen notification 616 includes the names of participants who have been invited to join the real-time communication session (e.g., according to the order in which they were added to the group). Full screen notification 616 also includes reply affordance 620 for joining the real-time communication session (e.g., for immediately joining the real-time communication session or displaying a menu with options for joining the real-time communication session), a "now not available" affordance 622 for dismissing full screen notification 616, and a message affordance 624 for returning to instant messaging user interface 604 or sending a message to a "menmons team" group. The full screen notification also includes an image (e.g., a video of the user of device 600 from camera 603) (e.g., as a preview of the user's image that, once joined, will be seen by other participants in the real-time communication session).
As shown in fig. 6D, the device 600 receives (e.g., detects) a user input 650A (e.g., a tap) corresponding to the selection of the "not now go" affordance 622. As shown in FIG. 6E, in response to user input 650A, device 600 stops displaying full screen notification 616 and returns to instant message user interface 604.
As shown in fig. 6E, the device 600 receives (e.g., detects) a user input 650B (e.g., a tap) corresponding to selection of the option affordance 612. In response to receiving user input 650B, device 600 extends the header of instant message user interface 604 to include audio affordance 626A, video-join affordance 626B, and group-detail affordance 626C.
As shown in fig. 6F, device 600 receives (e.g., detects) a user input 650C (e.g., a tap) corresponding to selection of video join affordance 626B. In some embodiments, device 600 joins the real-time communication session directly (e.g., without additional input) in response to receiving user input 650B. In some embodiments, device 600 joins a real-time communication session and transmits video and audio simultaneously. In some embodiments, device 600 joins a real-time communication session and transmits only audio (e.g., does not transmit video). In some embodiments, in response to selection of the audio affordance 626A, the device 600 joins the real-time communication session with audio only or initiates a separate teleconference call to the participants of the group.
As shown in fig. 6G, in response to receiving user input 650C, device 600 displays real-time communication interface 628 of the real-time communication application. The real-time communication interface 628 includes a group ("menuing"), an indication of an image (e.g., video of a user of the device 600 from a camera (e.g., camera 603) in front of the device 600), an indication of participants ("PABLO" and "STEPHEN") currently active in the real-time communication session, an indication of a participant who initiated the real-time communication session ("video call from PABLO"), and a call control menu 630. The call control menu 630 includes a process affordance 631, an effect affordance 632, a call affordance 634, and a menu affordance 636.
As shown in fig. 6G, device 600 receives (e.g., detects) user input 650D on menu affordance 636. As shown in fig. 6H, in response to user input 650D, device 600 expands call control menu 630 to display additional information and controls related to the real-time communication session. In some embodiments, the device 600 expands the call control menu 630 in response to a swipe up starting near the processing affordance 631. When expanded, the call control menu 630 also includes an audio on/off affordance 638, an audio source menu affordance 640, a video on/off affordance 642, a group name 644 (with an indication of the number of participants in the group), a group message affordance 646, a list 648 including affordances 648A through 648E for the participants for the group, and an add participant affordance 652. In some embodiments, in response to receiving a selection of the group message affordance 646, the device 600 launches and/or displays an instant message user interface 604 (e.g., fig. 6F) for sending messages to participants of the group.
As shown in fig. 6H, the affordances of participants in the list 648 include indications of communication status of the respective participants with respect to the real-time communication session. Representation 648A indicates that the participant Pablo is connected to the real-time communication session and is providing video data (e.g., a real-time media stream including video and audio data). Representation 648B indicates that the participant Stephen has connected and provided audio data (e.g., no video). Representations 648C and 648D indicate that participants Marcel and Allison, respectively, are not connected to the real-time communication session (e.g., no video and audio data is provided). Unconnected participants either never join the real-time communication session or have previously joined and then left the real-time communication session. Exemplary participant communication status types include audio only (e.g., participants communicate using audio only); video (e.g., participants are talking using video and audio); video pauses (e.g., video pauses of participants); video is not decoded (e.g., participant video streams cannot be processed due to latency issues, issues with video stream format, etc.); away (e.g., the participant has left the real-time communication session); and waiting to join (e.g., a participant is invited to participate in the real-time communication session but has not yet joined the real-time communication session).
In some embodiments, the participants of the real-time video communication include participants of the group that are currently connected to the communication session and participants of the group that are not currently connected to the real-time video communication session. That is, regardless of the connection state, all participants of the group are referred to as participants of the real-time communication session. When the real-time communication session is active, participants may join (connect) or leave (disconnect) the real-time communication session.
As shown in fig. 6I, the device 600 receives (e.g., detects) a user input 650E (e.g., a tap) corresponding to selection of the video on/off affordance 642. As shown in fig. 6J, in response to receiving user input 650E, device 600 modifies video on/off affordance 642 to indicate a video off state and modifies call affordance 634 to indicate an audio-only state by changing the representation of the video camera in fig. 6I to the representation of the phone in fig. 6J. In the audio-only state, the device 600 joins the real-time communication session with audio-only (e.g., the device 600 does not provide video data).
As shown in fig. 6J, the device 600 receives (e.g., detects) a user input 650F (e.g., a tap) corresponding to selection of the call affordance 634. As shown in fig. 6K, in response to receiving user input 650F, device 600 initiates a connection to join the real-time communication session in audio-only mode. As shown in fig. 6K, device 600 stops displaying the extended call control menu 630 (e.g., device 600 decreases call control menu 630) and displays connection screen 654. In some embodiments, device 600 initiates a connection to join the real-time communication session and displays connection screen 654 in response to user input 650C on video join affordance 626B. In some embodiments, notification 614 includes an affordance (e.g., a "join" icon on notification 614 or the entire notification 614 itself is selectable). In some embodiments, device 600 initiates a connection to join the real-time communication session and displays connection screen 654 in response to selection of notification 614.
As shown in fig. 6L, after the device 600 joins the real-time communication session, the device 600 displays a real-time communication user interface 656 that includes a representation 658 of the user of the device 600, a representation 670A of a participant Pablo (e.g., the participant initiating the real-time communication session), and a representation 670B of a participant Stephen. The representation 670A of the participant Pablo includes a real-time video stream according to the communication status indicated in the list 648. Since the participant Stephen provides only audio data, the representation 670B of the participant Pablo includes an avatar. In some embodiments, the layout of the representation on the real-time communication user interface 656 is based on the number of participants (e.g., two participants and the user of the device 600) currently connected to the real-time communication session. The layout shown in FIG. 6L is referred to as a 2-to-1 layout, where the first location corresponds to the location of representation 670A and the second location corresponds to the location of representation 670B.
In some embodiments, when the device 600 joins the real-time communication session, the device 600 determines whether the number of participants (e.g., active or total (active and invited)) exceeds a predetermined threshold number. In accordance with a determination that the number of participants exceeds a threshold, the device 600 displays an overflow area having an overflow representation (e.g., a thumbnail), as described in more detail below. Alternatively, in accordance with a determination that the number of participants does not exceed the threshold, the device 600 does not display an overflow area with an overflow indication.
When the device 600 has joined the real-time communication session, the device 600 streams real-time media to other participants (e.g., participants that have joined the real-time communication session). When a participant associated with another device has joined a real-time communication session and device 600 has also joined, device 600 receives a real-time media stream corresponding to the participant.
As shown in fig. 6L, the device 600 receives (e.g., detects) a user input 650G (e.g., a tap) on the display 602 when the real-time communication user interface 656 is displayed. As shown in fig. 6M, in response to receiving user input 650G, device 600 displays call control menu 630. Representations 670A and 670B decrease in size and representations 670B and 658 move upward on display 602 so that call control menu 630 does not overlap the representations. In contrast to the configuration shown in fig. 6L in which representations 670A and 670B are vertically aligned and do not overlap, representations 670A and 670B are offset and overlap each other when call control menu 630 is displayed in fig. 6M.
As shown in fig. 6N, device 600 receives (e.g., detects) a user input 650H (e.g., a tap) on a menu affordance 636 in call control menu 630. As shown in fig. 6O, in response to receiving user input 650H, device 600 expands call control menu 630 (e.g., as discussed with respect to fig. 6H). In some embodiments, device 600 displays the reminder affordance at a representation of a participant not connected to the real-time communication session in call control menu 630. As shown in fig. 6O, the list 648 indicates that the participants Marcel and Allison are not connected to the real-time communication session. Since the participants Marcel and Allison (e.g., devices associated with the participants Marcel and Allison) are not connected to the real-time communication session, the extended call control menu 630 includes ring tone affordances 662 and 664 in the list 648 at representations 648C and 648D of the participants Marcel and Allison, respectively. In response to selection of a ring tone affordance 662 or 664, the device 600 causes a notification (e.g., an audio output such as a call or ring tone) associated with the participant corresponding to the selected ring tone affordance to be provided at the device. In some embodiments, the notification is a new notification that is different from the previous notification sent to the participant. In some implementations, the new notification is more intrusive than the previous notification (e.g., an audible ringtone, a tactile output, or a full screen notification, as compared to a banner notification without an audio or tactile output). In this manner, the user may alert a participant that has not joined the real-time communication session that the real-time communication session is active and available for the participant to join (e.g., similar to the manner in which the user of device 600 is alerted by a full screen notification as shown in fig. 6D).
As shown in fig. 6O, device 600 receives (e.g., detects) a user input 650I (e.g., a tap) corresponding to selection of video on/off affordance 642. In response to receiving user input 650I, device 600 provides a real-time video stream (e.g., from a camera on device 600) to the real-time communication session and modifies video on/off affordance 642 to indicate that the video is on, as shown in fig. 6P. In fig. 6Q, device 600 receives (e.g., detects) user input 650J (e.g., a swipe down) on display 602 to zoom out of call control menu 630. As shown in fig. 6R, when the call control menu 630 shrinks, the representation 658 corresponding to the user of the device 600 includes video from the camera 603 of the device 600.
As shown in fig. 6S, the device 600 receives (e.g., detects) a user input 650K (e.g., a tap) corresponding to selection of the call affordance 634. In response to the user input 650K, the device 600 disconnects from the real-time communication session. Fig. 6T illustrates an embodiment of an instant messaging user interface 604 of an instant messaging application displayed after the device 600 is disconnected from a real-time communication session. The real-time communication session remains active although the device 600 has been disconnected from the real-time communication session. In some embodiments, the real-time communication session remains active even if the participant initiating the real-time video communication session leaves the session, as long as at least one of the participants is connected. As shown in fig. 6T, device 600 maintains a display of notification 614 and real-time communication affordance 610, indicating that the real-time communication session is active. The notification 614 is updated to indicate the duration of the real-time communication session (e.g., three minutes and forty-two seconds, corresponding to the amount of time since the real-time communication session was initiated).
Upon displaying the notification 614 indicating that the real-time communication session is active, the device 600 receives data indicating that the real-time communication session is no longer active (e.g., has ended). In some embodiments, the real-time communication session ends when no participants are connected to the real-time communication session (e.g., all participants that have initiated or joined the real-time communication session are no longer connected). In response to receiving the data indicating that the real-time communication session is no longer active, device 600 stops displaying notification 614 and/or updates notification 614 to indicate that the real-time communication session is no longer active. Fig. 6U illustrates an embodiment of an instant messaging user interface 604 of an instant messaging application displayed after a real-time communication session ends (e.g., in response to receiving data indicating that the real-time communication session is no longer active). As shown in fig. 6U, notification 614 is updated to include an indication that the real-time communication session is no longer active and that real-time communication affordance 610 is removed (e.g., the text "call end"). In some embodiments, the real-time communication affordance 610 and/or the notification 614 grays out to indicate that the real-time communication session is no longer active. In some embodiments, notification 614 is no longer selectable after the end of the real-time communication session. In some embodiments, after the real-time communication session ends, notification 614 remains selectable and may be selected to initiate a new real-time communication session with the group. In some embodiments, if device 600 has not joined the real-time communication session, device 600 updates notification 614 to indicate that the user missed the real-time communication session (e.g., a "missed call").
As shown in FIG. 6U, device 600 receives (e.g., detects) a user input 650L (e.g., a tap) corresponding to selection of a return affordance 611. As shown in FIG. 6V, in response to receiving the user input 650L, the device 600 displays a user interface 671 of the instant messaging application that includes a list 673 of affordances 673A-673G for accessing respective message conversations. The affordance 673D corresponds to a messaging conversation between a group of three participants (Matthew, Danielle, and the user of the device 600). The affordance 673D includes a real-time communication indicator 675 indicating that there is an active real-time communication session for the group. In contrast, because the real-time communication session for "menmond" is not active, the affordance 673A corresponding to "menmond" does not include the real-time communication indicator 675.
Turning now to fig. 6W, device 600 is shown displaying an interface in addition to instant message user interface 604. In FIG. 6W, the device 600 displays a lock screen 668 indicating that the device 600 is in a locked state. Lock screen 668 includes notifications 677A and 677B. Notification 677A indicates that a message from the user John applied was received five minutes ago. Notification 677B indicates that it is no longer available for the joined real-time communication session (e.g., a missed video call). The missed video call notification includes an indication of the invited participants (John, Amy, and Rodrigo), the status of the real-time communication session ("missed"), and the time the real-time communication session was initiated or ended ("1 hour ago"). In the locked state, the device 600 does not display the active application.
While in the locked state, the device 600 receives data indicating that the real-time communication session is available for joining. In some embodiments, the response of the device 600 to receiving data indicating that a real-time communication session is available for joining depends on the context of the device 600, the real-time communication session available, or other factors. In some embodiments, the device 600 displays a first type of notification based on a real-time communication session (e.g., a one-to-one communication session) available between two participants. As shown in fig. 6X, the first type of notification includes a full screen notification 672 and an audio output 674. In some embodiments, the audio output 674 is different from the audio output associated with a phone call notification and the audio output associated with a message notification. In some implementations, the audio output 674 shares audio characteristics (e.g., common tone, note, rhythm) with both the audio output of the telephone call and the message notification. Alternatively, the device 600 displays the second type of notification according to a real-time communication session (e.g., a group real-time communication session) available among three or more participants. As shown in fig. 6Y, the second type of notification includes a banner notification 676 (e.g., not full screen) and a tactile output 678 (e.g., but without audio output). In some embodiments, device 600 initially displays a full screen notification (e.g., similar to full screen notification 616 shown in fig. 6E) and then displays (e.g., transitions to) banner notification 676 in accordance with a real-time communication session (e.g., a group real-time communication session) available between three or more participants. In some embodiments, the notification 676 includes an affordance that, when selected, initiates a process for joining the corresponding real-time communication session (e.g., as described above with reference to fig. 6F-6L).
In contrast to notification 677B, which corresponds to a missed video call, notification 676 corresponds to an active real-time communication session. The notification 676 includes a group ("menuing team"), a participant (Pablo) performing an action that triggers presentation of the notification, and an indication of the initiation time ("now") of the real-time communication session. In some embodiments, the notification 676 is updated to accurately reflect the time the real-time communication session was initiated and the status of the real-time communication session. In some embodiments, when the real-time communication session represented by notification 676 ends, the text of notification 676 is updated from "join the video call from the PABLO" to "miss the video call from the PABLO".
In some embodiments, in accordance with a determination that an active application is not displayed (as shown in fig. 6W), device 600 displays a full screen notification in response to receiving data indicating that the real-time communication session is available for joining. In some embodiments, in accordance with a determination that an active application (e.g., an instant messaging application) is being displayed, device 600 displays a non-full screen notification (e.g., a banner notification).
In some embodiments, in accordance with a determination to alert a user of device 600, device 600 outputs an alert (e.g., a notification or an audio or tactile output); and in accordance with a determination not to alert the user of the device 600, the device 600 refrains from outputting the alert. In some embodiments, the determination to alert the user is based on an interference criterion (e.g., whether the device is in a locked or unlocked state). In some embodiments, depending on the device 600 being in a locked state (e.g., as shown in fig. 6Y), the device outputs an alert (e.g., a haptic output 678); and depending on the device 600 being in the unlocked state (e.g., as shown in fig. 6Z), the device 600 displays a notification (e.g., banner notification 676) and refrains from providing an alert (e.g., without a tactile output).
In some embodiments, the interference criteria indicates whether the user is looking at the device 600 (e.g., based on data from sensors at the front of the device 600). FIG. 6AA illustrates a user 684 holding the device 600. The user's gaze 680 is not directed at the device 600. The device 600 determines whether the user 684 is not looking at the device 600, and in accordance with a determination that the user 684 is not looking at the device 600, the device 600 provides a non-visual notification 682 (e.g., a tactile or audio output). As shown in fig. 6AB, the user's gaze 680 is directed at the device 600. In accordance with a determination that the user 684 is looking at the device 600, the device 600 refrains from providing non-visual notifications (e.g., the device 600 displays a banner notification without tactile or audio output). In some embodiments, device 600 uses an image sensor configured to recognize the user's face to determine whether the user is looking at device 600.
Turning to fig. 6 AC-6 AF, device 600A includes a display 602A (e.g., a touch-sensitive display), a rotatable input mechanism 601A, and mechanical buttons 601B. In some embodiments, device 600A includes features of device 100, 300, 500, or 600. In some embodiments, device 600A communicates with device 600 (e.g., via two-way wireless communication). In some embodiments, device 600A is in a pairing relationship with device 600.
In some embodiments, device 600A (e.g., from device 600) receives data indicating that a real-time communication session available to three or more participants is active. As shown in fig. 6AC, in response to receiving data indicating that the real-time communication session is active, device 600A displays user interface 604A, which includes notification 605, real-time communication join affordance 607, and detach affordance 609. In some embodiments, notification 605 includes the features of notification 614 described above (e.g., participant name, number of participants, participant name that triggered the notification). In some embodiments, device 600A generates audio and/or tactile output in response to receiving data indicating that a real-time communication session is active. In some embodiments, device 600A generates audio and/or tactile output that is different from the audio and/or tactile output generated by device 600 in response to receiving the data indicating that the real-time communication session is active. In some embodiments, a notification (e.g., a display, audio, and/or tactile output) that the real-time communication session is active is provided at the device 600 (e.g., not at the device 600A) in response to receiving initial data indicating that the real-time communication session is active, and the notification is provided at both the device 600 and the device 600A in response to receiving reminder data indicating that the real-time communication session is active. In some embodiments, a notification (e.g., a display, audio, and/or tactile output) that the real-time communication session is active is provided at both the device 600 and the device 600A in response to receiving initial data indicating that the real-time communication session is active, and the notification is provided at the device 600 (e.g., not at the device 600A) in response to receiving reminder data indicating that the real-time communication session is active.
In some embodiments, device 600A receives a user input (e.g., a tap on real-time communication affordance 617) corresponding to a selection of real-time communication joining affordance 607. In response to receiving a selection of real-time communication join affordance 607, device 600A causes device 600 and/or device 600A to join or initiate a process to join a real-time communication session. In some embodiments, in response to receiving a selection of real-time communication join affordance 607, device 600A causes device 600 to display real-time communication user interface 628 (fig. 6G), 654 (fig. 6K), or 656 (fig. 6L).
Fig. 6AD shows a user interface 604A displayed on the device 600A after joining a real-time communication session. In some embodiments, device 600A includes a microphone for a user to provide audio input to the real-time communication session via device 600A. In fig. 6AD, the user interface 604A includes a volume control 611, an indication of the participant 613 ("PABLO" and "2 others"), and the duration of the real-time communication session ("9: 45"), an end call affordance 615, an audio on/off affordance 617, and a menu affordance 619.
In fig. 6AE, device 600A receives (e.g., detects) user input 650M (e.g., a swipe-up gesture starting at or near menu affordance 619). As shown in fig. 6AF, in response to receiving the user input 650M, the device 600A modifies the indication 613 ("attendee number 4") and displays a keyboard affordance 621, an audio source affordance 623 (e.g., for engaging in a real-time communication session using the device 600), and a list 625 of participants of the real-time communication session (e.g., participants who joined and/or invited). In some embodiments, the device 604A displays the listing 625 in response to receiving the user input 650M (e.g., prior to joining the real-time communication session) on the user interface 604 in fig. 6 AC. In some embodiments, the list 625 includes an indication of the communication status of the participant. In some embodiments, the listing 625 includes a reminder affordance that may be selected to send a reminder notification to a participant that has not joined the real-time communication session.
Fig. 7A-7F are flow diagrams illustrating methods according to some embodiments. Method 700 is performed at a device (e.g., 100, 300, 500, 600) having a display. Some operations in method 700 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
As described below, the method 700 provides, among other things, an intuitive way to provide interactive notifications (e.g., 614, 672, 676) for a real-time communication session between multiple participants. The method reduces the cognitive burden on a user to provide notifications for real-time communication sessions between multiple participants using innovative techniques, thereby creating a more efficient human-machine interface. For battery-powered computing devices, a user is enabled to quickly interact with notifications to make real-time communication sessions between multiple participants faster and more efficient, thus saving power and increasing the time between battery charges.
At block 702, the device displays an instant messaging user interface (e.g., 604) of an instant messaging application. The instant messaging user interface (e.g., 604) includes a messaging region (e.g., 606). The message region includes a plurality of messages (e.g., 608A-608D) in a message conversation between three or more participants.
At block 704, the device receives first data indicating that a real-time communication session (e.g., an audio communication session or an audio/video communication session) available to three or more participants is active. In some embodiments, the participants of the real-time communication session have a "currently joined" state (e.g., providing real-time media streams to other participants; also referred to as "connected" or "active") or "currently not joined" (e.g., participants who never joined the session or have previously joined the session and then left the session; also referred to as "unconnected" or "invited"). In some embodiments, the participants of the real-time communication session include participants who have currently joined the real-time communication session and participants who have not currently joined the real-time communication session (e.g., 648A-648D). When the real-time communication session is active, participants join (connect) or leave (disconnect) the real-time communication session. When a participant associated with another device has joined a real-time communication session, the device receives a real-time media stream corresponding to the participant. When a user of the device has joined the real-time communication session, the device streams real-time media to other participants (e.g., participants that have joined the real-time communication session). In some embodiments, the real-time communication session remains active as long as at least one of the participants is connected (e.g., even if the participant initiating the real-time communication session leaves the session).
At block 706, in response to receiving first data indicating that a real-time communication session between three or more participants is active, the device displays a notification (e.g., 614) indicating that the real-time communication session is active. In some embodiments, the notification indicating that the real-time communication session is active includes a real-time communication join affordance (e.g., 614A). In some embodiments, the notification includes an indication of the number of participants in the real-time communication session (e.g., the number of participants in the session that are active; the number of participants invited to the session). In some embodiments, the notification includes an indication of the participant (e.g., name abbreviation, photograph, or avatar) that performs an action that triggers presentation of the notification on the display (e.g., the participant initiating the real-time communication session, or the participant selecting a "ring again" button, etc., to alert the user of the device to join the real-time communication session). In some embodiments, in response to receiving the first data indicating that the real-time communication session between the three or more participants is active, the device generates, via one or more audio output devices of the device, an audio output (e.g., 618) indicating that the real-time communication session is active, wherein the audio output indicating that the real-time communication session is active is different from the audio output associated with the telephone call notification and the audio output associated with the message notification. In some implementations, the audio output indicating that the real-time communication session is active shares audio characteristics (e.g., common tone, note, rhythm) with both the audio output of the telephone call and the message notification. Displaying a notification (e.g., 614) indicating that the real-time communication session is active and/or generating an audio output (e.g., 618) indicating that the real-time communication session is active provides feedback to the user regarding the current state of the real-time communication session and provides visual feedback to the user indicating that certain operations associated with the notification and/or the real-time communication session will be performed if the user activates the notification (e.g., when the notification includes a join affordance). Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at block 704, the device displays a notification (e.g., 606) at a first location in the message region indicating that the real-time communication session is active. In some embodiments, the notification (e.g., 614) indicating that the real-time communication session is in an active state includes the real-time communication join affordance (e.g., 614A).
At block 710, while displaying the notification (e.g., 614) indicating that the real-time communication session is active, the device receives second data indicating that the real-time communication session between the three or more participants is no longer active.
Optionally, at block 712, the device moves the notification indicating that the real-time communication session is active from a first location (e.g., the bottom of the message area 606) to a second location (e.g., the middle or top of the message area 606, or the top, bottom, right, and/or left of the display (602)). In some embodiments, the movement notification occurs in response to the notification relocation criteria being met (e.g., 614). In some embodiments, the notification relocation criteria include one or more criteria, such as a predetermined amount of time elapsed (e.g., time elapsed after the notification is displayed), the instant messaging user interface (e.g., 604) being stopped from displaying, the instant messaging application being closed, the entire notification (e.g., 614) or a portion of the notification (e.g., 614) being hidden in the message area (e.g., 606) due to a new incoming message filling the message area (e.g., 606), and so on. The notification that the movement indicates that the real-time communication session is in an active state provides feedback to the user regarding the current state of the real-time communication session, provides visual feedback to the user indicating that certain operations associated with the notification and/or the real-time communication session (if selected) are to be performed, and reduces the number of inputs required to perform the operations. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently. In addition, reducing the number of inputs required to perform an operation also enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing the user with more available inputs and reducing the number of inputs), which in turn reduces power usage and improves the battery life of the device by enabling the user to use the device more quickly and efficiently.
Optionally, at blocks 714 and 716, the device receives a first user input (e.g., 650C) corresponding to selection of a real-time communication join affordance (e.g., 614A or 626B). In response to receiving a first user input corresponding to selection of the real-time communication join affordance, the device joins the real-time communication session (e.g., joins the real-time communication session and transmits video and audio simultaneously from the electronic device and/or joins the real-time communication session and transmits audio only from the electronic device (without transmitting video)). Joining the real-time communication in response to receiving a selection of the real-time communication joining affordance included in the notification reduces a number of inputs required to perform an operation to join the real-time communication session. Reducing the number of inputs required to perform the operation also enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing more inputs available to the user and reducing the number of inputs required to join a real-time communication session), which in turn reduces power usage and improves the battery life of the device by enabling the user to use the device more quickly and efficiently.
Optionally, at blocks 718 and 720, the device receives reminder data (e.g., fig. 6D) indicating reminders to join the real-time communication session (e.g., reminders sent by the participants in the conversation or after a predetermined period of time). In response to receiving alert data indicating an alert to join the real-time communication (e.g., the alert sent by a participant in the conversation), the device generates, via one or more audio output devices of the device, an audio output (e.g., 618) (e.g., a telephone ringtone output) indicating that the real-time communication session is active. In some embodiments, an audio output (e.g., 618) is generated in conjunction with redisplaying the notification (e.g., 616). In some embodiments, the display of the notification is ongoing at the time the reminder data is received. In some embodiments, the audio output indicating that the real-time communication session is active is different from the audio output associated with the phone call notification and the audio output associated with the message notification. In some implementations, the audio output indicating that the real-time communication session is active shares audio characteristics (e.g., common tone, note, rhythm) with both the audio output of the telephone call and the message notification. In some embodiments, the initial audio output indicating that the real-time communication session is active is different (e.g., shorter, quieter, or less intense) than the alert audio output (e.g., audio output generated by the participant based on selection of the "ring tone" affordance) indicating that the real-time communication session is active. In some embodiments, the initial audio output indicating that the real-time communication session is active is a single repetition of the repeated audio output for the telephone call and the reminder audio output indicating that the real-time communication session is active is multiple repetitions of the repeated audio output for the telephone call, or is the same as the audio output for the telephone call. In some embodiments, in response to receiving alert data indicating an alert to join a real-time communication, the device displays an indication (e.g., name abbreviation, photograph, or avatar) of a participant in the real-time communication session that initiated the alert. Generating a reminder including an audio output when a prescribed condition is met allows a user to quickly identify that a real-time communication session is available when they miss a visual notification (e.g., 614). Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, in blocks 722 and 724, in embodiments where the notification includes a menu access affordance (e.g., 626B), the device receives a second user input (e.g., 650C) corresponding to selection of the menu access affordance. The device, in response to receiving a second user input corresponding to selection of the menu access affordance, displays a menu (e.g., 630) including a video-add option (e.g., 634) (e.g., affordance, drop-down menu, check box) and an audio-only option (e.g., 642) (e.g., affordance, drop-down, check box). Displaying a menu including different options for joining the real-time communication session in response to receiving a selection of the menu access affordance, providing additional control options without cluttering the UI with the additional displayed controls. Providing additional control options without cluttering the UI with additional displayed controls 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 error in 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 efficiently.
Optionally, at blocks 726 and 728, the device receives a third user input while displaying the menu (e.g., 630). In accordance with a third user input (e.g., 650F) corresponding to selection of the video join option (e.g., 634), the device joins the real-time communication session using the audio and video transmitted from the electronic device. In some embodiments, the device prompts the user to check whether they want to join with audio only and/or video only (e.g., "do you want to join with video. Joining the real-time communication session using audio and video transmitted from the electronic device allows the user to join the real-time communication session using audio and video when a prescribed condition is satisfied (e.g., in response to the video join option being selected) without requiring the user to select or modify additional inputs and outputs of the device (e.g., turn on a camera and/or turn on a microphone). Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at block 730, the device joins the real-time communication session using audio transmitted from the electronic device (e.g., audio recorded by one or more microphones of the device) without transmitting video data from the electronic device according to a third user input corresponding to selection of the audio-only join option (e.g., 642). In some embodiments, the device displays an indicator (e.g., 658 in fig. 6L) that the user joined the real-time communication using audio only. This makes the user comfortable because the video is not shared). Joining the real-time communication session using audio transmitted from the electronic device allows the user to join the real-time communication session using audio only without the user having to select or modify additional inputs and outputs of the device (e.g., turn off the camera and/or turn on the microphone) when the specified condition is satisfied. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
At block 732, in response to receiving second data indicating that the real-time communication session between the three or more participants is no longer active, the device stops displaying the notification (e.g., 614) or updates the notification to indicate that the real-time communication session is no longer active. In some embodiments, the notification is updated to indicate a current duration of the real-time communication session when the real-time communication session is in an active state. In some embodiments, when the real-time communication session is no longer active, the notification ceases to display the duration of the session and displays an indication that the session has ended (e.g., "call end"). In response to receiving data indicating that the real-time communication session is no longer active, ceasing to display the notification, providing visual feedback to the user indicating that certain operations associated with the notification and/or the real-time communication session are no longer available. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently. Further, in response to receiving data indicating that the real-time communication session is no longer active, ceasing to display the notification, the operation is automatically performed when a set of conditions is satisfied without further user input. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by reducing unnecessary elements on the user interface and helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at blocks 736, 738, and 740, the device receives third data indicating that the second real-time communication session is available between the two or more participants. In accordance with the second real-time communication session being available between the two participants, the device displays a first type of notification (e.g., 672) (e.g., full screen notification) indicating that the second real-time communication is active. In some embodiments, the first type of notification (e.g., 672) includes a menu (e.g., 630) with options for video (e.g., 634), audio only (e.g., 643), and/or decline (e.g., 622). The device displays a second type of notification (e.g., 676) different from the first type of notification indicating that the second real-time communication is active, as a function of the second real-time communication session being available between the three or more participants. In some embodiments, the second type of notification is a banner notification (e.g., 676) that is not full screen or not continuously full screen. Optionally, at block 742, the device initially displays the second type of notification in the first state (e.g., full screen state 672). Optionally, at step 744, the device transitions the second type of notification (e.g., 672) to a second state (e.g., 676) (e.g., a persistent non-full screen state (e.g., a persistent banner located at the top edge of the display)). Displaying a particular type of notification that a real-time communication session is active based on when a specified condition is met allows a user to quickly identify that real-time communication is available while providing more and/or less interference to the user based on the specified condition (e.g., displaying a full screen notification when there is a real-time communication session available between two participants and displaying a banner when there is a real-time communication session available between two participants). Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at blocks 746, 748, 750, and 752, the device receives fourth data indicating that a third real-time communication session is available. In response to receiving the fourth data indicating that the third real-time communication session is available, in accordance with a determination that an active application (e.g., an application other than, for example, a lock screen (e.g., 668) or a home screen (e.g., 1400)) such as an instant messaging application or a third party application provided by an application developer other than a developer of the operating system), the device displays a third type (e.g., a non-full screen state (e.g., a banner located at a top edge of the display)) notification (e.g., 614 or 676) indicating that the third real-time communication session is available. In response to receiving the fourth data indicating that the third real-time communication session is available, in accordance with a determination that the active application is not displayed (e.g., fig. 6W), the device provides a fourth type of notification (e.g., 678 or full screen notification (e.g., 616)) indicating that the third real-time communication session is available. Displaying a particular type of notification for a real-time communication session based on when a specified condition is met allows a user to quickly identify that real-time communication is available based on the specified condition while providing more and/or less interference to the user (e.g., displaying a full screen notification when the device displays an application and displaying a banner when the device does not display an application). Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at blocks 754, 756, 758 and 760, the apparatus receives fifth data indicating that a fourth real-time communication session is available. In response to receiving the fifth data indicating that the fourth real-time communication session is available, in accordance with a determination that a current context of the electronic device (e.g., a current operating mode of the device (e.g., whether the device is in a do-not-disturb (DND) mode; whether certain applications or hardware are operationally active; whether the device is locked or unlocked; whether one or more sensors of the device detect that a user is looking toward the display) satisfies the alert issuance criteria, the device displays a notification that the fourth real-time communication session is available (e.g., 676) while providing a non-visual notification that the fourth real-time communication session is available (e.g., 678) (e.g., an audio or tactile output.) in some embodiments, the output or alert corresponds to the notification (e.g., 614.) in response to receiving the fifth data indicating that the fourth real-time communication session is available, in accordance with a determination that the current context of the electronic device does not, the device displays a notification (e.g., 614) that the fourth real-time communication session is available without providing a non-visual notification (e.g., 678) that the fourth real-time communication session is available. In some embodiments, when the first type of alert is not issued, a second type of alert is issued (e.g., a visual alert, such as a banner notification (e.g., 676)). In some embodiments, the relevant context of the device is whether the device is in a locked state or an unlocked state. In some embodiments, a first type of alert (e.g., an audio or tactile output) is issued when the device is locked; when the device is unlocked (e.g., when the user is actively operating/interacting with the device), no alert is issued (e.g., suppressed). In some embodiments, the relevant context of the device is whether the device detects (e.g., via one or more sensors (e.g., camera, infrared sensor)) whether the user is looking at the display or not. In some embodiments, a first type of alert (e.g., an audio or tactile output) is issued when the device is locked. In some embodiments, a first type of alert (e.g., 682) is generated when the device detects that the user is not looking at the display (e.g., fig. 6 AA). In some embodiments, the first type of alert is not generated (e.g., suppressed) when the user is actively operating/interacting with the device (e.g., fig. 6 AB).
In some embodiments, the alarm issuance criteria includes a requirement that the device be locked out so as to meet the alarm issuance criteria. In some embodiments, the alarm issuance criteria includes a requirement that the device not detect a user's attention to the device in order to meet the alarm issuance criteria. (e.g., based on a detected user input of an input device having an electronic device, based on a user gaze (e.g., 680) detected via gaze tracking, facial tracking, etc.). Displaying a notification (e.g., 614) based on when a prescribed condition is met and determining whether to provide a non-visual notification allows a user to quickly identify that real-time communications are available while providing more and/or less interference to the user based on the prescribed condition. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Note that the details of the processes described above with respect to method 700 (e.g., fig. 7A-7F) may also be applied in a similar manner to the methods described below. For example, method 700 optionally includes one or more features of various methods described below with reference to methods 900, 1100, 1300, and 1500. For example, method 700 may use methods 1300 and 1500 to initiate a real-time communication session, and starting and running a real-time communication session may include methods 900 and 1100. For the sake of brevity, these details are not repeated in the following.
Fig. 8A-8 BK illustrate exemplary user interfaces for real-time communication sessions, according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in fig. 9A through 9K.
Fig. 8A illustrates a device 600 that displays an instant messaging user interface 604 for a messaging conversation between a group "menuing teams". The real-time communication session between the participants of the group is not active (e.g., as indicated by the absence of the real-time communication affordance 610). As shown in fig. 8A, the header of instant message user interface 604 is extended to display video-in affordance 626B (described above). As shown in fig. 8A, device 600 receives user input 850A (e.g., a tap on video join affordance 626B) corresponding to a request to display a user interface for a real-time communication session between participants of the group of participants "the menuing team". As shown in fig. 8A, the request includes a request to start a new real-time video communication session. In some embodiments, the request includes a request to join an existing real-time communication session (e.g., as described above with respect to fig. 6F).
In response to the user input 650A, the device 600 displays the message 800 in the message area 606 along with an indication 802 that a real-time communication session is being initiated. In some embodiments, message 800 includes some of the features of notification 614 described above. Upon initiating the real-time communication session, device 600 displays a real-time communication user interface 804 that simultaneously includes multiple representations of participants in the real-time communication session.
In accordance with a determination that the number of participants in the real-time communication session includes a number of participants greater than a threshold (e.g., more than five participants, including a user of the device 600), the device 600 simultaneously displays representations of a first plurality of participants other than the user of the device 600 in one or more dimensions (e.g., three different dimensions) greater than a respective threshold dimension, while displaying representations of a second plurality of participants in the overflow area, wherein the second plurality of participants includes one or more participants not included in the first plurality of participants and representations of one or more other participants displayed in the overflow area are displayed in a dimension less than the respective threshold dimension.
In the embodiment shown in fig. 8A-8 BK, the threshold number of participants is five participants (including the user of the device 600). Since the group "menmond" includes fifteen participants, the device 600 determines that the number of participants in the real-time communication session includes a number of participants greater than a threshold. As shown in fig. 8C, in accordance with this determination, the real-time communication user interface 804 includes a 4-to-1 layout of four primary representations 810A-810D (collectively 810) of four respective participants, except the user of the device 600 displayed in the canvas area 811, a user representation 806 (corresponding to the user of the device 600) of the camera view of the device 600, and an overflow area 820 having overflow representations 822A-822J (collectively 822), a subset thereof (e.g., 822A-822D), displayed at any time, corresponding to participants of the real-time communication session other than the user of the device 600 and the participants represented in the canvas area 811. In some embodiments, the layout is one of a plurality of predefined layouts, where the representations of participants are anchored at different locations in the user interface 804. Fig. 8AW illustrates another embodiment of a user interface 804. In the embodiment illustrated in fig. 8AW, the overflow area 820 includes an overflow representation of all participants of the real-time communication session other than the user of the device 600, such that the participants represented in the canvas area 811 are also represented in the overflow area 820.
If the number of participants in the group is less than or equal to five, then in accordance with a determination that the number of participants in the real-time communication session is less than or equal to five, the device 600 displays a primary representation of the participants and a representation of a user of the device 600, without displaying an overflow representation in the overflow area.
Each of the primary representations 810 is displayed in one of three predetermined representation sizes (small, medium, and large). The primary representation 810A is displayed in a small size, the primary representation 810B is displayed in a large size, and the primary representation 810C and the primary representation 810D are displayed in a medium size. In fig. 8C, each of the primary representations 810 overlaps with at least one other primary representation. The overflow representations 822 are all displayed at the same size, which is smaller than the small representation size associated with the primary representation 810. In the illustrated embodiment, the respective threshold sizes mentioned above are larger than the size of the overflow representation 822 and smaller than the small representation size of the primary representation 810. The user representation 806 is the same size as the overflow representation 822 and is aligned with or displayed within the overflow region 820.
As shown in fig. 8C, the real-time communication session user interface 804 displays three full overflow representations and one partial overflow representation at a time. The remaining overflow representations are hidden and may be displayed by scrolling over the overflow area 820 (e.g., in response to user input or detected events, such as a participant actively participating through conversation or movement). In fig. 8C, overflow representation 820D is partially shaded to indicate that there are more overflow representations and/or that overflow region 820 may be scrolled. In some embodiments, the order of overflow representations 822 in overflow area 820 depends on the order in which participants joined the real-time communication session. In some embodiments, the order of the overflow representations 822 in the overflow region 820 changes over time (e.g., due to user selection of the overflow representations or active participation by participants represented in the overflow region, for example, when participants join or leave a real-time communication session or when participants move in or out of the canvas region 811, as described in more detail below). In some implementations, the order of overflow representations in overflow region 820 is fixed (e.g., the order in which overflow representations are displayed does not change over time). In some embodiments, the order of overflow representation is based on the order of the lists associated with the group (e.g., the order in which participants were added to the group when the group was created). In some embodiments, the display of the primary representation 810 (e.g., a real-time video feed) is updated at a higher rate than the display of the overflow representation 822.
Fig. 8C illustrates real-time communication session interface 804 shortly after initiation of the real-time communication session and before any participant (other than the participant associated with device 600) joins the real-time communication session. As shown in fig. 8C, the primary representation 810 and the overflow representation 822 include placeholders for participants not connected to the real-time communication session. As shown in fig. 8C, the placeholder includes a representation with an indication of the participant's name (e.g., first name or first and last initial) and the colored object. In some embodiments, the color and/or pattern of each colored object is different or selected from a set of predefined colors and/or patterns. Optionally, the placeholder includes a status indicator indicating that the participant is waiting to connect to the real-time communication session, and an alert affordance ("ring") for sending an alert to the corresponding participant that the real-time communication session is available. In some embodiments, the reminder affordance is initially not included on the placeholder and is displayed in accordance with a determination that the corresponding participant has not joined the real-time communication session after a predetermined period of time.
As shown in fig. 8C, device 600 receives (e.g., detects) a user input 850A (e.g., a tap) corresponding to selection of primary representation 810C. As shown in fig. 8D, in response to receiving user input 850A, device 600 modifies primary representation 810C to include additional identifying information (e.g., the name of the participant, Marcel) and a reminder affordance 808A for sending a reminder to the corresponding participant that a real-time communication session is available.
Fig. 8D also shows a participant corresponding to primary representation 810B joining the real-time communication session. In some embodiments, device 600 receives data indicating that a participant corresponding to primary representation 822B has joined the real-time communication session. As shown in fig. 8D, in response to a participant corresponding to primary representation 822B joining the real-time communication session, device 600 replaces the placeholder of primary representation 822B with real-time video data from the corresponding participant. In some embodiments (e.g., fig. 8AX), the device 600 replaces the overflow representation 822B corresponding to the participant with real-time video data from the participant. As used herein, the phrase "real-time video data from a participant" (or its equivalent) includes real-time video data transmitted by a device associated with the participant (e.g., a smartphone, laptop, desktop, or tablet) or by a device associated with an account associated with the participant (e.g., an email account or cloud storage account).
As shown in fig. 8D, the device 600 receives (e.g., detects) a user input 850B (e.g., a tap) corresponding to selection of the reminder affordance 808. In response to the input 850B, the device 600 sends an instruction to cause a new notification (e.g., a call, ring tone, etc.) indicating that the real-time communication session is available at the device associated with the corresponding participant, where the new notification is different from the notification previously sent to the participant. In some implementations, the new notification is more intrusive than the previous notification (e.g., an audible ringtone, a tactile output, or a full screen notification, as compared to a banner notification without an audio or tactile output). In fig. 8D, the device 600 also displays a reminder affordance 808B on the primary representation 810D to indicate that the participant corresponding to the primary representation 810D is currently being reminded that the real-time communication session is available (e.g., due to a reminder sent by another participant currently connected to the real-time communication session, such as the participant represented by the primary representation 810B or a reminder previously sent by a user of the device 600). Device 600 also modifies alert affordance 808A to indicate that the corresponding participant is being notified (e.g., by replacing "ring" with "ring," as shown in fig. 8E).
As shown in fig. 8E, in accordance with a determination that a predetermined period of time has elapsed since the start of the real-time communication session, the device 600 stops displaying the overflow representation 822 and increases the size of the user representation 806. In some embodiments, the primary representation 810 is resized and/or moved when the overflow representation 822 is removed. In the illustrated embodiment, the primary representation 810D is moved downward. In some embodiments, the device 600 stops displaying the overflow representation 822 in accordance with a determination that the number of participants currently participating in the real-time communication session is less than or equal to a threshold number of participants (e.g., five participants, including a user of the device 600).
At a time corresponding to fig. 8E, two participants have joined the real-time communication session. In some embodiments, after a further amount of time, the device 600 stops displaying one of the primary representations 810 and changes the layout of the real-time communication user interface 804 to a 3-to-1 layout. In some embodiments, the 4-to-1 layout and the 3-to-1 layout are in a set of predetermined layouts having similar relative placements of the primary representation 810. In some embodiments, relatively similar placement with primary representations includes placement where the primary representations remain in similar positions on user display 602 when there is a transition between layouts within the group (e.g., a position of a representation in one layout overlaps a position of the representation in another layout of the same group).
In some embodiments, the apparatus 600 determines which primary representation to remove based on: whether the corresponding participant has joined the real-time communication session (e.g., not removed the representation if the corresponding participant has joined), whether the participant has been reminded (e.g., the representation of the reminded participant will not be removed until a predetermined amount of time after the corresponding reminder affordance is selected), the placement of the participant in the participant list (e.g., the representation of the earlier participant in the list is removed before the representation of the later participant in the list), and the placement of the representation on the real-time communication user interface 804 (e.g., the representation closer to the top of the display 602 is removed before the representation lower on the display 602). As shown in FIG. 8F, the device 600 stops displaying the primary representation 810A and moves the primary representation 810B upward (e.g., to reduce the overlap between the representations 810B and 810C) while maintaining the relative vertical order of the remaining representations (e.g., representation 810B is larger and higher than representation 810C, and representation 810C is higher and the same size as representation 810D). Fig. 8F also shows that the reminder affordance 808A is modified to "ring again," which indicates that the corresponding participant has been reminded at least once and is not currently reminded. The alert affordance 808B is also modified (e.g., from "ring" to "ringtone" and different colors) to indicate that the corresponding participant has been previously alerted, but not by the user of the device 600.
At a time corresponding to fig. 8F, only two participants have yet joined the real-time communication session. In some embodiments, after a further amount of time, the device 600 stops displaying the other primary representation 810 and changes the layout of the real-time communication user interface 804 to a 2-to-1 layout (e.g., 4-to-1 layout and 3-to-1 layout in the same set of predetermined layouts shown in fig. 8E-8F). As shown in FIG. 8G, the device 600 stops displaying the primary representation 810D and enlarges the primary representations 810B and 810C. Fig. 8G shows a three participant (e.g., 2-to-1) layout in which the primary representations of the two participants, except for the user of the device 600, are of equal size and are vertically aligned one above the other. The vertical order of primary representations 810B and 810C is maintained, with primary representation 810B being above primary representation 810C. In the layout of FIG. 8F, there is no overlap between the primary representations, and user representation 806 overlaps primary representation 810C.
At a time corresponding to fig. 8G, only two participants have yet joined the real-time communication session. In some embodiments, after a further amount of time, the device 600 stops displaying another primary representation and changes the layout of the real-time communication user interface 804 to a 1-to-1 layout. As shown in FIG. 8H, the device 600 stops displaying the primary representation 810C and zooms in the primary representation 810B to full size. In some embodiments, the device 600 changes from the layout of fig. 8G to the layout of fig. 8H at a predetermined amount of time after selecting the reminder affordance 808A. FIG. 8H shows a two participant (e.g., 1-to-1) layout with the remaining primary representation 810B displayed in full screen and overlaid by the user representation 806. As shown in fig. 8H, the remaining primary representation 810B and user representation 806 are vertically elongated rectangles (e.g., oriented along an outline), as compared to the square shape of primary representation 810 and user representation 806 in the 4-to-1, 3-to-1, 2-to-1 layouts, respectively, shown in fig. 8E-8G.
Turning to fig. 8I, a third participant Stephen has joined the real-time communication session. As shown in fig. 8I, in response to a participant Stephen joining the real-time communication session, device 600 transitions from the display of the 1-to-1 layout of fig. 8H to a 2-to-1 layout in which the primary representation 810E of the recently joined participant is above the representation 810B of the existing participant (other than the user of device 600). In some embodiments, device 600 displays notification 812 and/or generates an audio or tactile output indicating that the participant has joined the real-time communication session, as shown in fig. 8I. In some embodiments, because the new primary representation is displayed when the participant Stephen joins the real-time communication session, the device 600 avoids displaying the notification 812 or generating an audio or tactile output because the primary representation 810E serves as an indication that the participant has joined the real-time communication session.
The participant Stephen joins the real-time communication session in audio-only mode and provides real-time audio data without video. The audio-only communication status of the participant Stephen is indicated by the primary representation 810E and the notification 812. Primary representation 810E indicates an audio-only communication status by displaying a name of the participant and an avatar associated with the participant. Notification 812 indicates the status of the communication as text ("join the call with audio"). As shown in fig. 8J, the device 600 stops displaying the notification 812 (e.g., after a predetermined amount of time after the participant Stephen has joined the real-time communication session).
In some embodiments, in response to receiving data indicating that a participant joined by audio only is actively participating (e.g., speaking), device 600 displays a visual indication on a representation of the participant who is speaking. In fig. 8J, the representative image (e.g., avatar) within primary representation 810E is animated (e.g., with a "voice coil") to indicate that the participant Stephen is speaking.
Turning to fig. 8K, a fourth participant, Marcel, has joined the real-time communication session. As shown in fig. 8K, in response to the fourth participant joining the real-time communication session, the device 600 transitions from a 2-to-1 layout to a 3-to-1 layout (e.g., as shown in fig. 8F), wherein the primary representation 810F of the recently joined participant is above the primary representations 810B and 810E of the existing participants (other than the user of the device 600).
The participant Marcel joins the real-time communication session in video mode and provides real-time video and audio data. The video communication status of participant Marcel is indicated by primary representation 810F. The primary representation 810F indicates the video communication status by displaying a real-time video stream. As shown in fig. 8K, the device 600 does not immediately display a notification indicating that the participant Marcel has joined the real-time communication session.
Turning to fig. 8L, a fifth participant, Hoan, has joined the real-time communication session. As shown in fig. 8L, in response to the participant Hoan joining the real-time communication session, the device 600 transitions from a 3-to-1 layout to a 4-to-1 layout with the primary representation 810G of the most recently joined participant as the smallest primary representation and positioned above and to the right of the primary representation 810F. In some embodiments, upon determining that both the participants Marcel and Hoan have joined the real-time communication session within the predetermined time window, the device 600 displays a combined notification 816 indicating that both the participants Marcel and Hoan have joined the real-time communication session, as shown in fig. 8L. In some embodiments, the combined notification 816 is displayed in accordance with a determination that the participants joined in the same communication state (e.g., video).
As indicated by the representation 816A of the video camera in the real-time video stream and notification 816 displayed in primary representation 810G, the participant Hoan joins the real-time communication session in a video mode such that the device 600 receives real-time video and audio data associated with the participant Hoan.
As shown in fig. 8L, device 600 receives (e.g., detects) user input 850C (e.g., a double click) at the location of primary representation 810F on display 602. In some embodiments, as shown in fig. 8M, in response to receiving user input 850C, device 600 enlarges primary representation 810F to a maximum representation size and shrinks primary representation 810E to a medium size (while maintaining a 4-to-1 layout). As shown in fig. 8M, the device 600 stops displaying the notification 816 (e.g., after a predetermined amount of time after the participant Hoan joins the real-time communication session).
In some embodiments, the configuration of the layout is dynamically changed in response to receiving data indicating that the participant is actively participating in the real-time communication session. In fig. 8M, the device 600 receives data indicating that the participant Hoan corresponding to the primary representation 810G is actively participating. As shown in fig. 8M, in response to receiving data indicating that a participant corresponding to primary representation 810G is actively participating, device 600 enlarges primary representation 810G from a small representation size to a medium representation size and shrinks primary representation 810B from the medium representation size to the small representation size. In this way, the 4-to-1 layout maintains one small size representation, two medium size representations, and one large size representation.
As shown in fig. 8M, device 600 receives (e.g., detects) user input 850D (e.g., a double click) at the location of primary representation 810G on display 602. In some embodiments, as shown in fig. 8N, in response to receiving user input 850D, device 600 enlarges primary representation 810G and brings primary representation 810G to the foreground before other displayed primary representations. In addition to user representation 806, the background following enlarged primary representation 810G grays out.
As shown in fig. 8O, device 600 receives (e.g., detects) user input 850E (e.g., a tap) on cancel affordance 818. As shown in fig. 8P, in response to receiving user input 850E, device 600 reduces the size of primary representation 810G and returns the display to the 4-to-1 layout displayed prior to user input 850D, except that primary representation 810G occupies the large-size primary representation in place of primary representation 801F reduced to the medium representation size.
Turning to fig. 8Q, a sixth participant joins the real-time communication session. As shown in fig. 8Q, in response to the sixth participant joining the real-time communication session, and depending on the number of connected participants exceeding the predetermined threshold of five participants, the device 600 displays an overflow representation 822A of the sixth participant in the overflow area 820 and moves the user representation 806 to the overflow area 820, while the overflow representation 822A moves to the left of the user representation 806. As shown in FIG. 8Q, overflow representation 822A and user representation 806 are centrally aligned in overflow region 820. In some embodiments, the device 600 replaces the smallest primary representation (e.g., 810B) with the representation of the newly added participant (e.g., the sixth participant) and displays the overflow representation of the replaced participant in the overflow area 820 (e.g., the representation 810B is reduced in size and moved to the position of the overflow representation 822A in the overflow area 820). In some embodiments, in response to the sixth participant joining the real-time communication session, and depending on the number of connected participants exceeding a predetermined threshold of five participants, the device 600 displays an overflow representation of the currently joining participant or all participants (currently joining and invited) in an overflow area, as shown, for example, in fig. 8 AY.
As shown in FIG. 8Q, the overflow region 820 and the primary representation 810 do not overlap. In some embodiments, to make room for the overflow region, the device 600 reduces the size and/or vertically translates one or more of the primary representations. In some embodiments, the apparatus 600 reduces the size of the medium-sized primary representation and maintains the size of the small primary representation and the large primary representation. In some embodiments, the apparatus 600 reduces the vertical spacing and/or increases the vertical overlap between the primary representations.
As shown in fig. 8R, the seventh participant joined the real-time communication session. In response to the seventh participant joining the real-time communication session, the device 600 adds the overflow representation 822B of the seventh participant in the overflow region 820 to the left of the overflow representation 822A. As shown in FIG. 8R, overflow representation 822A and user representation 806 are moved to the right (compared to FIG. 8Q) such that overflow representations 822A and 822B and user representation 806 are centrally aligned in overflow region 820. In some embodiments, the overflow representation 822B of the seventh participant is added to the right side of the overflow representation 822A, between the overflow representation 822A and the user representation 806. In the embodiment shown in fig. 8AZ, in response to the seventh participant joining the real-time communication session, the device 600 replaces the minimum primary representation (e.g., 810H in fig. 8 AY) with the primary representation 810I and changes the overflow representation 822F corresponding to the participant Pablo from the placeholder to the real-time video stream.
As shown in fig. 8S, the eighth participant joins the real-time communication session. In response to the eighth participant joining the real-time communication session, the device 600 adds the overflow representation 822C of the eighth participant in the overflow region 820 to the left of the overflow representation 822B. As shown in fig. 8S, overflow representations 822A and 822B and user representation 806 are moved to the right (compared to fig. 8Q) such that overflow representations 822A, 822B, and 822C and user representation 806 are centrally aligned in overflow area 820.
As shown in fig. 8T, the ninth participant joined the real-time communication session. In response to the ninth participant joining the real-time communication session, the device 600 adds the overflow representation 822D of the ninth participant in the overflow region 820 to the left of the overflow representation 822C. As shown in FIG. 8T, overflow representations 822D, 822C, and 822B are fully displayed along with user representation 806. Overflow representation 822A is partially displayed with the right portion overlapping user representation 806. Overflow representation 822A is shaded (e.g., has a shading effect), where overflow representation 822A satisfies user representation 806. In the illustrated embodiment, the overflow representation 822 and the user representation 806 remain the same size as the seventh, eighth, and ninth participants that joined the real-time communication session. Fig. 8T shows device 600 displaying a combined notification 824 indicating that participants Mary, Mick, John, and Tom have joined the real-time communication (represented by overflow representations 822A, 822B, 822C, and 822D, respectively). In some embodiments, when additional participants (e.g., beyond the ninth participant) join the real-time communication session, the overflow representation of the newly joined participant is added to the left end of the existing overflow representation, while the existing overflow representation shifts right in the overflow area 820 to make room for the new overflow representation, and the user representation 806 remains fully displayed to the right of the overflow area 820 (e.g., the existing overflow representation is scrolled to the user representation 806 "below" the right). In some embodiments, the overflow representation of the newly joined participant is added to the right end of the existing overflow representation, with the user representation 806 remaining fully displayed to the right of the overflow region 820. In some embodiments, if the overflow area is fully occupied, the representation of the newly joining participant added to the right end of the existing overflow representation is not immediately displayed (e.g., the new overflow representation is displayed in response to scrolling the overflow representation to the left).
Turning to fig. 8U, the device 600 receives data indicating that a participant corresponding to the overflow representation 822B is actively engaged in a real-time communication session. In some embodiments, the device 600 replaces the primary representation with the representation of the actively participating participant in response to determining that the activity level of the actively participating participant has increased above the activity level of the participant represented by the primary representation. In the illustrated embodiment, in response to receiving data indicating that a participant corresponding to the overflow representation 822B is actively engaged in the real-time communication session, the device 600 replaces the minimum primary representation with a representation of the actively engaged participant and displays an overflow representation of the participant corresponding to the replaced primary representation. As shown in fig. 8U, primary representation 810B (the smallest primary representation) is shaded or begins to fade out; the overflow representation 822B of the active participant is shaded or begins to fade out and decrease in size; and when a new overflow representation 822E corresponding to a participant of primary representation 810B (the replaced primary representation) enters overflow region 820 from the left edge of display 602 to the left of overflow representation 822D, overflow representations 822C and 822D shift to the right. In some embodiments, primary representation 810B is slightly enlarged (e.g., to emphasize that it is being replaced). As shown in fig. 8V-8W, primary representation 810B is replaced by primary representation 810H of an actively participating participant; overflow representation 822B continues to shrink until it is removed; and overflow representations 822C and 822D continue to shift right until overflow representation 822E is fully displayed and overflow representation 822C occupies the position in overflow region 820 previously occupied by removed overflow representation 822B. In fig. 8U-8W, the overflow representation 822A and the user representation 806 remain in the same position.
In some embodiments, device 600 visually distinguishes user representation 806 in response to active participation by a user of device 600. In the embodiment shown in fig. 8AZ, device 600 displays a widened border around user representation 806 and highlights a name abbreviation bar at the bottom of user representation 806.
Turning to fig. 8X, the apparatus 600 is rotated from a portrait (vertical) orientation to a landscape (horizontal) orientation. As shown in fig. 8X, in response to the device 600 being rotated, the device 600 maintains representations in respective areas of the display 602 occupied prior to the rotation of the device 600 (e.g., the user representation and each of the primary representation and the overflow representation occupy the same area on the display 602 before and after the rotation of the device 600). The image within the representation is rotated so that the participant appears upright with respect to the landscape orientation. In some embodiments, device 600 displays an animated rotation of the primary representation or images within the primary representation (e.g., 90 degrees opposite the direction of rotation of device 600). In some embodiments where the overflow representation is not square, the video data of the participant is cropped and/or translated to include (e.g., center) the user's face in the corresponding overflow representation as the device 600 rotates. In some embodiments where the primary representations are not squares, the video data of the participants is cropped and/or translated to center the user's face in the respective primary representation as the device 600 rotates. In some embodiments, the video data of the participant is cropped to include the user's face (e.g., whether or not the device 600 is rotated, such as when the received video data has a different aspect ratio or format than the representation in which it is displayed).
As shown in fig. 8X, the participant corresponding to primary representation 810H begins active participation. In response, device 600 enlarges primary representation 810H and reduces the size of primary representation 810E, as shown in FIG. 8Y. In the embodiment shown in fig. 8 BA-8 BB, the device 600 visually distinguishes the overflow representation 822F (e.g., an emphasized abbreviated name bar) corresponding to an active participant.
In some embodiments, in response to a participant joining the real-time communication session, the device 600 replaces the existing primary representation with the primary representation of the newly joined participant and moves the replaced participant to the overflow area 820. In fig. 8Z, a participant Pablo joins the real-time communication session. In response, the device 600 replaces the smallest primary representation 810E (Stephen) with the primary representation 810I of the newly joined participant Pablo and displays an overflow representation 822F (Stephen) in the overflow area 820. To make room for the overflow representation 822F, the overflow representations 822A, 822C, 822D, and 822E are scrolled (e.g., upward according to the orientation of the device 600 shown in FIG. 8Z). As shown in FIG. 8Z, overflow representation 822A is no longer visible, and overflow representation 822C is partially hidden by user representation 806.
As shown in fig. 8AA, the device 600 is rotated from a landscape (horizontal) orientation to a portrait (vertical) orientation. In response, the device 600 rotates the images of the participants in the representations while maintaining the area on the display occupied by each representation (e.g., the device 600 reverses the performed rotation in response to the device rotating from a portrait orientation to a landscape orientation).
In fig. 8AB, the participant corresponding to primary representation 810G leaves (disconnects) the real-time communication session. Optionally, as shown in the embodiment illustrated in fig. 8BC, in response, the device 600 displays a notification 828 indicating that the participant has left the real-time communication session. Since the number of participants remains greater than five, the device 600 maintains a 4-to-1 layout with the display of overflow region 820. As shown in fig. 8AC, primary representation 810G is replaced with primary representation 810J of participant Stephen having the next highest activity level, and overflow representation 822F corresponding to participant Stephen is removed from overflow region 820. When overflow representation 822F is removed, the remaining overflow representations 822A, 822C, 822D, and 822E scroll to the left. In the embodiment shown in fig. 8BD, the overflow representation 822D of the participant Hoan is updated to display a reminder affordance indicating that the participant Hoan is unconnected and requesting the participant Hoan to rejoin.
In some embodiments, if the number of participants in the real-time communication decreases from six to five when the participants leave the real-time communication session, the device 600 stops displaying the overflow area 820 and, optionally, increases the size and/or vertical spacing of one or more of the primary representations.
In FIG. 8AC, the device 600 receives (e.g., detects) a user input 850F (e.g., a double click) corresponding to selection of the overflow representation 822E of the participant Allison. As shown in FIG. 8AD, in response to receiving user input 850F, device 600 displays an enlarged representation 830 of participant Allison before the 4-to-1 layout of the currently displayed primary representation 810. The display of enlarged representation 830 is similar to that of enlarged representation 810G in FIG. 8N, except that enlarged representation 830 is not presented in terms of the primary representation in a 4-for-1 layout.
As shown in fig. 8AD, device 600 receives (e.g., detects) a user input 850G (e.g., a tap) corresponding to selection of the close affordance 818. As shown in fig. 8 AE-8 AF, in response to receiving user input 850F, device 600 displays a primary representation 810K of participant Allison in place of primary representation 810J of participant Stephen (e.g., the participant with the lowest activity state in place of the participant with the current primary representation). Primary representation 810K includes (at least initially) a band (or sash) 842A along the bottom of the edge that includes the participant's name and an affordance for the enlarged representation (e.g., as shown in fig. 8 AD). Fig. 8AE through 8AF illustrate an exemplary animation of replacing primary representation 810J with primary representation 810K. The primary representation 810K is initially displayed at a small representation size (similar to the primary representation 810J in FIG. 8 AC) and then enlarged to a medium representation size, while the primary representation 810H is reduced from medium to small. The overflow representation 822E corresponding to participant Allison is reduced in size and/or faded out while the overflow representation 822F of the replaced participant is translated into the overflow area 820. In some embodiments, ceasing to display primary representation 810J and displaying primary representation 810K includes a crossfade from primary representation 810J to primary representation 810K and/or a tone for creating a "sparkle" effect. Fig. 8BE through 8BH illustrate embodiments that utilize a flashlight effect to remove the primary representation 810J.
In some embodiments, spill region 820 is scrollable. Referring to the embodiments illustrated in fig. 8BH through 8BI, the device 600 scrolls the overflow representation 822 in the overflow region 820 in response to active engagement by a participant without currently displaying or not fully displaying the corresponding overflow representation for that participant. As shown in FIG. 8BH, the overflow representation 822F (corresponding to primary representation 810I) of the participant is partially hidden in overflow area 820. In fig. 8BH, the participant corresponding to primary representation 810I is actively engaged in a real-time communication session. As shown in fig. 8BI, in response to receiving data indicating that a participant corresponding to the primary representation 810I is actively participating, the device 600 zooms in on the primary representation 810I, scrolls the overflow representation 822 such that the overflow representation 822F is fully displayed (e.g., near the middle of the displayed portion of the overflow area 820), and visually indicates the overflow representation 822F by highlighting the name abbreviation bar at the bottom of the overflow representation 822F.
Turning to fig. 8AG, device 600 detects contact 850H, which moves horizontally from right to left over overflow area 820 while maintaining contact with display 602. As shown in FIG. 8AH, in response to receiving contact 850H, device 600 scrolls overflow representation 822 to the left on display 602, such that overflow representation 822F partially moves out of the left edge of display 602 and overflow representation 822A no longer overlaps user representation 806. ISE, contact 850H, and overflow representation 822 move the same horizontal amount.
The primary representation 810 remains unchanged while the overflow area 820 is scrolled. Also, user representation 806 remains in overflow area 820.
In the embodiment shown in fig. 8BJ to 8BK, contact 850H starts at the left side of overflow region 820 and moves horizontally to the right. In response, the device 600 scrolls the overflow representation 822 to the right on the display 602. In fig. 8 BJ-8 BK, when device 600 reaches user representation 806, the device removes (e.g., no longer displays) the representation from display 602.
Turning to fig. 8AH, the device 600 receives (e.g., detects) a user input 850I (e.g., a tap) at a location on the display 602 where the primary representation 810 is not displayed. As shown in fig. 8AI, in response to receiving user input 850I, device 600 displays a call control menu 832 that includes a call affordance 834 (e.g., to leave a real-time communication session), an effect affordance 836, a menu affordance 838, and a process affordance 840.
As shown in fig. 8AI, the call control menu 832 does not overlap the overflow region 820 and the primary representation 810. To make room for the call control menu 832, the device 600 reduces the size and/or vertically pans one or more of the primary representations 810 (e.g., reduces the size of the canvas area 811) and moves the overflow area 820 upward on the display 602. In some embodiments, the apparatus 600 reduces the size of the medium-sized primary representation and maintains the size of the small primary representation and the large primary representation. In some embodiments, the apparatus 600 reduces the vertical spacing and/or increases the vertical overlap between the primary representations.
In response to receiving user input 850I, device 600 also displays bands 842A-842D on each primary representation. Bands 842A-842D include affordances corresponding to names and enlarged representations of participants (e.g., as shown in fig. 8O). In some embodiments, the vertical height of bands 842A-842D is the same as the amount of vertical overlap between the primary representations.
As shown in fig. 8AJ, device 600 receives (e.g., detects) a user input 850J (e.g., a tap) corresponding to selection of menu affordance 838. In some embodiments, user input 850J includes a swipe up (e.g., on process affordance 840) beginning at call control menu 832. As shown in fig. 8AK, in response to user input 850J, device 600 expands call control menu 832 to display additional information and controls related to the real-time communication session, similar to the additional information and controls described with respect to call control menu 630 in fig. 6H.
As shown in fig. 8AL, the device 600 receives (e.g., detects) a user input 850K (e.g., a tap) corresponding to selection of the effect affordance 836. As shown in fig. 8AM, in response to receiving user input 850K, device 600 displays a magnified image 843 of the user of device 600 from camera 603 and modifies call control menu 832. In the modified call control menu 832, the effect affordance 836 is highlighted and the effect option affordances 844A-844E are displayed. In fig. 8AN, device 600 receives (e.g., detects) a user input 850L (e.g., a tap) corresponding to selection of AN effects option affordance 844A. As shown in fig. 8AO, in response to receiving user input 850L, device 600 modifies call control menu 832 to include avatar option affordances 846A-846C. In fig. 8AO, device 600 receives (e.g., detects) user input 850M (e.g., a tap) corresponding to selection of avatar affordance 846C. As shown in fig. 8AP, in response to receiving user input 850M, device 600 displays effect 843A on the user's face in image 843 and scrolls call control menu 832 to center affordance 846C of the currently selected avatar in call control menu 832. In fig. 8AP, device 600 receives (e.g., detects) user input 850N (e.g., a tap) on cancel affordance 848. As shown in fig. 8AQ, in response to receiving user input 850N, device 600 returns call control menu 832 to the configuration of fig. 8AN, and maintains display of effect 843A on enlarged image 843. In fig. 8AQ, device 600 receives (e.g., detects) user input 850O (e.g., a tap) on display 602 outside of enlarged image 843 and call control menu 832. As shown in fig. 8AR, in response to receiving user input 850O, device 600 stops displaying enlarged image 843 and displays effect 843A on the image of the user in user representation 806. When effect 843A is activated, as in fig. 8AR, the real-time video stream of the user of device 600 includes effect 843A.
As shown in fig. 8AR, call control menu 832 includes media affordance 844E. Device 600 receives (e.g., detects) a user input 850P (e.g., a tap) corresponding to selection of media affordance 844E. AS shown in fig. 8AS, in response to receiving user input 850P, device 600 modifies call control menu 832 to include media option affordances 852A-852D. In fig. 8AS, device 600 receives (e.g., detects) a user input 850Q (e.g., a tap) corresponding to a selection of a media option affordance 852A (sketch). In response to receiving the user input 850Q, the device 600 displays a representation of media content associated with the media option affordance 852A in the canvas area 811.
As shown in FIG. 8AT, in response to receiving user input 850Q, device 600 replaces primary representation 810K (e.g., the smallest primary representation) with representation 810L of the selected media item. In fig. 8AT, device 600 receives (e.g., detects) a user input 850R (e.g., a swipe down on call control menu 832) corresponding to a request to dismiss call control menu 832. As shown in fig. 8AU, device 600 stops displaying call control menu 832 in response to receiving user input 850R.
In some embodiments, selecting the media option affordance 852A causes the associated media content to be shared with other participants of the real-time communication session (e.g., displayed in a canvas area on a display of another participant's device). In some embodiments, the participants of the real-time communication session may interact with the shared media content (e.g., via a sequence of one or more inputs in a user interface of the real-time communication application). FIG. 8AV illustrates an embodiment in which additional features 810L-1 have been added to the media content representing 810L. In some embodiments, device 600 enlarges representation 801L in response to a participant's interaction with the media content with which representation 801L is associated (e.g., similar to the manner in which the primary representation is enlarged and then selected or the manner in which the participant corresponding to the representation actively participates). As shown in fig. 8AV, the representation 810L is enlarged (compared to fig. 8 AT) in response to the participant's interaction with the associated media content. Fig. 8AV also shows a representation 810M of other content (e.g., a game between two participants) shared in the real-time communication session.
Fig. 9A-9K are flow diagrams illustrating methods according to some embodiments. The method 900 is performed at a device (e.g., 100, 300, 500, 600) having a display. Some operations in method 900 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
As described below, the method 900 provides, among other things, an intuitive way to provide an adaptive and intelligent real-time communication user interface. Moreover, method 900 provides, among other things, an intuitive way for a user to interact with a real-time communication user interface. The method reduces the cognitive burden of the user by providing an adaptive and intelligent real-time communication interface based on the number of participants in the real-time communication, thereby creating a more efficient human-machine interface. For battery-powered computing devices, a user is enabled to view a real-time communication user interface more quickly and efficiently based on a predetermined number of participants in the real-time communication, saving power and increasing the interval between battery charges.
At block 901, a device receives a request (e.g., 850A) to display a user interface for a real-time communication session between two or more participants.
At block 902, in response to receiving a request to display a user interface for a real-time communication session between two or more participants, the device displays the real-time communication user interface (e.g., 804), including simultaneously displaying multiple representations of participants in the real-time communication session (e.g., 810A-810D), wherein displaying the multiple representations of participants in the real-time communication session includes blocks 902 and 903. In some embodiments, the real-time communication session user interface includes a placeholder (e.g., 810A of FIG. 8C) (e.g., a graphical placeholder (e.g., an image or virtual avatar), a text placeholder (e.g., a name or name abbreviation)) associated with a first participant that has been invited to join the real-time communication session but has not yet joined the real-time communication session (e.g., a participant other than a user of the electronic device; a participant that has yet to join the communication session and has been sent an invitation to join the communication session). In some embodiments, if the participants are sharing a real-time media stream that includes a real-time video stream, the representation includes an image of the real-time video stream (e.g., 810B of fig. 8D). In some embodiments, if the participants are sharing the real-time media stream in audio only, the representation includes an avatar of the respective participant (e.g., 810E of fig. 8I). In some embodiments, the plurality of representations of the participants in the real-time communication session include a user communication state selected from an audio-only state (e.g., the participants communicate using audio only), a video state (e.g., the participants talk using video and audio), a video pause state (e.g., the participants' video pause), a video undecoded state (e.g., the participants video stream cannot be processed due to latency issues, issues with video stream format, etc.), a away state (e.g., the participants have left the real-time communication session), and a wait-to-join state (e.g., the participants are invited to join the real-time communication session but have not joined the real-time communication).
At block 903, in accordance with a determination that the number of participants in the real-time communication session includes a number of participants greater than a threshold, the device simultaneously displays representations (e.g., 810A-810D) of a first plurality of participants other than a user of the electronic device in one or more sizes greater than a respective threshold size, while displaying representations (e.g., 822) of a second plurality of participants in an overflow area (e.g., 820), wherein the second plurality of participants includes one or more participants not included in the first plurality of participants and the representations of the one or more other participants displayed in the overflow area are displayed in a size less than the respective threshold size. In some embodiments, the currently active participant (e.g., 810E of fig. 8J) (e.g., the most active participant, the participant who speaks or moves in a manner that satisfies the active participant criteria set) is displayed as part of the first plurality of participants. In some embodiments, the currently active participant is displayed in a primary area (e.g., 811) of the user interface (e.g., the area where the first plurality of participants is displayed). In some embodiments, if a participant not currently displayed in the primary area (e.g., a participant corresponding to 822B of fig. 8U) becomes the currently active participant, a representation of that participant is displayed in the primary area (e.g., 810H of fig. 8V). In some embodiments, the representations of the first plurality of participants (e.g., 810) are displayed in two or more different sizes (e.g., where the more active participant or the more recently active participant is displayed in a larger size than the less active participant or the more recently active participant), and the representations of the second plurality of participants in the overflow area (e.g., 822) are displayed in the same size.
In some embodiments, the overflow region (e.g., 820) further includes representations (e.g., 810A-810D) of the first plurality of participants (e.g., representations of participants displayed in the primary region of the user interface are also displayed in the overflow region) (e.g., fig. 8 AX). In some embodiments, the overflow area (e.g., 820) also includes a placeholder representation (e.g., 822A in AW of fig. 8) of an invitee to the real-time communication session that is not currently connected to the real-time communication session (e.g., avatar, name abbreviation). Displaying representations of participants differently based on whether a prescribed condition is satisfied (e.g., based on whether the real-time communication session includes more than a number of participants) allows a user to more easily or efficiently view the representations of participants in the real-time communication session. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at blocks 904 and 905, the device updates the display (e.g., the arrangement, location, size, positioning, visual indication, visual content, and/or video feed of the representation) of the first plurality of participants (e.g., 810A-810D) at a first rate (e.g., the representation of the first plurality of participants is a real-time video feed updated at a frame rate equal to or greater than a typical video refresh rate, such as 24, 30, or 60 frames per second), and updates the display (e.g., the arrangement, location, size, positioning, visual indication, visual content of the representation, and/or video feed of the representation) of the second plurality of participants (e.g., 822) in the overflow area at a second rate, wherein the second rate is lower than the first rate. (e.g., the thumbnails in the overflow area are updated over time, but at a rate that is less than the video refresh rate of the representations of the multiple participants in the canvas area 811, such as 1, 5, or 10 frames per second). Updating the display of the representation groups at different rates allows the device to provide feedback to the user regarding the current state of the representations in real-time communication, while retaining processing power to provide one group of representations at a faster rate than another group of representations, thereby proving that the user is able to view the higher priority group of representations at a higher rate. Providing the user with improved visual 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 error in 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 efficiently.
Optionally, at block 906, the device displays a representation (e.g., 806) of a view (e.g., a self-viewing camera view) of a camera of the electronic device in the overflow area (e.g., 822) while displaying representations (e.g., 822) of the second plurality of participants in the overflow area (e.g., 820). Displaying a representation of a view of a camera of an electronic device provides visual feedback to a user regarding a current view state of the user camera (e.g., content displayed by the user to other participants in a real-time communication session). Providing the user with improved visual 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 error in 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 efficiently.
Optionally, at blocks 907, 908, 909, and 910, the device detects an input (e.g., 850H) (e.g., a horizontal finger drag) corresponding to the overflow area. In response to detecting the input corresponding to the overflow area, the device scrolls the overflow area (e.g., scrolls the representations of the second plurality of participants in the first direction in accordance with the input) to cease displaying (e.g., hiding) the subset of the representations of the second plurality of participants (e.g., 822G and 822H in fig. 8 BJ-8 BK). While scrolling the overflow area, the device maintains a display (e.g., fig. 8 BJ-8 BK) of a representation (e.g., 806) of a view of a camera of the electronic device in the overflow area. In some embodiments, scrolling the overflow area includes displaying an animation of one or more representations of the second plurality of participants that appears to scroll under the representation of the view of the camera of the device. Maintaining the display of the view representation of the camera of the electronic device while scrolling through the overflow area provides the user with continuous feedback regarding the current view state of the camera of the electronic device (e.g., what the user displays to other participants in the real-time communication session) while also allowing the user to be able to scroll through the representations of the participants in the overflow area. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at blocks 911, 912, and 913, an input (e.g., 850F) corresponding to selection of a representation (e.g., 822E of fig. 8 AC) in the plurality of representations of the second plurality of participants in the spillover region is detected (e.g., a tap gesture corresponding to the representation in the spillover region 820 or a gesture having a characteristic intensity that exceeds an intensity threshold corresponding to the representation in the spillover region 820). In response to detecting an input corresponding to selection of a representation of the plurality of representations of the second plurality of participants in the overflow area, the device replaces display of the representation of the plurality of representations of the first plurality of participants (e.g., 810J in fig. 8 AC) (e.g., replaces the most recently active participant in the primary display) with a representation of the participant corresponding to the selected representation in the overflow area (e.g., 810K in fig. 8 AE). In some embodiments, replacing the display of the representations of the plurality of representations of the first plurality of participants with the representation of the participant corresponding to the selected representation in the overflow area includes ceasing to display the selected representation of the representations of the second plurality of participants in the overflow area. In some embodiments, ceasing to display the selected representation in the overflow region includes an animation of the selected representation shrinking. In some embodiments, other representations in the overflow area are translated to fill the gap in which the selected representation is displayed. In some embodiments, replacing the display of the representation of the plurality of representations of the first plurality of participants with the representation of the participant corresponding to the selected representation in the overflow area includes displaying the representation of the participant corresponding to the selected representation at a first size and then enlarging the representation of the participant corresponding to the selected representation to a second size larger than the first size. In some embodiments, the representation of the selected participant replaces the smallest representation in the canvas area (corresponding to the participant with the lowest activity level in the canvas area) and then automatically increases in size (e.g., to a medium representation size) while the other representation (corresponding to the participant with the second lowest activity level in the canvas area) decreases in size (e.g., to a small representation size).
Replacing the display of the representation corresponding to the selected representation in the overflow area and/or ceasing to display the selected representation in the overflow area provides additional control options without cluttering the UI and provides the user with more control over the device and displays the representation by helping the user quickly replace the representation with the user's selected presentation. Providing additional control over the device without cluttering the UI with additional displayed controls enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at block 914, the device displays a first animation effect (e.g., fig. 8 AA-8 AC) (e.g., the representation becomes larger and then smaller, optionally with a crossfade and tone for creating a "flash" effect), thereby affecting the representation in the representation of the first plurality of participants. Optionally, at block 915, the device displays a second animation effect affecting the selected one of the representations of the second plurality of participants, the second animation effect sharing animation features (e.g., fig. 8 BF-8 BH) with the first animation effect (e.g., the rate of fading/shrinking from the primary display may correspond to the rate of flashing in the overflow display). Displaying a second animation corresponding to the first animation provides visual feedback to quickly identify which representations are being switched and/or replaced. Providing the user with improved visual 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 error in 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 efficiently.
Optionally, at block 916, further in response to detecting the input (e.g., 850H) corresponding to the overflow area, the device displays a new (e.g., previously hidden) representation (e.g., 822A in fig. 8 AG-8 AH) of the second plurality of participants in the overflow area. Displaying the new representations of the participants in the overflow area in response to the input allows the user to more easily and efficiently view the representations by increasing the accessibility of the displayed representations. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at block 917, in response to receiving the data indicating that the new participant has joined or has been added to the real-time communication session, the device displays a representation of the new participant in the overflow region (e.g., 822B in fig. 8R) at the end of the series of representations of the second plurality of participants in the overflow region.
Optionally, at blocks 918, 919, 920, and 921, the device receives second data related to an activity (e.g., speaking, moving) level of a first participant in the second plurality of participants. In response to receiving the second data, the device emphasizes (e.g., increases or initiates) visual features of the representation (e.g., size, highlighting the representation (e.g., display a border), animation (e.g., pulse avatar), pre-positioning the image) corresponding to the representation of the first participant in the plurality of representations of the second plurality of participants in the overflow region according to the increase in activity level of the first participant in the second plurality of participants (e.g., 822B of fig. 8U). In response to receiving the second data, the device de-emphasizes (e.g., increases or initiates) visual features of the representation (e.g., size, highlighting the representation (e.g., display a border), animation (e.g., pulse avatar), pre-positioning the image) that correspond to the first participant in the representation of the second plurality of participants in the overflow region according to the decrease in the activity level of the first participant in the second plurality of participants. Highlighting and/or deemphasizing the visual indication when a prescribed condition is met allows a user to quickly identify an activity level of a participant (including the most active and/or least active participant). Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently. Further, the emphasis and/or de-emphasis provides the user with visual feedback indicating the activity level of each participant when the prescribed conditions are met. Providing the user with improved visual 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 error in 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 efficiently.
Optionally, at blocks 922 and 923, while displaying the real-time communication user interface, the device detects a second participant of the second plurality of participants as the currently active participant (e.g., the most active participant, the participant who is speaking or moving in a manner that satisfies the active participant criteria set). In response to detecting that the second participant of the second plurality of participants becomes the currently active participant and in accordance with a determination that the representation of the second participant of the second plurality of participants is not currently displayed in the overflow area, the device scrolls the overflow area to display the representation of the second participant of the second plurality of participants in the overflow area (e.g., 822F of fig. 8BH through 8 BI). Dynamically scrolling the overflow area to display the active participant in the overflow area allows a representation of the active participant to be viewed in the overflow area without selecting any 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 suitable inputs and reducing user error in 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 efficiently.
At block 924, in accordance with a determination that the number of participants in the real-time communication session includes a number of participants less than or equal to the threshold, the device displays representations of the participants other than the user of the electronic device in one or more sizes greater than the respective threshold size and does not display representations of the participants other than the user of the electronic device in one or more sizes less than or equal to the respective threshold size (e.g., fig. 8P). In some embodiments, an electronic device receives (e.g., prior to displaying a user interface for a real-time communication session) a plurality of real-time media streams associated with respective ones of a plurality of participants of a real-time video communication session. In some embodiments, the number of received real-time media streams corresponds to the number of participants currently participating in the real-time video communication session, excluding participants using the device. Displaying representations of participants differently based on whether a prescribed condition is satisfied (e.g., based on whether the real-time communication session includes less than or equal to the number of participant display representations without overflow regions) allows a user to more easily or efficiently view representations of participants in the real-time communication session. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
In some embodiments, in accordance with a determination that the number of participants in the real-time communication session includes a number of participants less than the second threshold, none of the plurality of representations of the remote participants (e.g., participants other than the user) overlap with one another (e.g., fig. 8J). In some embodiments, in accordance with a determination that the number of participants in the real-time communication session includes a number of participants greater than or equal to a second threshold, at least some of the plurality of representations of remote participants (e.g., participants other than the user) overlap with one another (e.g., fig. 8K).
Optionally, at blocks 925 and 926, in accordance with a determination that the number of participants in the real-time communication session includes a number of participants less than a second threshold (e.g., two participants, including a user of the electronic device (e.g., one other participant)), the device displays at least one of the representations of the participants other than the user of the device at a first aspect ratio (e.g., a rectangular aspect ratio) (e.g., 810B of fig. 8H). In accordance with a determination that the number of participants in the real-time communication session includes a number of participants (e.g., three or more participants) that is greater than a second threshold, the device displays at least one of the representations of the participants other than the user of the device (e.g., 810B of fig. 8I) at a second aspect ratio (e.g., a square aspect ratio) that is different from the first aspect ratio. The device is allowed to provide an intelligent real-time communication user interface by maximizing the size of the representation and/or the organization of the representation to provide a better user experience based on the number of participants, allowing the user to more easily and efficiently view the representation on the device, based on meeting specified conditions to display the representation of the participants at different aspect ratios based on the number of participants in the real-time communication session. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at blocks 927 and 928, in accordance with a determination that the number of participants in the real-time communication session includes a number of participants (e.g., two participants) that is less than a second threshold, the device displays a representation (e.g., 806 of fig. 8H) of a view of a camera of the device (e.g., a self view from the camera of the device) at a third aspect ratio (e.g., a rectangular aspect ratio). In accordance with a determination that the number of participants in the real-time communication session includes a number of participants (e.g., three or more participants) that is greater than or equal to the second threshold, the device displays a representation (e.g., 806 of fig. 8J) of a view of a camera of the device (e.g., a self view from the camera of the device) at a fourth aspect ratio (e.g., a square aspect ratio) that is different from the third aspect ratio. Based on satisfying a prescribed condition to display views of a camera of a device at different aspect ratios based on a number of participants in a real-time communication session, a device is allowed to provide a smart real-time communication user interface to a user by maximizing a size of a representation of the view of the camera and allowing the user to more easily and efficiently view the representation on the device. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at blocks 929 and 930, the device displays a representation of the participants in a first layout (e.g., arrangement or pattern) according to the number of participants in the real-time communication session being a first number of participants (e.g., fig. 8J). In some embodiments, the first layout is one of a plurality of predefined layouts, wherein the representation of the user is anchored at a different location in the user interface (e.g., a randomly selected layout). In some embodiments, a layout (e.g., arrangement) of representations of a first plurality of participants (e.g., other than a user of a device) is determined based on a number of participants in the real-time communication session. The device displays a representation of the participants in a second layout different from the first layout (e.g., fig. 8K) according to the number of participants in the real-time communication session being the second number of participants (e.g., the layout changes as participants join/leave the real-time communication session). In some embodiments, the first layout and the second layout are in a series of predetermined layouts having similar relative placement of the representations of the user. (e.g., a series of predetermined layouts including layouts that fit together well). In some embodiments, the series of predetermined layouts includes layout members for a plurality of possible participant numbers (e.g., a first member for one non-device user participant (e.g., a layout above 1), a second member for two non-device user participants (e.g., a layout above 2), etc. in some embodiments, the electronic device includes a plurality of series of predetermined layouts, wherein the members of each series share a common characteristic). Displaying representations having similar relative placements of user representations in different layouts based on the number of users allows users to more easily and efficiently view the representations with increased visibility. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at blocks 931, 932, 923 and 934, the device receives data indicating that the number of participants in the real-time communication session has increased while displaying a representation of the participants other than a user of the device. In response to receiving data indicating that the number of participants in the real-time communication session has increased, the device decreases the size of one or more representations of the participants other than the user of the device (e.g., fig. 8J-8K). In response to receiving data indicating that the number of participants in the real-time communication session has increased, the device displays one or more representations (e.g., fig. 8J-8K) of new participants in the real-time communication session (e.g., participants that have recently joined the group just prior to the original display).
Reducing the size of the one or more representations and displaying the new representation provides feedback to the user regarding the current state of the real-time communication session and provides visual feedback to the user indicating that the new participant has joined the real-time communication. Providing the user with improved visual 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 error in 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 efficiently.
Optionally, at blocks 935 and 936, the device receives an input (e.g., 850B) corresponding to selection of the first reminder affordance (e.g., 808). In response to receiving an input corresponding to selection of the first reminder affordance, the device sends a new notification (e.g., a call, ring, etc.) to the first participant that is different from a previous notification sent to the first participant (e.g., the second notification is more intrusive than the first notification). Sending a notification to a first participant in response to receiving an input corresponding to a selection of a reminder affordance different from a previous notification sent to the participant reduces the number of inputs required to perform an operation. Reducing the number of inputs required to perform an operation (e.g., the number of options required for a user to alert a participant) enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping a user provide suitable inputs and reducing user error in operating/interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling a user to use the device more quickly and efficiently. Further, automatically performing an operation, such as sending a notification different from the first notification without further user input, 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 error in 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 efficiently.
In embodiments where the placeholders and representations of the first plurality of participants are arranged in the first layout, optionally at blocks 937, 938, and 939, the device stops displaying the placeholders (e.g., fig. 8E and 8F) in accordance with a determination that the first participant has not joined the real-time communication session for a predetermined amount of time (e.g., has not joined the real-time communication after a predetermined period of time). Further, in accordance with a determination that the first participant has not joined the real-time communication session for a predetermined amount of time, the device changes the arrangement of the representations of the first plurality of participants to a second layout different from the first layout (e.g., including zooming in and/or moving one or more representations of the participants (e.g., a display layout in which the first participant is not included in the layout)). In some embodiments, the device receives data from the server or another device to determine that the first participant has not joined the real-time communication session for a predetermined amount of time. In some embodiments, the device may determine that the first participant has not joined the real-time communication session for a predetermined amount of time because it is not displaying any representation of the user. Ceasing to display placeholders and changing the arrangement of representations when prescribed conditions are met allows a user to quickly identify when other users join or do not join a call while maximizing the visibility of displayed participants and/or placeholders. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently. Further, ceasing to display the placeholders and changing the arrangement of the display provides feedback to the user regarding the current state of the real-time communication session and provides visual feedback to the user indicating that certain operations associated with the notification and/or the real-time communication session are to be performed. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at block 940, in accordance with a determination that the first participant has joined the real-time communication session, the device modifies the display of the first placeholder (e.g., the placeholder may have a participant name) with a representation of the first participant (e.g., 810B of fig. 8C-8D). In some embodiments, the device may receive data from the server or another device to make this determination. In some embodiments, the device may make this determination because it does not display any representation of the user. In some embodiments, animation occurs. Modifying the display of the first placeholder with the representation of the participant allows the user to quickly identify which users have joined the call, provide feedback to the user regarding the current state of the real-time communication session, and provide visual feedback to the user indicating that certain operations associated with the notification and/or the real-time communication session are to be performed. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at blocks 941 and 942, the device detects a change in the number of participants in the real-time communication session as multiple representations of the participants in the real-time communication session are displayed. In response to detecting a change in the number of participants in the real-time communication session, a notification is displayed (e.g., 812) indicating that the number of participants in the real-time communication session has changed. In some embodiments, when a participant leaves the real-time communication session, the notification is an animation that the representation of the leaving participant is replaced with a placeholder graphic (e.g., a graphic including the participant's name or name abbreviation) that subsequently disappears (e.g., after a predetermined time). In some embodiments, when a new participant joins the real-time communication session, the notification is a display of a placeholder (e.g., a graphic including a participant name or name abbreviation) for the new participant that is subsequently (e.g., after a predetermined time) replaced with a representation of the new participant (e.g., a representation based on video data transmitted from the device of the new participant). In some embodiments, in accordance with a determination that the number of participants participating in the real-time communication session exceeds a threshold number of participants (e.g., when the overflow area includes more than a predefined maximum number of representations (e.g., 3 or 4 representations other than a user of the electronic device)), a notification is displayed indicating that the number of participants in the real-time communication session has changed. In some embodiments, the device forgoes displaying a notification that the number of participants in the real-time communication session has changed (e.g., does not display a notification when there is another visual indication that a participant has joined or left the real-time communication session, such as a display that displays a representation of a newly joined participant or removes a representation of a participant that has left the session). In some embodiments, the device provides an audio output without displaying a notification indicating that the number of participants in the real-time communication session has changed (e.g., when no visual indication has been made that a participant has joined or left the real-time communication session). In some embodiments, the notification includes an indication (e.g., a name) of a participant that has joined or left the real-time communication session. In some embodiments, if multiple participants join and/or leave the real-time communication session within a threshold amount of time, the device generates a single notification indicating the number of participants that joined and/or left the real-time communication session within the threshold amount of time. In some embodiments, participants joining the real-time communication session and participants leaving the real-time communication session are each combined into separate notifications. In some embodiments, when a participant leaves or joins the real-time communication session, the device delays displaying the notification until a threshold amount of time has elapsed in order to determine whether the notification should include information about other participants joining and/or leaving the real-time communication session. Displaying a notification indicating that the number of participants in the real-time communication session has changed provides feedback to the user regarding the current status of the number of participants in the real-time communication and provides visual feedback to the user indicating that the number of participants in the real-time communication session has changed. Providing the user with improved visual 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 error in 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 efficiently.
Optionally, at blocks 943, 944, 945, and 946, the device displays a representation (e.g., 806 of fig. 8 AH) of a view (e.g., a self view) of a camera of the device at a first size as part of a plurality of representations of participants in the real-time communication session. In displaying multiple representations of participants in a real-time communication session, a device receives a first input (e.g., 850I) corresponding to a selection for displaying a first menu (e.g., 832) (e.g., triggered based on a single tap or swipe-up on a background). In response to receiving an input corresponding to a selection to display a first menu, the device displays a first menu (e.g., call control menu 832) in a real-time communication user interface (e.g., 804), wherein the first menu includes an option (e.g., 836) to display a visual effect (e.g., creative camera) on a representation of a participant in the real-time communication session. In some embodiments, the menu includes other options, such as for ending the call to switch cameras (e.g., front camera to back camera). In response to receiving a second input (e.g., 850K) corresponding to selection of the option to display the visual effect (e.g., 842), the device displays a representation (e.g., a representation of the overlay participant) of a view of a camera of the device in a second size (e.g., 842), wherein the second size is greater than the first size.
Optionally, at blocks 947, 948, and 949, the device receives a third input (e.g., 850C) (e.g., a double click on a representation in the primary region or an input having a characteristic intensity that exceeds an intensity threshold) corresponding to a selection of a first representation (e.g., 810F of fig. 8L) of the plurality of representations for zooming in on the participant in the real-time communication session. In response to receiving a third input corresponding to a selection to zoom in on a first representation of the plurality of representations of participants in the real-time communication session, the device zooms in on the first representation (e.g., 810F of fig. 8M). The device reduces a size of at least one of the plurality of representations of the participant in the real-time communication user interface that is different from the first representation (e.g., 810E of fig. 8L-8M). Dynamically reducing the size of one or more representations in a set of displayed representations and zooming in on the selected representation provides improved feedback that allows a user to focus on and easily view the zoomed in representation while minimizing the reduced representation. Providing the user with improved visual 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 error in 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 efficiently.
Optionally, at blocks 950, 951, 952, and 953, the device receives data indicative of a change in orientation of the electronic device (e.g., a change in a first direction (e.g., a 90 degree clock)). In response to receiving the data indicative of the change in orientation of the electronic device, the device rotates the display of the plurality of representations of the participants in the real-time communication session (e.g., fig. 8W-8X) (e.g., in a second direction (e.g., opposite the first direction to maintain the image upright)). The device maintains previously displayed relative attributes (e.g., size of another display, location, arrangement of user interface objects (e.g., representations), etc.) of multiple representations of participants in the real-time communication session while rotating the display. Automatically rotating the device and maintaining the relative attributes of the previously displayed representations (e.g., data indicating that the user is rotating the device) when certain conditions are met allows the user to view the rotated representations in the same previously displayed position without changing the arrangement, size, or position of the representations with minimal visual interference. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at block 954, in response to receiving the first data indicating a change in orientation of the electronic device (e.g., from portrait orientation to landscape orientation), the device changes display of the first representation of the plurality of representations of the participant in the real-time communication session based on a location of a face in the first representation (e.g., 822C of fig. 8 AZ-8 BA) such that the face of the participant is centered in the representation when moving from the portrait representation (where the face of the participant may be biased toward the top of the representation) to the landscape representation (e.g., if the representation is not square).
Optionally, at blocks 955 and 956, while displaying the second representation of the plurality of representations of the participant, the device receives a request to change an aspect ratio of at least one representation of the plurality of representations of the participant in the real-time communication session. In response to receiving a request to change an aspect ratio of at least one of the plurality of representations of the participant in the real-time communication session, the device changes an aspect ratio of a second representation from a sixth aspect ratio to a seventh aspect ratio (e.g., a square or circular aspect ratio), wherein the second representation simultaneously includes a second portion (e.g., a portion smaller than the first portion, a cropped portion) of the real-time media stream received by the electronic device at the seventh aspect ratio, the second portion selected to include a face detected in the real-time media stream (e.g., 822C of fig. 8 AZ-8 BA). In some embodiments, the electronic device changes an aspect ratio of the representation based on the real-time video feed and crops a portion of the real-time video feed by selecting a portion of the real-time video feed that includes the detected face so that the detected face is not cropped out of the representation. Maintaining a view of the faces in the representation of the participant provides feedback to the user, allowing the user to view the faces of other participants as the aspect ratio is changed. Providing the user with improved visual 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 error in 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 efficiently.
Optionally, at blocks 957, 958, 959, 960, and 961, when displaying the plurality of representations of the participants in the real-time communication session, the device receives a fourth input (e.g., 850I) corresponding to the request to display the menu (e.g., 832) (e.g., triggered based on a single tap or swipe up on the background). In response to receiving the fourth input, the device displays a menu (e.g., 832) in the user interface for the real-time communication session. The device moves at least a third representation (e.g., 810H of fig. 8 AI) of the plurality of representations of the participants in the real-time communication session (e.g., to accommodate the menu; to avoid overlapping the menu). The device changes a size (e.g., to accommodate the menu; to avoid overlapping with the menu) of at least a fourth representation (e.g., the same representation as the third representation; a representation different from the third representation) of the plurality of representations of the participant in the real-time communication session (e.g., 810F of fig. 8 AI). In some embodiments, when the menu is displayed at the bottom of the screen, the representation is moved up and resized. In some embodiments, the size of at least one of the plurality of representations is not adjusted when the menu is displayed. In some embodiments, the representation is a representation having three predefined image sizes (e.g., 1 "small", 2 "medium", and 1 "large"), and only one size of the representation (e.g., the "medium" image) is resized while keeping the "small" and "large" representations the same size. Moving one or more representations and changing the size of one or more representations in the real-time communication session provides additional control options while maintaining visibility of the representations in the real-time communication user interface when the menu is displayed. Providing additional control options without cluttering the real-time communication user interface with the additional displayed controls 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 error in 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 efficiently.
In some embodiments, the device receives data indicating that the activity level of a first participant in the second plurality of participants represented in the overflow area increased above the activity level of the participant corresponding to the first representation in the plurality of representations of the first plurality of participants (e.g., the participant represented in the overflow area started talking such that his activity level increased above the activity level of one of the participants represented in the canvas area), and in response: replacing the display of the first representation of the plurality of representations of the first plurality of participants with the representation of the first participant of the second plurality of participants (e.g., replacing the participant in the canvas area having the lowest activity level with the representation of the speaking participant); and ceases to display the representation of the first participant in the overflow area. In some embodiments, ceasing to display the representation of the first participant in the overflow area includes presenting an animation that shrinks. In some embodiments, other representations in the overflow area are translated to fill gaps in the display representation. In some embodiments, replacing the display of the first representation of the plurality of representations of the first plurality of participants includes displaying a representation of a participant corresponding to the replaced first representation in the overflow area.
In some embodiments, the device receives an input corresponding to a request to display a menu when displaying a plurality of representations of participants in a real-time communication session. In response to receiving an input corresponding to a request to display a menu, the device displays the menu in the real-time communication user interface, wherein the menu includes options for selecting a content item (e.g., game, video, sketch). In some embodiments, the device receives an input corresponding to a selection of a content item, and in response to receiving the input corresponding to the selection of the content item, the device replaces a representation of a participant (e.g., a representation of a participant in a canvas area) displayed at a size greater than a respective threshold size with a representation of the content item having a size greater than the respective threshold size (e.g., the content item is displayed in a location in the canvas area).
In some embodiments, displaying the representations of the second plurality of participants in the overflow area comprises: in accordance with a determination that a first number of participants (e.g., a total of 6 participants) are participating in the real-time communication session, displaying a first set of representations (e.g., two representations including a representation of a least active participant and a representation of a view of a camera of the device) in an overflow area; and in accordance with a determination that a second number of participants (e.g., a total of 7 participants) different from the first number of participants are participating in the real-time communication session, displaying a second set of representations (e.g., three representations including representations of the two least active participants and a representation of a view of a camera of the device) different from the first set of representations in the overflow area, wherein the second set of representations includes a different number of representations than the first set of representations.
Note that the details of the processes described above with respect to method 900 (e.g., fig. 9A-9K) may also be applied in a similar manner to the methods described below/above. For example, method 900 optionally includes one or more features of the various methods described above with reference to methods 700, 1100, 1300, and 1500.
Fig. 10A-10S illustrate exemplary techniques for dynamically adjusting a user interface for, among other things, a real-time communication session, according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in fig. 11A through 11F.
Fig. 10A illustrates a device 600 that displays a user interface 1000 for an active real-time communication session. The user interface 1000 includes representations of five participants in the real-time communication session displayed in the canvas area 1001. Representation 1010A includes placeholders for participants not connected to the real-time communication session. Representation 1010B includes a representative image of a participant who only provides audio data. Representations 1010C and 1010D include real-time video feeds from two respective participants. Representation 1002 includes a view from camera 603 of device 600.
Each participant has an activity level for determining the layout of the user interface 1000. In some embodiments, the activity level of the participant is based on audio and/or video feeds (e.g., actions or sounds in the video feeds) received from the participant's device. In some implementations, the activity level of the participant is based on filtered audio of the audio feed received from the participant's device (e.g., audio that has background noise filtered out or filtered to isolate/amplify voice audio). In some embodiments, the activity level of the participant is based on movement identified in a video feed received from the participant's device that satisfies a set of movement criteria (e.g., some type of movement (e.g., hand movement, head/face movement, movement that is not background movement (e.g., non-participant movement)).
In some embodiments, the activity level of the participant is based on data indicative of activity detected at the first participant's device (e.g., data indicative of the first participant performing a user interface action at the participant's device (e.g., selection of an attention affordance or a visual effect affordance)). In some embodiments, the activity level is determined at an external electronic device (e.g., a server) and then transmitted to the device 600.
As shown in fig. 10A, the activity levels of the participants of the real-time communication session are, in the following order of representation, from highest to lowest: representation 1010C, representation 1010D, representation 1010B, and representation 1010A. The tables shown on the right side of fig. 10A-10O list the participants in descending order of activity level from high to low, with the participant at the top of list (1) having the highest activity level and the person at the bottom of list (4) having the lowest activity level of the participants represented in canvas area 1001. In fig. 10A through 10O, the representation corresponding to the participant having the highest activity level is the largest representation in the canvas area 1001, and the representation corresponding to the participant having the lowest activity level of the participants represented in the canvas area 1001 is the smallest. In fig. 10A-10O, the representations corresponding to the participants having the second and third high activity levels have a size between the size of the representation of the participant having the highest activity level and the size of the representation of the participant having the lowest activity level of the participants represented in the canvas area 1001.
In some embodiments, the activity level of a participant varies relative to other participants. Upon displaying the user interface 1000, the device 600 receives data indicating that the activity level corresponding to the participant Stephen at representation 1010B has increased above the activity level of the participant Nicholas at representation 1010D. As shown in FIG. 10B, the activity level of representation 1010B increased above the activity level of representation 1010D, but did not change in size because it had the second to highest activity level. In fig. 10B, participant Stephen continues to speak and becomes the participant with the highest activity level. In response, the size of representation 1010B increases, the size of representation 1010C decreases, and representation 1010A shifts to the right (e.g., to avoid excessive overlap with representation 1010B due to the increase in size of representation 1002B), as shown in FIG. 10C. In some embodiments, device 600 changes the size and/or position of three or more representations on user interface 1000.
As shown in fig. 10C, representations 1010A-1010D overlap one another. In some embodiments, one or more of the representations 1010A-1010D are reduced in size and/or moved as the size is increased to avoid obscuring the face of the participant and/or to avoid creating an overlap that exceeds a predefined maximum overlap. In some embodiments, the context (also referred to as "z-order") of representations 1010A-1010D does not change when the representation increases in size (e.g., when a participant is actively engaged). In some embodiments, the representation 1010 changes the order of one or more representations (e.g., moves from back to front or from front to back) as the size is changed (e.g., due to active participation by a corresponding participant or user input selecting the representation at the device 600 (e.g., in response to user input 850C described above in fig. 8M). For example, in some embodiments, representation 1010B moves before representation 1010C and/or representation 1010A when increasing in size in fig. 10B-10C.
In some embodiments, the representation of the participant remains in the same general area on the display 602 when changing size and/or position. As shown in fig. 10A-10C, after representations 1010A-1010D change size and/or position, each representation occupies at least a portion of the area it occupied prior to changing size and/or position.
Turning to fig. 10D, the participant Stephen of representation 1010B begins to stop talking and, as shown in fig. 10E, the participant in the real-time video feed of representation 1010A begins to physically move. The actions of the participants are detected in a real-time video feed. In some embodiments, a determination is made that a participant is actively engaged in a real-time communication session based on an action detected in the participant's real-time video feed (e.g., an action indicative of physical movement of the participant). In some embodiments, movement of the participant results in an increase in the activity level of the participant. In some embodiments, the participant is determined to be actively engaged based on the action satisfying one or more criteria (e.g., duration, size, direction, or predetermined gesture).
As shown in fig. 10F, in response to receiving data indicating that the participant of representation 1010A is actively participating, device 600 increases the size of representation 1010A and decreases the size of representation 1010D. The representation 1010B remains the same size and moves downward. In this manner, representation 1010A transitions from a minimum representation to a medium size representation, and representation 1010D transitions to being a minimum representation.
In some embodiments, in response to receiving data indicating that the participant of representation 1010A (e.g., the participant with the lowest activity level) is actively participating, device 600 increases the size of representation 1010A from the minimum representation to the maximum representation and decreases the size of representation 1010B. In some embodiments, representation 1010A is increased from the minimum representation to the maximum representation according to the participant corresponding to representation 1010A actively participating as the closest participant. For example, in some embodiments, device 600 transitions from the layout and relative representation size shown in fig. 10E to the layout and relative representation size shown in fig. 10G (discussed below) based on the participant corresponding to representation 1010A actively participating as the closest participant.
In some embodiments, the participants actively participate in the real-time communication session by applying visual effects to a real-time video feed provided to the real-time communication session. In some embodiments, the participant applies a visual effect through a user interface of the participant's device. In some embodiments, it is determined that the participant is actively engaged in the real-time communication session based on visual effects included in the participant's real-time media feed. As shown in fig. 10F, the visual effect (robot face) is applied to the real-time video feed representing 1010A. As a result, the participant represented by 1010A is determined to be actively engaged and the activity level of the participant is increased. As shown in fig. 10F-10H, in accordance with a determination that a participant of representation 1010A is actively participating, device 600 increases the size of representation 1010A to a maximum representation size and decreases the size of representation 1010B to a medium representation size. The relative z-order of representations 1010A and 101B also changes because representation 1010A moves before representation 1010B due to an increase in the activity level of the participant associated with representation 1010A.
In fig. 10H, device 600 receives (e.g., detects) user input 1050A (e.g., a tap) on representation 1010C. As shown in fig. 10I-10J, in response to user input 1050A, device 600 increases the size of representation 1010C to a maximum representation size. Further, the participant corresponding to representation 1010D begins to actively participate (e.g., talk), increasing representation 1010D to a medium size, and decreasing representation 1010B to a small size.
In fig. 10J, the device 600 receives (e.g., detects) a user input 1050B (e.g., a tap) at a location of the display 602 at which no representation of the participant is displayed. As shown in fig. 10K, in response to user input 1050B, device 600 displays a call control menu 1004, which is similar to call control menu 630 described above.
As shown in fig. 10K, when the call control menu 1004 is displayed, the canvas area 1001 is reduced in size so that the call control menu 1004 does not overlap the representation 1010. To make room for the call control menu 1004, the device 600 modifies the layout of the representations 1010 by reducing the size and/or vertically panning one or more representations upward. In some embodiments, the apparatus 600 reduces the size of the medium- sized representations 1010A and 1010D, and maintains the size of the small and large primary representations 1010B and 1010C, respectively. In some embodiments, apparatus 600 reduces the vertical spacing between representations (e.g., between representations 1010A and 1010C).
In response to receiving the user input 1050B, the device 600 displays bands 1012A-1012D on each representation in addition to the representation 1002 of the user of the device 600. Each band includes an affordance of a name and an enlarged representation of the corresponding participant.
Turning to fig. 10L, the device 600 is shown in a landscape (horizontal) orientation. The relative activity level of the participants was the same as in fig. 10J. In contrast to the portrait (vertical) orientation in fig. 10J, the representation occupies the same respective area of the display 602 as the portrait (vertical) orientation, and the image within the representation is rotated so that the participant appears upright. In some embodiments, in response to device 600 rotating from the portrait orientation of fig. 10J to the landscape orientation of fig. 10L, device 600 displays an animated rotation of the representation or an image within the representation (e.g., 90 degrees opposite the direction of rotation of device 600).
Turning to fig. 10M, starting with the layout and activity level shown in fig. 10J, a sixth participant Pablo joins the real-time communication session. As shown in fig. 10M, in response to the sixth participant joining the real-time communication session, and in accordance with a determination that the number of participants connected to the real-time communication session is greater than a predetermined threshold of five connected participants, the device 600 replaces the image in the representation 1010B corresponding to the participant with the lowest activity level with the image of the newly connected participant. Device 600 optionally provides notification that the newly connected participant has joined the real-time communication session and displays overflow representation 1022A of the newly connected participant in overflow area 1020. As shown in fig. 10M to 10O, when overflow area 1020 is displayed, the size of canvas area 1001 is reduced. At least some of the representations 1010A-1010D are reduced in size and/or moved on the display 602.
As shown in fig. 10N, overflow representation 1010A corresponds to a participant not represented by the primary representation (e.g., the representation above overflow region 1020 in fig. 10N). In fig. 10N, device 600 receives (e.g., detects) user input 1050C (e.g., a tap) on overflow representation 1022A. As shown in FIG. 10O, in response to user input 1050C, device 600 replaces the image in representation 1010A with the image of the participant corresponding to the selected overflow representation 1022A and displays overflow representation 1022B corresponding to the replaced participant (Hoan).
In some embodiments, in response to active participation by a participant corresponding to overflow representation 1022A (e.g., instead of in response to user input 1050C), device 600 replaces the image in representation 1010A of fig. 10N with the image of the participant corresponding to overflow representation 1022A. In some embodiments, in response to determining that the activity level of the participant corresponding to overflow representation 1022A has increased above the activity level of the participant corresponding to representation 1010A of fig. 10N, device 600 replaces the image in representation 1010A of fig. 10N with the image of the participant corresponding to overflow representation 1022A.
Turning to fig. 10P, a device 1008 with a display 1014 is shown. In some implementations, the display 1014 has different characteristics (e.g., size and/or aspect ratio) than the display 602 of the device 600. The device 1008 displays a user interface 1016 that is divided into two sections 1016A (e.g., canvas areas) and 1016B. The portion 1016A has approximately the same aspect ratio as the display 602 of the device 600. Depending on the aspect ratio of the portion 1016A, the portion 1016A includes representations 1030A-1030D, corresponding to the participants of the representations 1010A-1010D in fig. 10O. As shown in fig. 10P, the layout (e.g., relative size, position, spacing, and overlap) of representations 1030A-1030D is similar to the layout of representations 1010A-1010D in fig. 10O.
As shown in fig. 10P, device 1008 receives (e.g., detects) user input 1050D (e.g., a swipe to the right) to move divider 1018 to the right. In response, device 1008 decreases the size of portion 1016B and increases the size of portion 1016A. As shown in fig. 10P to 10S, the representations 1030 are enlarged and the horizontal interval between the representations 1030 increases. As shown in fig. 10S, the device 1008 displays a menu 1024 having an effect affordance 1026, a call affordance 1028, and a menu affordance 1034 (which are similar to the effect affordance 632, the call affordance 634, and the menu affordance 636 described above).
Fig. 11A-11F are flow diagrams illustrating methods according to some embodiments. Method 1100 is performed at a device (e.g., 100, 300, 500, 600) having a display. Some operations in method 1100 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
As described below, the method 1100 provides an intuitive way to provide an adaptive and intelligent real-time communication user interface that emphasizes one or more active participants in a real-time communication session. The method reduces the cognitive burden on the user when viewing active participants in the real-time communication session, thereby creating a more efficient human-machine interface. For battery-driven computing devices, users are enabled to view active participants more quickly and efficiently, saving power and increasing the interval between battery charges.
At block 1102, the device displays a real-time video communication user interface (e.g., 1000) that includes simultaneously displaying a representation of a first participant in the real-time video communication session (e.g., 1010C), a representation of a second participant in the real-time video communication session (e.g., 1010B), and a representation of a third participant in the real-time video communication session (e.g., 1010D). In some embodiments, if the participants are sharing a real-time media stream that includes a real-time video stream, the representation includes an image of the real-time video stream (e.g., 1010C). In some embodiments, if the participants are sharing the real-time media stream in audio only, the representation includes an avatar (e.g., 1010B) of the respective participant. In some embodiments, if the participant is not currently participating in the real-time video communication session, the representation includes a placeholder image (e.g., avatar) (e.g., 1010A). In some embodiments, the real-time communication interface includes a canvas area (e.g., 1001) (e.g., the canvas area (e.g., the primary area) is different from the overflow area). In some embodiments, the canvas area is immediately adjacent to the overflow area. In some embodiments, a representation of a first participant in the real-time communication session, a representation of a second participant in the real-time communication session, and a representation of a third participant in the real-time communication session are displayed in the canvas area (e.g., fig. 10A).
At block 1104, while displaying the real-time video communication user interface, the device receives data indicating that the activity level of the second participant (e.g., 1010B) in the real-time video communication session has increased above the activity level of the first participant (e.g., 1010C) in the real-time video communication session. In some embodiments, data is received from an external source (e.g., a server) indicating that the first participant is actively participating. In some implementations, the device determines that the first participant is actively participating based on the received data (e.g., real-time video or real-time audio from a real-time media feed associated with the first participant). In some embodiments, prior to receiving data indicating that the activity level of the second participant in the real-time video communication session has increased above the activity level of the first participant in the real-time video communication session, one or more representations of the first participant, the second participant, and the third participant overlap with at least one other representation of the participant (e.g., 1010B, 1010C, and 1010D of fig. 10A).
In some embodiments, the activity level of at least the first participant is based on (e.g., according to) an audio and/or video feed (e.g., an action or sound in a video feed) received from the first participant's device and/or data indicative of activity detected at the first participant's device (e.g., data indicative of the first participant performing a user interface action (e.g., selecting an attention affordance) at the first participant's device). In some embodiments, the activity level is determined at an external electronic device (e.g., a server) and then transmitted to the electronic device. In some implementations, the activity level of at least the first participant is based on filtered audio of an audio feed received from the first participant's device (e.g., audio that has background noise filtered out or filtered to isolate/amplify voice audio). In some embodiments, the activity level of at least the first participant is based on movement identified in the video feed received from the first participant's device (e.g., identified at a server; identified at the electronic device) that satisfies a set of movement criteria (e.g., 1010A of fig. 10E) (e.g., some type of movement (e.g., hand movement, head/face movement, movement that is not background movement (e.g., non-user movement)).
At block 1106, in response to receiving data indicating that the activity level of the second participant in the real-time video communication session (e.g., 1010B of fig. 10A) has increased above the activity level of the first participant in the real-time video communication session (e.g., 1010C of fig. 10A), the device changes a size and/or location of the representation of the first participant in the real-time video communication user interface (at block 1108), changes a size and/or location of the representation of the second participant in the real-time video communication user interface (at block 1110), and changes a size and/or location of the representation of the third participant in the real-time video communication user interface (e.g., 1010D) (at block 1112). Changing the size and/or position of the representation when the prescribed condition is met allows the user to quickly identify the activity level of the participant (including the most active and/or least active participants). Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently. Further, changing the size and/or position of the representation only when the prescribed condition is met reduces the amount of input required by the user to determine or focus on the active participant. Reducing the number of inputs also 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 error in 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 efficiently.
In some embodiments, in response to receiving the data indicating that the activity level of the second participant in the real-time video communication session has increased above the activity level of the first participant in the real-time video communication session, the size of the representation of the first participant in the real-time communication user interface (e.g., 1010C of fig. 10A) changes, the size of the representation of the second participant in the real-time communication user interface (e.g., 1010B of fig. 10A) changes, and the size of the representation of the third participant in the real-time communication user interface (e.g., 1010D of fig. 10A) changes. In some embodiments, if the least active participant becomes the most active participant (e.g., based on the activity score), the device increases the size of the representation of the most active participant and decreases the size of all other representations (e.g., fig. 10E-10F). In some embodiments, if the most active participant becomes the least active participant (e.g., based on the activity score), the device decreases the size of the representation of the least active participant and increases the size of all other representations. In some embodiments, in response to receiving the data indicating that the activity level of the second participant in the real-time video communication session has increased above the activity level of the first participant in the real-time video communication session: a change in a location of a representation of a first participant in a real-time communication user interface; a change in a location of a representation of a second participant in the real-time communication user interface; and a location of the representation of the third participant in the real-time communication user interface changes. In some embodiments, all locations are exchanged (e.g., most of the active participants' representations move up or away while others move down or away) if the least active participant becomes the most active participant (e.g., based on the activity score). In some embodiments, if the most active participant becomes the least active participant (e.g., based on the activity score), the representation of the least active participant moves down and/or away while the other representations move up and/or away.
In some embodiments, a portion of the representation (e.g., 1010C of fig. 10A) of the participant having (e.g., currently having) the highest activity level of the first, second, and third participants overlaps with a portion of the representation of another participant in the first, second, and third participants in the real-time communication user interface (e.g., a portion of the most active representation is below the other representations). In some embodiments, the representation of the participant with the lowest activity level is displayed without overlapping with the representations of any other participants (e.g., because the representation of the participant with the lowest activity level is the smallest of the representations of the participants and thus remains above the representations of the other participants to avoid overly obscuring the representation of the participant with the lowest activity level). In some embodiments, the representation of the participant with the lowest activity level (e.g., 1010B of fig. 10I) is displayed to overlap at least a portion of the representation of the participant with the highest activity level (e.g., 1010A of fig. 10I). In some embodiments, a portion of the representation of the participant (e.g., 1010D of fig. 10H) having (e.g., currently having) the lowest activity level of the first, second, and third participants overlaps with a portion of the representation of another participant (e.g., 1010C of fig. 10H) in the real-time communication user interface (e.g., a portion of the least active representation is below the other representations).
Optionally, at block 1114, the device changes a size and/or position of the representation of the first participant based on facial recognition data obtained (e.g., obtained by the analysis) from the video feed of the second participant (and/or the video feed of the third participant), wherein changing the size and/or position of the representation of the first participant does not result in obscuring the face of the second participant (and/or obscuring the face of the third participant). Changing the size and/or position of a representation of a participant in a real-time communication session without obscuring the face of another participant provides feedback to the user regarding the current activity level of the participant without obscuring the faces of the other participants in the real-time communication session, thereby allowing the user to view the faces of the other participants as the size or position of the participant whose activity level has changed changes. Providing the user with improved visual 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 error in 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 efficiently.
Optionally, at block 1116, the device changes the size and/or position of the representation (e.g., 1010B of fig. 10A-10C) of the first participant includes gradually increasing (e.g., gradually increasing over a period of time) the size of the representation from a first size to a second size. Changing the size and/or position of the representation provides feedback to the user regarding the participant's current activity level while minimizing user interface changes. Providing the user with improved visual 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 error in 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 efficiently. Gradually increasing the size of the representation provides visual feedback to the user indicating that the activity level of the participant is changing as its activity level changes while minimizing the interference caused to the user by sudden changes in size. Providing the user with improved visual 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 error in 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 efficiently.
Optionally, at block 1118, the device detects a canvas size change event (e.g., 1050B; FIGS. 10J-10K) (e.g., rotation of the device; introduction of other elements (e.g., one or more call affordances to contact participants; a representation of a participant added to display outside the canvas area) into the real-time video communication user interface; user input corresponding to a request to change the canvas area size). Optionally, at block 1120, in response to detecting the canvas size change event, the device changes the size of the canvas area (e.g., 1001) (optionally, at block 1124). In response to detecting the canvas size change event, the device modifies the layout of the representations (e.g., 1010B, 1010C, and 1010D of FIG. 10K) of the first, second, and third participants. In some embodiments, the layout of the representations is modified by shifting the position of the representations and/or changing the size of the representations (e.g., to reduce the spacing between the representations as the size of the canvas area is reduced). Intelligently modifying the layout based on a change in the size of the canvas area allows the user to view the user's representation with minimal changes to the displayed representation as the canvas size changes, thereby reducing interference with the user while allowing the user to view the displayed presentation. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at block 1126, the device further changes the size of one or more representations of the first, second, and third participants (e.g., 1010B, 1010C, and 1010D of fig. 10K) in response to detecting the canvas size change event. In some embodiments, prior to receiving data indicating that the activity level of the second participant in the real-time video communication session has increased above the activity level of the first participant in the real-time video communication session, representations of the first, second, and third participants in the real-time communication user interface (e.g., 1010B, 1010C, and 1010D of fig. 10K) are displayed according to a z-order (e.g., "z-order" refers to the order of the representations of the participants relative to an imaginary axis (e.g., axis out of the screen) that is perpendicular to the face of the display (e.g., when the positions of the two representations overlap, the z-order of the representations determines which object is displayed before the other object) — at block 1128, the device maintains the z-order of the representations of the first, second, and third participants (e.g., 1010B, 1010C, and 1010D of fig. 10K).
In some embodiments, after changing the size and/or position of the representation of the first participant (e.g., 1010B of fig. 10B) in the real-time communication user interface, the changed representation of the first participant occupies at least a portion of an area (e.g., a general area, a position, a pixel on a display, etc.) occupied by the representation of the first participant in the real-time communication user interface prior to changing at least one of the size or the position of the representation of the first participant. In some implementations, after changing the size, the participant is displayed in the same area of the display as the participant was previously located (e.g., at least a portion (e.g., portion, pixel, location, etc.) of the representation continues to contact the location on the display that it previously contacted prior to the change). In some embodiments, the representations maintain the arrangement/general location of the representations (e.g., the representations shift as their size increases/decreases but maintain a location relative to other images) while emphasizing active participants. In some embodiments, after changing the size and/or position of the representation of the second participant (e.g., 1010C of fig. 10B) in the real-time communication user interface, the changed representation of the second participant occupies at least a portion of an area (e.g., a general area, a position, a pixel on a display, etc.) occupied by the representation of the second participant in the real-time communication user interface prior to changing at least one of the size or the position of the representation of the second participant. In some implementations, after changing the size, the participant is displayed in the same area of the display as the participant was previously located (e.g., at least a portion (e.g., portion, pixel, location, etc.) of the representation continues to contact the location on the display that it previously contacted prior to the change). In some embodiments, the representations maintain the arrangement/general location of the representations (e.g., the representations shift as their size increases/decreases but maintain a location relative to other images) while emphasizing active participants. In some embodiments, after changing the size and/or position of the representation of the third participant (e.g., 1010D of fig. 10B) in the real-time communication user interface, the changed representation of the third participant occupies at least a portion of an area (e.g., a general area, a position, a pixel on a display, etc.) occupied by the representation of the third participant in the real-time communication user interface prior to changing at least one of the size or the position of the representation of the third participant. In some implementations, after changing the size, the participant is displayed in the same area of the display as the participant was previously located (e.g., at least a portion (e.g., portion, pixel, location, etc.) of the representation continues to contact the location on the display that it previously contacted prior to the change). In some embodiments, the representations maintain their arrangement and/or general position while emphasizing active participants (e.g., represent positions that shift as their size increases/decreases but maintain relative to other images).
Displaying representations occupying at least a portion of the area they previously occupied after changing the size and/or position of the representations allows a user to identify the activity level of a participant with minimal changes to the user interface, thereby increasing the user's ability to focus on the representations of the participants in the real-time communication session. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at block 1130, the device displays a representation of a fourth participant in the real-time communication user interface (e.g., 1010D of fig. 10E). Optionally, in response to receiving the data indicating that the activity level of the second participant in the real-time video communication session has increased above the activity level of the first participant in the real-time video communication session, the device changes a size and/or a position of a representation of a fourth participant in the real-time communication user interface (at block 1132). In some embodiments, the fourth representation changes size and/or position when all other representations change size or position. In some embodiments, the fourth representation changes (e.g., in response to receiving the first data indicating that the activity level of the second participant in the real-time communication session has increased above the activity level of the first participant in the real-time communication session). In some embodiments, some representations, such as the fourth representation, may maintain their size and position even though other representations are changing.
Optionally, at blocks 1134, 1136, 1138, 1140, and 1142, after changing the size and/or position of the representation of the first participant in the real-time video communication user interface, the device receives second data indicating that the activity level of the first participant in the real-time video communication session has increased above the activity level of the second participant in the real-time video communication session. In response to receiving second data indicating that the activity level of the first participant in the real-time video communication session has increased above the activity level of the second participant in the real-time video communication session, the device changes a size and/or a position of the representation of the first participant in the real-time video communication user interface. The device changes a size and/or a position of the representation of the second participant in the real-time video communication user interface. The device maintains a size and a position of the representation of the third participant in the real-time communication session. In some embodiments, in response to a change in the activity level of the participant, representations of some representations displayed in the canvas (e.g., the main area) are maintained even if other representations change size or position (e.g., two representations may swap positions based on determining that the other representations change their size and position). In some embodiments, the maintained representation corresponds to a participant having a lower activity level than the activity level of the participant corresponding to the changed representation. Maintaining the size and/or position of some representations while changing the size and/or representations of other representations allows a user to quickly identify the activity level of a participant with minimal changes to the user interface when prescribed conditions are met, thereby increasing the user's ability to focus on the representations of participants in a real-time communication session. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at blocks 1144 and 1146, in response to receiving the first data indicating that the activity level of the second participant in the real-time communication session has increased above the activity level of the first participant in the real-time communication session, the device emphasizes (e.g., increases or initiates) a visual indication (e.g., highlights the representation (e.g., displays a border), animates (e.g., pulses an avatar), advances the image, increases the size) of the representation of the second participant in the real-time communication user interface (e.g., when the second participant is currently more active). In response to receiving the first data indicating that the activity level of the second participant in the real-time communication session has increased above the activity level of the first participant in the real-time communication session, the device de-emphasizes (e.g., reduces or stops) visual indications (e.g., highlights representations (e.g., displays a border), animations (e.g., pulse avatars), backs images, reduces size) of representations of the first participant in the real-time communication user interface (e.g., when the first participant is not currently active). Highlighting and/or deemphasizing the visual indication when a prescribed condition is met allows a user to quickly identify an activity level of a participant (including the most active and/or least active participant). Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently. Further, the emphasis and/or de-emphasis provides the user with visual feedback indicating the activity level of each participant when the prescribed conditions are met. Providing the user with improved visual 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 error in 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 efficiently.
In some embodiments, before (e.g., before) the device receives data indicating that the activity level of the second participant in the real-time video communication session has increased above the activity level of the first participant in the real-time video communication session: the representation of the first participant is displayed at a first size (e.g., the middle size of a set of 3 or more predefined sizes; the largest size of the set), and the representation of the second participant is displayed at a second size (e.g., the smallest size of a set of 3 or more predefined sizes; the middle size of the set) that is smaller than the first size (e.g., a small representation). Optionally, at block 1148, the device increases the size of the representation of the second participant from the second size to the first size. Increasing the size and/or position of the representation from a smaller size to a larger size provides visual feedback to the user indicating that the activity level of the participant is changing as its activity level changes. Providing the user with improved visual 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 error in 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 efficiently.
Optionally, at blocks 1150 and 1152, after receiving data indicating that the activity level of the second participant in the real-time video communication session has increased above the activity level of the first participant in the real-time video communication session, the device detects an input (e.g., 850C) (e.g., a tap on the representation) corresponding to the representation of the first participant. In response to detecting an input corresponding to the representation of the first participant (e.g., the user can change the size of any representations displayed on the real-time communication user interface (e.g., in an overflow area, canvas area, etc.), the device increases the activity level of the first participant (e.g., increases the value of the activity level) (e.g., 810F of fig. 8L-8M).
At blocks 1154 and 1156, the device receives data indicating that a fourth participant in the real-time communication session is more active than the participant with the lowest activity level of the first, second, and third participants. In response to receiving data indicating that the fourth participant in the real-time communication session is more active than the participant having the lowest activity level of the first, second, and third participants, replacing the display of the representation of the participant having the lowest activity level of the first, second, and third participants (e.g., 1010A of FIG. 10N) with the display of the representation of the fourth participant (e.g., 1010A of FIG. 10O). In some embodiments, at block 1158, the device displays the representation of the fourth participant at a size that is larger than the size of the representation of the participant having the lowest activity level of the first, second, and third participants. The display of the representation of the participant having the lowest activity level is replaced with the participant not displayed in the first set of representations when the prescribed condition is satisfied, allowing the user to focus on the representation of the most active participant in the real-time communication session, and reducing the user's focus on the least active participant in the real-time communication session when the non-displayed user is more active than the user displayed in the first set of representations. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently. Increasing the size of the newly displayed participant provides feedback to the user regarding the current activity level of other displayed participants (e.g., in the first subset of representations) associated with the new participant while minimizing user interface changes. Providing the user with improved visual 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 error in 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 efficiently.
Optionally, at block 1160, the device displays a representation (e.g., 1002) of a view (e.g., a self view) of a camera of the electronic device in the real-time communication session user interface. Optionally, at block 1162, the device further in response to receiving the first data indicating that the activity level of the second participant in the real-time communication session has increased above the activity level of the first participant in the real-time communication session: optionally, at block 1164, a size of a representation (e.g., 1002) of a view of a camera of the electronic device is maintained in the real-time communication session user interface. In some embodiments, the self view does not change based on changes in the activity level of the other participants. The dimensions of the representations of the view of the camera of the device are maintained while the other representations may change when a set of conditions has been met, allowing the user to view their representations while continuously minimizing changes to the layout. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Note that the details of the processes described above with respect to method 1100 (e.g., fig. 11A-11F) may also be applied in a similar manner to the methods described below/above. For example, method 1100 optionally includes one or more features of the various methods described above with reference to methods 700, 900, 1300, or 1500.
Fig. 12A-12N illustrate exemplary user interfaces for initiating a real-time communication session, particularly from an instant messaging application, according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in fig. 13A-13D.
Fig. 12A illustrates a device 600 that displays an instant messaging user interface 1200 of an instant messaging application (as described above). The instant messaging user interface 1200 includes messages in the message area 1202 between participants in a group of 15 participants participating in a messaging conversation ("menuing team"). The instant messaging user interface 1200 includes a call all affordance 1206 for initiating a real-time communication session with all participants in the messaging conversation (e.g., all participants in a "mengyo" group) and a group contact information affordance 1208 for accessing additional information related to the "mengyo" group.
As shown in fig. 12A, device 600 receives (e.g., detects) a user input 1250A (e.g., a tap) corresponding to selection of call all affordance 1206. In response to receiving user input 1250A, device 600 begins a real-time communication session with all participants in a messaging conversation included as participants in the real-time communication session. In some embodiments, in response to receiving user input 1250A, device 600 sends instructions that cause devices associated with members of the group to display a notification that the real-time communication session is active. In this manner, the call all affordance 1206 immediately begins a real-time communication session with all participants in the message conversation group.
Fig. 12B illustrates an instant messaging user interface 1200 of an instant messaging application when a real-time communication session is initiated. The instant messaging user interface 1200 includes a message 1212 in the message area 1202 and a visual indicator 1214 on top of the display 602 indicating that the real-time communication session is active.
In some embodiments, device 600 launches the real-time communication application in response to receiving user input 1250A. As shown in fig. 12C, after the real-time communication session begins, device 600 displays real-time communication user interface 1216 of the real-time communication application. The real-time communication user interface 1216 corresponds to a real-time communication session with a "menelian" group.
As shown in fig. 12C, the real-time communication user interface 1216 includes primary representations 1210A-1210D (collectively 1210) of four corresponding participants (e.g., the first four participants in the participant list of the "menmon team" group) and a user representation 1218 of the user of the device 600. The real-time communication user interface 1216 also includes an overflow area 1220 having overflow representations 1222 corresponding to participants of the real-time communication session (e.g., each member of the "menuing team" group). Primary representation 1210B includes real-time video from participant Allison indicating that Allison has joined the real-time communication session with video data.
Primary representations 1201A, 1210C, and 1210D include placeholders indicating that the corresponding participants have not joined (e.g., are not connected to) the real-time communication session. The placeholders include textual representations of the participant's name (e.g., the name or first and last initials). Optionally, the placeholder includes a status indicator indicating that the participant is waiting to connect to the real-time communication session, and an alert affordance (e.g., "ring" 808A) for sending an alert to the corresponding participant that the real-time communication session is available. In some embodiments, the reminder affordance is initially not included on the placeholder and is displayed in accordance with a determination that the corresponding participant has not joined the real-time communication session after a predetermined period of time.
In some embodiments, the device 600 detects an input corresponding to selection of the alert affordance (e.g., a tap on the alert affordance) and, in response, sends an instruction to cause a new notification (e.g., a call, a ringtone, etc.) indicating that the real-time communication session is available at the device associated with the corresponding participant, where the new notification is different from notifications previously sent to the participants. In some implementations, the new notification is more intrusive than the previous notification (e.g., an audible ringtone, a tactile output, or a full screen notification, as compared to a banner notification without an audio or tactile output). In some embodiments, the reminder affordance is displayed in overflow representation 1222 (e.g., according to the same criteria used to display the reminder affordance in the primary representation). In some embodiments, selection of the reminder affordance on the overflow representation results in the same response (e.g., a new, more intrusive notification to the corresponding participant) as described above with respect to the reminder affordance displayed on the primary representation.
In some embodiments, in accordance with a determination that one of the participants represented by the placeholder has joined the real-time communication session, device 600 modifies the representation associated with the user (e.g., replaces the placeholder with real-time video; see, e.g., FIGS. 8C-8D). In some embodiments, modifying the representation comprises animation. In some embodiments, the device 600 receives data from a server or other device to determine whether a participant has joined a session. In some embodiments, the device 600 determines that a participant has joined the session based on receiving real-time media data associated with the participant.
In some embodiments, in accordance with a determination that one of the participants represented by the placeholders has not joined the real-time communication session for a predetermined amount of time, device 600 changes the layout of the representations displayed in real-time communication session user interface 1216 (e.g., device 600 stops displaying representations corresponding to participants that have not joined the real-time communication session for the predetermined amount of time and displays a layout with less of a primary representation or replaces the representation of the participant with a representation of another participant; see, e.g., fig. 8E-8F). In some embodiments, device 600 receives data from a server or other device to determine whether a participant has not joined a real-time communication session for a predetermined amount of time. In some implementations, the apparatus 600 determines whether the participant has not joined the real-time communication session for a predetermined amount of time based on not receiving real-time media data associated with the participant.
Fig. 12D shows the real-time communication user interface 1216 at a later time during a real-time communication session with the "menuing team" group. As shown in fig. 12D, real-time communication user interface 1216 includes a call control menu 1224, which is similar to call control menu 630 described above. As described above, in some embodiments, call control menu 1224 is displayed in response to a user input (e.g., a tap or swipe up on display 602). As shown in fig. 12D, the device 600 receives (e.g., detects) a user input 1250B (e.g., a swipe up) corresponding to the request to expand the call control menu 1224. As shown in fig. 12E, device 600 expands call control menu 1224 in response to user input 1250B. The extended call control menu 1224 is similar to the extended call control menu 630 described with respect to fig. 6I-6K. As shown in fig. 12E, the call control menu 1224 includes a reminder affordance 1226 associated with the participant Hoan. In some embodiments, the device 600 detects an input corresponding to selection of the alert affordance 1226 (e.g., a tap on the alert affordance 1226) and, in response, sends an instruction to cause a new notification (e.g., a call, a ringtone, etc.) indicating that the real-time communication session is available at the device associated with the participant Hoan, where the new notification is different from the notification previously sent to the participant Hoan. In some implementations, the new notification is more intrusive than the previous notification (e.g., an audible ringtone, a tactile output, or a full screen notification, as compared to a banner notification without an audio or tactile output).
Fig. 12F again shows the real-time communication user interface 1216 before starting a real-time communication session with the message group "mengyo". As shown in fig. 12F, the device 600 receives (e.g., detects) a user input 1250C (e.g., a tap) corresponding to the selection of the group contact affordance 1208. As shown in fig. 12G, in response to receiving user input 1250C, device 600 displays a group contact user interface 1228 that displays additional information related to the "menelian" group, including real-time communication session affordances 1230 and lists 1232 for the participants in the group. The group contact user interface 1228 also includes an add contact affordance 1234. In some embodiments, in response to detecting an input (e.g., a tap) corresponding to selection of the add contact affordance 1234, the device 600 initiates a process for adding a new contact to the real-time communication session (e.g., by displaying a user interface with a text entry field for entering a participant name using a keyboard and/or an add participant affordance for selecting a participant from a menu, such as a contact list (e.g., as described below with reference to fig. 14F)).
As shown in fig. 12H, the device 600 receives (e.g., detects) a user input 1250D (e.g., a tap) corresponding to selection of the real-time communication session affordance 1230. In response to receiving user input 1250D, device 600 launches the real-time communication application and begins a real-time communication session with participants in the "menelian" group (e.g., as shown in fig. 12C).
The user may also select representations of participants in the group on the group contact user interface 1228 to access additional information and options related to the corresponding participants. As shown in fig. 12I, device 600 receives (e.g., detects) user input 1250E (e.g., a tap) corresponding to selection of a listing 1232B of participant Allison. In response to user input 1250E, device 600 displays individual contact user interface 1236 with additional information associated with the selected participant and options 1238A through 1238E for individually communicating with the participant through various communication modes. As shown in fig. 12J, individual contacts user interface 1236 includes, among other things, affordances 1238A, 1238B, and 1238C for initiating individual message conversations, individual phone calls, and individual real-time communication sessions (e.g., video communications), respectively, with participant Allison.
In some embodiments, device 600 determines whether the characteristic intensity of user input 1250E exceeds a threshold intensity. As shown in fig. 12K, in accordance with a determination that the characteristic intensity of user input 1250E exceeds the threshold intensity, device 600 displays a menu 1240 over group contact user interface 1228, where options 1242A through 1242E correspond to various communication modes of individual communication with participant Allison.
Fig. 12L through 12N illustrate exemplary 4-to-1, 3-to-1, and 2-to-1 layouts, respectively. In some embodiments, device 600 displays one of the initial layouts shown in fig. 12L according to a real-time communication session including five participants (including a user of device 600). In some embodiments, device 600 displays one of the initial layouts shown in fig. 12M according to a real-time communication session including four participants (including a user of device 600). In some embodiments, device 600 displays one of the initial layouts shown in fig. 12N according to a real-time communication session including three participants (including a user of device 600). In some embodiments, the device 600 displays a representation of the participants in one of the layouts shown in fig. 12L-12N as an initial layout when initiating a real-time communication session based on the number of participants invited and/or connected (e.g., instead of the layout shown in fig. 12C). For example, in some embodiments, according to a real-time communication session that includes a total of four participants, device 600 displays representations of the participants according to one of the layouts shown in fig. 12M.
Fig. 13A-13D are flow diagrams illustrating methods according to some embodiments. The method 1300 is performed at a device (e.g., 100, 300, 500, 600) having a display. Some operations in method 1300 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
As described below, the method 1300 provides an intuitive way for initiating and interacting with a real-time communication session between multiple participants. The method reduces the cognitive burden on the user by providing intelligent initiation and interaction of real-time communication sessions between multiple participants, thereby creating a more efficient human-machine interface. For battery-driven computing devices, users are enabled to interact and initiate real-time communication sessions more quickly and efficiently, saving power and increasing the interval between battery charges.
At block 1302, the device displays an instant messaging user interface (e.g., 1200) of an instant messaging application. The instant message user interface includes a message area (e.g., 1202) that includes a plurality of messages between participants (including three or more participants) in a message conversation. The instant messaging user interface includes an affordance (e.g., 1206) separate from a messaging region (e.g., 1202) for initiating a real-time video communication session in a real-time video communication application (e.g., a message detail affordance or an affordance having a graphical indication of a real-time video communication application). In some embodiments, the affordance is a call-all affordance (e.g., 1206) that will immediately begin a real-time communication session with all participants in the instant messaging application. In some embodiments, the affordance is a group contact affordance for displaying a group contact user interface to invite the participants to the real-time communication session (e.g., 1208).
At block 1340, the device detects an input (e.g., 1250A) corresponding to selection of an affordance (e.g., 1206). At block 1306, in response to detecting the input corresponding to the selection of the affordance, the device initiates a process in the real-time video communication application for starting a real-time video communication session, the real-time video communication session including participants of the message conversation. In some embodiments, a real-time video communication application (e.g., 1216) is launched and a new real-time video communication session is started directly in response to selection of the affordance. In some embodiments, a menu of an instant messaging application (e.g., 1228) is displayed in response to selection of the affordance and a menu option (e.g., 1230) is selected to launch the real-time video communication application and begin a new real-time video communication session. Automatically initiating a process for starting a real-time video communication session in a real-time video communication application allows a user to start a real-time communication session when a prescribed condition is met (e.g., by detecting an input). Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently. Moreover, providing additional controls (e.g., affordances) to initiate a process for initiating real-time communication provides additional control options (e.g., affordances) without cluttering the UI with additional displayed controls (e.g., group chat UIs), which enhances operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in operating/interacting with the device), which in turn reduces power usage and extends battery life of the device by enabling the user to use the device more quickly and efficiently.
Optionally, at block 1308, the device transitions (e.g., immediately transitions in response to detecting user input) from the instant messaging user interface (e.g., 1200) to a user interface (e.g., 1216) of the real-time communication application. Optionally, at block 1310, the device begins a real-time communication session. Optionally, at block 1312, the device displays a group contact user interface (e.g., 1228) that includes a group contact affordance (e.g., 1230) for initiating a real-time communication session (e.g., an interface displayed while continuing to display at least a portion of the instant messaging user interface or a discrete user interface that replaces the instant messaging user interface). Automatically transitioning from the instant messaging user interface and starting the real-time video communication session in the real-time video communication application allows the user to immediately start the real-time communication session when a prescribed condition is satisfied (e.g., by detecting an input). Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently. Further, transitioning from the instant messaging user interface and starting the real-time video communication session in the real-time video communication application when the specified condition is satisfied reduces the number of inputs required to perform the operation. 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 suitable inputs and reducing user error in 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 efficiently.
In some embodiments, the group contact user interface further comprises: a plurality of participant affordances (e.g., 1232) including a first participant affordance (e.g., 1232B) associated with a first participant of a participant (e.g., a list of individual participants) of a message conversation. In some embodiments, the group contact user interface also includes a new contact affordance (e.g., 1234). Optionally, at block 1314, the device begins a real-time communication session in the real-time communication application. Displaying the group contact user interface provides additional control options (e.g., affordances) without cluttering the UI with additional displayed controls when needed, which enhances operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing user error in operating/interacting with the device), which in turn reduces power usage and extends battery life of the device by enabling the user to use the device more quickly and efficiently.
Optionally, at block 1316, the device displays a real-time communication session user interface (e.g., 1216) (e.g., an interface for a real-time communication placeholder) that includes (e.g., initially includes) a placeholder (e.g., 1210A of fig. 12C) (e.g., a graphical placeholder (e.g., an image or virtual avatar), a text placeholder (e.g., a name or name abbreviation) associated with a first one of the real-time communication session participants (e.g., a participant other than the user of the electronic device, a participant who is yet to join the communication session and has been sent an invitation to join the communication session)). In some embodiments, the real-time communication session user interface further includes a second placeholder associated with the second participant. In some embodiments, the first placeholder includes a first reminder affordance (e.g., ring button) for a first participant of the real-time communication session participants (e.g., fig. 12C). In some embodiments, the real-time communication session user interface further includes a second placeholder (e.g., 1210C) associated with the second participant. In some embodiments, the first placeholder and the second placeholder are arranged according to a first layout. Displaying the real-time communication session user interface when real-time communication begins provides feedback to the user regarding the current state of the real-time communication session and provides visual feedback to the user indicating that an operation associated with the real-time communication interface may be performed. Providing the user with improved visual 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 error in 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 efficiently.
Optionally, at block 1318, in accordance with a determination that the first participant has joined the real-time communication session, the device replaces the display of the first placeholder (e.g., 1210A of fig. 12C) (e.g., the placeholder may have a participant name) with a representation of the first participant (e.g., 1210A of fig. 12D). In some embodiments, animation occurs (e.g., fig. 8T-8W). In some embodiments, the device receives data from the server or another device to make this determination. In some embodiments, the device makes this determination because it does not display any representation of the user. Modifying the display of the first placeholder with the representation of the participant allows the user to quickly identify which users have joined the call, provide feedback to the user regarding the current state of the real-time communication session, and provide visual feedback to the user indicating that certain operations associated with the notification and/or the real-time communication session are to be performed. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at block 1320, the device stops (optionally, at block 1322) displaying the first placeholder in accordance with a determination that the first participant has not joined the real-time communication session for a predetermined amount of time (e.g., not joined the real-time communication after a predetermined period of time), and optionally at block 1324, the device changes the arrangement of the second placeholder to a second layout different from the first layout (e.g., displays a layout in which the first participant is not included). In some embodiments, the device may receive data from the server or another device to make this determination. In some embodiments, the device may make this determination because it does not display any representation of the user. Ceasing to display placeholders and changing the arrangement of representations when prescribed conditions are met allows a user to quickly identify when other users join or do not join a call while maximizing the visibility of displayed participants and/or placeholders. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently. Further, ceasing to display the placeholders and changing the arrangement of the display provides feedback to the user regarding the current state of the real-time communication session and provides visual feedback to the user indicating that certain operations associated with the notification and/or the real-time communication session are to be performed. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at blocks 1326 and 1328, the device receives an input (e.g., 850B) corresponding to selection of the first reminder affordance (e.g., 808). In response to receiving an input corresponding to selection of the first reminder affordance, the device sends a new notification (e.g., a call, ring, etc.) to the first participant that is different from a previous notification sent to the first participant (e.g., the second notification is more intrusive than the first notification). Sending a notification to a first participant in response to receiving an input corresponding to a selection of a reminder affordance different from a previous notification sent to the participant reduces the number of inputs required to perform an operation. Reducing the number of inputs required to perform an operation (e.g., the number of options required for a user to call a participant) enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping a user provide suitable inputs and reducing user error in operating/interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling a user to use the device more quickly and efficiently. Further, automatically performing an operation, such as sending a notification different from the first notification without further user input, 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 error in 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 efficiently.
Optionally, at blocks 1330 and 1332, the device detects an input (e.g., 1250C) corresponding to a selection of a group contact affordance (e.g., 1208) for initiating a real-time communication session. In response to detecting an input corresponding to a selection of a group contact affordance to begin a real-time communication session, the device begins the real-time communication session in a real-time communication application. (e.g., transitioning to a user interface of a real-time communication application). In some embodiments, the group contact user interface includes a list of participants (e.g., 1232) for the real-time communication session. In some embodiments, a list of participants is provided without providing options and/or affordances for individually joining or initiating a video or audio conference with a given participant. In some embodiments, the instant messaging user interface includes two affordances for starting a real-time video communication session in a real-time video communication application: the method further includes causing display of a first affordance of the group contact user interface when selected, and causing transition to a user interface of the real-time communication application and initiation (e.g., immediate initiation) of the real-time communication session when selected. Initiating a real-time communication session in a real-time communication application in response to selection of a group contact affordance provides additional control options (e.g., affordances) without cluttering the UI for additional displayed controls when needed, which enhances operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing user error in operating/interacting with the device), which in turn reduces power usage and extends battery life of the device by enabling the user to use the device more quickly and efficiently. Further, initiating a real-time communication session in a real-time communication application in response to selection of a group contact affordance reduces the number of inputs required to perform an operation. 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 suitable inputs and reducing user error in 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 efficiently.
Optionally, at blocks 1334, 1336, 1338, and 1340, the device, after initiating communication: in response to determining that the first participant has not joined the real-time communication session for a predetermined period of time, a reminder option associated with the first participant is displayed. In some embodiments, the reminder option is displayed on or near the first participant affordance in the group contact user interface. Displaying reminder options associated with participants when prescribed conditions are met allows users to quickly identify users who have not joined a call and call those particular users. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently. While displaying the reminder option associated with the first participant, the device receives an input corresponding to a selection of the reminder option. In response to receiving an input corresponding to selection of the reminder option, the device sends a notification indicating that the real-time communication session is available to the first participant (e.g., a notification that causes the device of the first participant to output (e.g., audibly, visually, tactilely) the notification). Sending a notification to the first participant in response to receiving input corresponding to selection of a reminder option associated with the participant reduces the number of inputs required to perform the operation. Reducing the number of inputs required to perform an operation (e.g., the number of options required for a user to call a participant) enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping a user provide suitable inputs and reducing user error in operating/interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling a user to use the device more quickly and efficiently.
Optionally, at blocks 1342 and 1344, the device detects an input (e.g., 1250E) corresponding to selection of a first participant affordance (e.g., 1232B) associated with a first participant of the message conversation. In some embodiments, the participants are participants of a real-time communication session (e.g., a participant of a live communication session may include one or more users that are different from the users from the message conversation, and may also not include a participant from the message conversation). In response to detecting an input corresponding to a selection of a first participant affordance associated with a first participant of a message conversation, the device displays an individual participant user interface (e.g., 1236) that includes features of the first participant (e.g., the individual participant user interface has detailed information about the individual user (e.g., a user identifier such as a name, name abbreviation, etc.; user contact information; communication mode of contacting the user)). Displaying the individual participant user interface in response to detecting input (e.g., a participant affordance for each individual participant on the group contact UI) without cluttering the UI (e.g., the group contact UI) with the additionally displayed controls when additional controls are needed enhances operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing user error in operating/interacting with the device), which in turn reduces power usage and extends battery life of the device by enabling the user to use the device more quickly and efficiently.
Optionally, at blocks 1346 and 1348, the device detects an input (e.g., an input having a characteristic intensity that exceeds an intensity threshold) corresponding to a selection of an option (e.g., 1238A-1238C) for selecting a communication mode. In response to detecting an input corresponding to selection of the communication mode option, the device initiates a process for selecting a commutation mode of the first participant. In some embodiments, initiating the process includes displaying a plurality of communication option affordances (e.g., a mail affordance, a call affordance, an instant message affordance).
Optionally, at blocks 1350 and 1352, the device detects an input (e.g., 1234) corresponding to the selection of the new contact affordance. In response to detecting an input corresponding to selection of the new contact affordance, the device initiates a process for adding the new contact to the real-time communication session (e.g., displays a user interface for selecting the new contact to add). Initiating a process for adding a new contact to a real-time communication session allows a user to quickly identify which users are to be added to a call, provide feedback to the user regarding the current state of the real-time communication session, and provide visual feedback to the user indicating that certain operations associated with the notification and/or the real-time communication session are to be performed. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Note that the details of the processes described above with respect to method 1300 (e.g., fig. 13A-13D) may also be applied in a similar manner to the methods described below/above. For example, method 1300 optionally includes one or more features of the various methods described with reference to methods 700, 900, 1100, or 1500.
Fig. 14A-14I illustrate exemplary user interfaces for initiating a real-time communication session, particularly from a real-time communication application, according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in fig. 15A-15C.
FIG. 14A illustrates a device 600 displaying a user interface 1400 (e.g., a home screen or springboard) with an affordance for launching an application (as described above). As shown in fig. 14A, the device 600 receives (e.g., detects) a user input 1450A (e.g., a tap) corresponding to selection of the real-time communication application affordance 1402.
As shown in fig. 14B, in response to receiving user input 1450A, device 600 launches the real-time video communication application and displays real-time video communication user interface 1404 of the real-time video communication application. The real-time video communication user interface includes a list 1408 of participant affordances 1408A-1408K corresponding to respective participants or groups of participants. In some embodiments, the participant affordances are included in the list 1408 based on previous (e.g., most recent) real-time communication sessions with respective participants or groups of participants in the real-time communication application (e.g., two or more participants other than the user of the device 600). In some embodiments, the previous real-time communication session comprises a successful connection and attempted communication by the user of device 600 or another participant. The real-time video communication user interface 1404 includes a new session affordance 1406 for selecting participants for a new real-time communication session.
In some embodiments, the participant affordance is included in list 1408 based on a participant group associated with another application (e.g., a messaging application (affordance 1408A; e.g., a group chat participant list), a phone application (affordance 1408C; e.g., a participant to a conference call), a calendar application (affordance 1408B; e.g., an attendee of a calendar event), or an email application (affordance 1408D; e.g., a recipient list for email)). For example, participant affordance 1408A corresponds to a participant group in a previous or existing group message conversation (e.g., text or instant message) and is displayed as a suggestion in list 1408 (e.g., a user does not have to manually create a participant group). In some embodiments, the participant affordance corresponds to a group of participants in a conference call associated with a telephony application. Participant affordances 1408A-1408K include an indication of a participant or group of participants, a status indicator, a detail affordance, and optionally an associated date. As shown in fig. 14B, the status indicator identifies the source of the participant or group (e.g., "from message," "from phone," "from calendar," "from mail") or the communication status of the associated communication (e.g., video, audio, unavailable, etc.). In some embodiments, the source of the participant or group is indicated by a graphical or textual indication, a color associated with a particular application, or an application-related logo (e.g., a phone icon, a video camera icon, or a message bubble icon).
In some embodiments, device 600 visually distinguishes participant affordances associated with a group for which there is an active real-time communication session. In fig. 14B, participant affordance 1408E is associated with a group for which the real-time communication session is currently active. The real-time communication session active in the participant affordance 1408E is indicated by the participant's name, the video camera icon 1408E-1, and the bold text of the "tap to join" message as compared to the non-bold text and contact detail icons (e.g., 1408A-1) displayed in the other participant affordances.
In some embodiments, the occurrence of a participant affordance associated with a previous real-time communication session is based on whether a user of the device joined the corresponding real-time communication session. In fig. 14B, participant affordance 1408H is associated with a previous real-time communication session that the user of device 600 did not join. As a result, the participant affordance 1408H includes italicized text as compared to non-italicized text of other participant affordances associated with previous real-time communication sessions joined by a user of the device 600 (e.g., 1408F).
As shown in fig. 14C, the device 600 receives (e.g., detects) a user input 1450B (e.g., a tap) corresponding to a selection of the participant affordance 1408A of the participant group "menmon," which includes 15 participants, as described above.
In response to receiving user input 1450B, device 600 initiates a process to start a new real-time video communication session with the participant corresponding to selected participant affordance 1408A ("menuing team"). In some embodiments, a new real-time video communication session is started directly in response to selection of participant affordance 1408A. For example, as shown in fig. 14D, in response to receiving user input 1450B, device 600 displays real-time communication user interface 1410 and initiates a real-time communication session with a "menelian" group without further user input. The real-time communication user interface 1410 includes a representation of a user of the device 600 (e.g., video from a camera in front of the device 600) and a call control menu 1412, similar to the call control menu 630 discussed.
In some embodiments, a menu of the real-time video communication application is displayed in response to selection of participant affordance 1408A, and a menu option is selected to begin a new real-time video communication session. For example, in some embodiments, device 600 displays real-time communication user interface 1410 (as shown in fig. 14D) without initiating a real-time communication session. Conversely, while displaying the real-time communication user interface 1410, the device 600 receives (e.g., detects) a user input (e.g., a tap) corresponding to selection of the call affordance 1414 on the call control menu 1412, and initiates a real-time communication session with the "menelian" group in response to selection of the real-time communication initiation affordance 1414.
Fig. 14E also shows a real-time communication user interface 1404. Instead of receiving a selection of a participant affordance in the list 1408 (as shown in fig. 14C), the device 600 receives (e.g., detects) a user input 1450C (e.g., a tap) corresponding to the selection of the new session affordance 1406. In response to the user input 1450C, and in accordance with the user input 1450C corresponding to the selection of the new session affordance 1406, the device 600 initiates a process for selecting a participant and starting a new real-time video communication session between the selected participant and the user of the device 600. As shown in fig. 14F, the real-time communication user interface 1404 is replaced with a user interface 1416 that includes a text entry field 1418 for entering a participant name using the keyboard 1420, an add participant affordance 1422 for selecting a participant from a menu (e.g., a contact list), an audio-only affordance 1424, and a video affordance 1426.
In FIG. 14F, in response to entering the text "JOE" into the text entry field 1418, the device 600 displays two communication options 1417A and 1417B for the contact "JOE SMITH". In some embodiments, device 600 visually distinguishes communication options associated with devices that are capable of joining a real-time communication session. In fig. 14F, the communication mode (e.g., email) represented by communication option 1417B is associated with a device capable of joining a real-time communication session, as shown in bold text. In contrast, the communication mode (e.g., home phone) represented by communication option 1417A is displayed in normal (not bold) text to indicate that the communication mode is not associated with a device capable of joining a real-time communication session.
As shown in FIG. 14G, participants named Joe, Ashley, and Sam were selected. The device 600 receives (e.g., detects) a user input 1450D (e.g., a tap) corresponding to a selection of the video affordance 1426.
In response to receiving user input 1450D, device 600 starts a new real-time communication session with the selected participant and provides a real-time media stream including video and audio data (as shown in fig. 14H). In some embodiments, in response to receiving a user input corresponding to selection of the audio-only affordance 1424, the device 600 begins a new real-time communication session with the selected participant and provides a real-time media stream that includes audio data and no video data.
In some embodiments, after the new real-time communication session begins, device 600 displays a representation of the new real-time communication session in an application other than the real-time communication application. After starting a real-time communication session with the participants Joe, Ashley, and Sam, the user of the device 600 navigates to the instant messaging application. As shown in fig. 14I, after the real-time communication session is initiated, the device 600 displays an instant messaging user interface 1428 of the instant messaging application. Instant messaging user interface 1428 displays a group messaging session that includes participants of the real-time communication session and displays a message 1430 in message area 1432 indicating that the real-time communication session has been initiated. In some embodiments, after the real-time communication session is initiated, device 600 displays a group comprising participants of the real-time communication session in a messaging conversation list of an instant messaging application. In some embodiments, device 600 displays instant message user interface 1428 (as described above) in response to selection of a group in the message conversation list.
Fig. 15A-15C are flow diagrams illustrating methods according to some embodiments. The method 1500 is performed at a device (e.g., 100, 300, 500, 600) having a display. Some operations in method 1500 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
As described below, the method 1500 provides an intuitive way for initiating and interacting with a real-time communication session between multiple participants. The method reduces the cognitive burden on the user by providing intelligent initiation and interaction of real-time communication sessions between multiple participants, thereby creating a more efficient human-machine interface. For battery-driven computing devices, users are enabled to interact and initiate real-time communication sessions more quickly and efficiently, saving power and increasing the interval between battery charges.
At block 1502, the device displays a real-time video communication user interface (e.g., 1404) of a real-time video communication application. At block 1504, the real-time video communication user interface includes a plurality of participant affordances (e.g., 1408A-1408K) corresponding to respective one or more participants, including a first participant affordance (e.g., 1408A) corresponding to a group of three or more participants. At block 1506, the real-time video communication user interface includes a new session affordance (e.g., 1406) for starting a new real-time video communication session. In some embodiments, the participant affordance corresponds to a previous (e.g., most recent) video communication (e.g., successfully connected or attempted (by the participant using the device or by a participant associated with the external device)) and includes an indication of the participant (e.g., 1408F) of the video communication. In some embodiments, the participant affordance represents a group associated with another communication application, such as an instant messaging application or a phone application (e.g., a recent conference call). In some embodiments, the real-time communication user interface includes a list of recent real-time communication sessions (e.g., the list of recent video chats can be individual chats and/or group chats). Displaying a real-time communication user interface that includes a list of recent real-time communication sessions allows a user to quickly access and effectuate recent real-time communication sessions in which the user or device is engaged (e.g., invited, joined, communicating from, etc.), provide feedback to the user regarding the current status of the real-time communication sessions, and provide visual feedback to the user indicating that certain operations associated with the notifications and/or real-time communication sessions are to be performed. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
In some embodiments, the plurality of participant affordances includes a second participant affordance corresponding to a suggested participant group (e.g., 1408B) (e.g., a suggested participant group that is not manually selected/created by the user) determined based on data (e.g., usage data) from a second application (e.g., phone application, instant messaging application) different from the real-time video communication application.
In some embodiments, the suggested group of participants corresponds to participants (e.g., 1408A) in a group conversation conducted in the second application (e.g., group instant messaging session, group conference call) or participants (e.g., 1408C) in a conference call conducted in the second application. Displaying a real-time communication user interface including affordances corresponding to a suggested group of participants allows a user to quickly access and begin real-time communication with the suggested group and reduces the number of inputs required to perform operations associated with establishing a real-time communication session including each member of the selected group. 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 suitable inputs and reducing user error in 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 efficiently. Further, displaying affordances corresponding to suggestion groups provides additional control operations without cluttering the UI with the additionally displayed controls. Providing additional control operations without cluttering the UI with additional displayed controls 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 error in 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 efficiently.
In some embodiments, the second participant affordance includes an indication (e.g., a graphical or textual indication (e.g., "suggested by message"), a color associated with an application, or a logo associated with the application) of a second application (e.g., the suggested source application). The display also includes a real-time communication user interface that includes affordances corresponding to a suggested group of participants corresponding to participants in a group conversation in an application different from the real-time communication application, allowing the user to quickly access and initiate real-time communication with the suggested group, and reducing the number of inputs required to perform operations associated with establishing a real-time communication session that includes each member of the selected group (e.g., such as navigating the different 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 suitable inputs and reducing user error in 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 efficiently. In some embodiments, the plurality of participant affordances includes a third participant affordance corresponding to a second group of suggested participants (e.g., a group of suggested participants that is not manually selected/created by the user) determined (e.g., from a group of recent calendar events or from a group of recent mail events) based on data (e.g., usage data) from a third application (e.g., a phone application, an instant messaging application, an email application, a calendar application) that is different from the real-time video communication application and different from the second application. Displaying a second participant affordance that includes an indication of an application from which the suggestion group came provides feedback to the user regarding a current state of the real-time communication session and visual feedback to the user indicating certain operations associated with the second application. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently. In some embodiments, the real-time communication user interface further includes a participant selection affordance (e.g., "+").
At block 1508, the device detects an input (e.g., 1450B) corresponding to a request to initiate a process to start a new real-time video communication session. At blocks 1510, 1512, and 1514, in response to detecting the input, the device: in accordance with an input corresponding to selection of the first participant affordance (e.g., 1408A), a process is initiated to begin a new real-time video communication session that includes a group of three or more participants. In some embodiments, a new real-time video communication session is started directly in response to selection of the first participant affordance (e.g., fig. 14D). In some embodiments, in response to selection of the first participant affordance, a menu (e.g., 1416) of the real-time video communication application is displayed and a menu option is selected to begin a new real-time video communication session. In response to detecting the input, the device initiates a process for selecting two or more participants and starting a new real-time video communication session that includes the participant associated with the device and the two or more selected participants, in accordance with the input corresponding to the selection of the new session affordance (e.g., fig. 14F). In some embodiments, the user interface is replaced with another user interface that includes a first affordance (e.g., 1422) for selecting a participant and a second affordance (e.g., 1424 and 1426) for initiating a real-time video communication session (e.g., directly initiating a real-time video communication session in response to selection of the second affordance). In some embodiments, the participant is selected by entering contact information into a text field (e.g., 1418) or selecting a contact from a contact list. In some embodiments, a new real-time video communication session is started directly in response to selection of the affordance (e.g., 1408A). Initiating a process for starting a new real-time communication when a prescribed condition is satisfied allows the device to provide different real-time video communication sessions to the user based on the number of selected participants. Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently. Furthermore, initiating a different procedure for starting a new real-time communication when a prescribed condition is met reduces the number of inputs required to perform the operation. 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 suitable inputs and reducing user error in 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 efficiently.
Optionally, at blocks 1516, 1518, 1520, 1522, 1524, and 1526, the device receives a second input corresponding to selection of the participant selection affordance. In response to receiving a second user input corresponding to selection of the participant selection affordance, the device displays a group selection user interface (e.g., 1416) that includes: a text entry field (e.g., 1418) for identifying one or more participants (e.g., to: a field); a keyboard (e.g., 1420); an audio-only affordance (e.g., 1424); and a video affordance (e.g., 1426). While displaying the group selection user interface, the device receives a third user input selection. In response to receiving the third user input, the device initiates a new real-time communication session using audio transmitted from the electronic device (e.g., audio recorded by one or more microphones of the device) without transmitting video data from the electronic device according to the third user input corresponding to the selection of the audio-only affordance. Starting a new real-time communication session using audio transmitted from the electronic device allows the user to join the real-time communication session using audio without requiring the user to select or modify additional inputs and outputs of the device (e.g., turn off the camera and/or turn on the microphone) when a prescribed condition is satisfied (e.g., in response to only the audio affordance being selected). Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently. In some embodiments, the system displays an indicator that describes that the user is joining the real-time communication using audio only. In some embodiments, the device prompts the user to display a phrase such as "whether you want to connect with video" in order to determine whether the user wants to use only audio or video and audio. This may make the user comfortable because the video is not shared). In response to receiving the third user input, the device initiates a new real-time communication session using the audio and video transmitted from the electronic device in accordance with the third user input corresponding to the selection of the video affordance. Starting a real-time communication session using audio and video transmitted from an electronic device allows a user to join the real-time communication session using audio and video without requiring the user to select or modify additional inputs and outputs of the device (e.g., turn on a camera and/or turn on a microphone) when a prescribed condition is satisfied (e.g., in response to a video affordance option being selected). Performing an optimization operation when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
Optionally, at blocks 1528 and 1530, the device starts a new real-time communication session. After the new real-time communication session is started, the device displays a representation of the new real-time communication session in a fourth application (e.g., a messaging or telephony application) that is different from the real-time communication session. In some embodiments, the real-time communication participants are displayed as group participants in a group message in a message conversation list in an instant messaging application. In some embodiments, the group message in the message conversation list includes an indication of whether there is an active real-time communication session that includes a group participant (e.g., 1408E). In some embodiments, the real-time communication participants are displayed as group participants in a group call in a recent call list in a telephony application or a calling application. In some embodiments, the real-time communication participants are displayed as invitees to a calendar event in the calendar application. Displaying the representation of the real-time communication session in an application different from the real-time communication session provides feedback to the user regarding the current state of the real-time communication session in the plurality of applications, and in some embodiments provides visual feedback to the user indicating that certain operations associated with the notification and/or the real-time communication session are to be performed if the user activates the representation only once (e.g., later starts another new real-time communication session in the real-time communication application from another application having the same participants as the previous real-time communication session). Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide suitable input and reducing user error in 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 efficiently.
In some embodiments, the plurality of participant affordances (e.g., 1408) includes a fourth participant affordance (e.g., 1408A, 1408E) corresponding to a group of three or more participants. In some embodiments, in accordance with a determination that the fourth participant affordance corresponds to an active real-time communication session (e.g., 1408E), the fourth participant affordance is displayed with a first visual appearance (e.g., the first visual appearance is a font color or font style of the participant affordance or is an icon or logo displayed at or near the participant affordance); and in accordance with a determination that the fourth participant affordance corresponds to an inactive real-time communication session (e.g., 1408A), the fourth participant affordance is displayed with a second visual appearance that is different from the first visual appearance (e.g., the second visual appearance is a different font color or font style than the font color or font style of the first visual appearance, or the second visual appearance does not include an icon or logo displayed proximate to the representation of the potential participant or includes an icon or logo that is different from the first visual appearance). In some embodiments, the appearance of the participant affordances associated with previous real-time communication sessions is based on whether the user of the device joined the corresponding real-time communication session (e.g., the missing participant affordance (e.g., 1408H) of the real-time communication session includes a font color, font style, icon, glyph, etc. that is different or not included with the participant affordance (e.g., 1408F) of the real-time communication session that the user of the device 600 joined; if the user of the device joined the session, the participant affordance includes text of one color, if the user of the device did not join the session before it ended, text of a different color). In some embodiments, the appearance of the participant affordances associated with the active real-time communication session changes when the session is no longer active (e.g., from bold text and video camera icons to non-bold text without video camera icons).
In some embodiments, initiating the process for selecting two or more participants includes displaying representations (e.g., 1417A, 1417B) of potential participants (e.g., contacts in a contact list). In some embodiments, in accordance with a determination that the potential participant is associated with a device capable of joining the real-time communication session, the representation of the potential participant is displayed with a first visual appearance (e.g., the first visual appearance is a font color or font style of the representation of the potential participant or an icon or symbol displayed proximate to the representation of the potential participant); and in accordance with a determination that the participant is not associated with a device capable of joining the real-time communication session, displaying a representation of the potential participant with a second visual appearance different from the first visual appearance (e.g., the second visual appearance is a font color or font style different from the font color or font style of the first visual appearance, or the second visual appearance does not include an icon or logo displayed proximate to the representation of the potential participant or includes an icon or logo different from the first visual appearance).
Note that the details of the process described above with reference to method 1500 (e.g., fig. 15A-15C) also apply in a similar manner to the method described above. For example, method 1500 optionally includes one or more features of the various methods described above with reference to methods 700, 900, 1100, or 1300.
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the technology and its practical applications. Those skilled in the art are thus well able to best utilize the techniques and various embodiments with various modifications as are suited to the particular use contemplated.
Although the present disclosure and examples have been fully described with reference to the accompanying drawings, it is to be noted that various changes and modifications will become apparent to those skilled in the art. It is to be understood that such changes and modifications are to be considered as included within the scope of the disclosure and examples as defined by the following claims.
As described above, one aspect of the present technology is to collect and use data from a variety of sources to improve multimedia communications. The present disclosure contemplates that, in some instances, such collected data may include personal information data that uniquely identifies or may be used to contact or locate a particular person. Such personal information data may include demographic data, location-based data, phone numbers, email addresses, Twitter account numbers, home addresses, data or records related to a user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, or any other identifying or personal information.
The present disclosure recognizes that the use of such personal information data in the present technology may be useful to benefit the user. For example, personal information data may be used to facilitate multimedia communication between users. Thus, using such personal information data enables the user to improve such communication. In addition, the present disclosure also contemplates other uses for which personal information data is beneficial to a user. For example, health and fitness data may be used to provide insight into the overall health condition of a user, or may be used as positive feedback for individuals using technology to pursue health goals.
The present disclosure contemplates that entities responsible for collecting, analyzing, publishing, transmitting, storing, or otherwise using such personal information data will comply with established privacy policies and/or privacy practices. In particular, such entities should enforce and adhere to the use of privacy policies and practices that are recognized as meeting or exceeding industry or government requirements for maintaining privacy and security of personal information data. Users can conveniently access such policies and should update as data is collected and/or used. The user's personal information should be collected as legitimate and legitimate uses of the entity and should not be shared or sold outside of these legitimate uses. Furthermore, such acquisition/sharing should be done after receiving the user's informed consent. Furthermore, such entities should consider taking any necessary steps to defend and secure access to such personal information data and to ensure that others who have access to the personal information data comply with their privacy policies and procedures. In addition, such entities may subject themselves to third party evaluations to prove compliance with widely accepted privacy policies and practices. In addition, policies and practices should be adjusted to the particular type of personal information data collected and/or accessed, and to applicable laws and standards including specific considerations of jurisdiction. For example, in the united states, the collection or access of certain health data may be subject to federal and/or state laws such as the health insurance convenience and accountability act (HIPAA); while health data in other countries may be subject to other regulations and policies and should be treated accordingly. Therefore, different privacy practices for different types of personal data should be maintained in each country.
Regardless of the foregoing, the present disclosure also contemplates embodiments in which a user selectively prevents use or access to personal information data. That is, the present disclosure contemplates that hardware elements and/or software elements may be provided to prevent or block access to such personal information data. For example, in the case of multimedia communications, the techniques of the present invention may be configured to allow a user to opt-in to "join" or "opt-out of" participating in the collection of personal information data during the registration service or at any time thereafter. As another example, the user may choose not to provide location data and/or availability. In yet another example, the user may choose to limit the length of time that a record of a communication session is maintained or to refrain from retaining such data altogether. In addition to providing "opt-in" and "opt-out" options, the present disclosure contemplates providing notifications related to accessing or using personal information. For example, the user may notify the user when the application is downloaded that their personal information data is to be accessed, and then remind the user again before the personal information data is accessed by the application.
Further, it is an object of the present disclosure that personal information data should be managed and processed to minimize the risk of inadvertent or unauthorized access or use. Once the data is no longer needed, the risk can be minimized by limiting data collection and deleting data. In addition, and when applicable, including in certain health-related applications, data de-identification may be used to protect the privacy of the user. Where appropriate, de-identification may be facilitated by removing certain identifiers (e.g., date of birth, etc.), controlling the amount or characteristics of data stored (e.g., collecting location data at the city level rather than the address level), controlling the manner in which data is stored (e.g., aggregating data among users), and/or other methods.
Thus, while the present disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, the present disclosure also contemplates that various embodiments may be implemented without the need to access such personal information data. That is, various embodiments of the present technology do not fail to function properly due to the lack of all or a portion of such personal information data. For example, a communication session may be established based on non-personal information data or an absolute minimum of personal information (e.g., content requested by a device associated with the user, other non-personal information available to the communication service provider, or publicly available information).

Claims (30)

1. An electronic device, comprising:
a display device;
one or more processors; and
memory storing one or more programs configured for execution by the one or more processors, the one or more programs including instructions for:
displaying a real-time video communication user interface of a real-time video communication application, the real-time video communication user interface including simultaneous display in the real-time communication user interface:
a plurality of participant affordances corresponding to respective one or more participants, the plurality of participant affordances including a first participant affordance corresponding to a group of three or more participants; and
A new session affordance for starting a new real-time communication session;
detecting an input corresponding to a request to initiate a process to start a new real-time communication session; and
in response to detecting the input:
initiating a process to start a new real-time communication session in accordance with the input corresponding to the selection of the first participant affordance, the new real-time communication session including a group of three or more participants; and
in accordance with the input corresponding to selection of the new session affordance, initiate a process for selecting two or more participants of a new real-time communication session that will initially include a participant associated with the electronic device and the selected two or more participants.
2. The electronic device of claim 1, wherein the real-time video communication user interface further comprises a list of recent real-time communication sessions.
3. The electronic device of claim 1, wherein the plurality of participant affordances includes a second participant affordance corresponding to a suggested participant group determined based on data from a second application different from the real-time video communication application.
4. The electronic device of claim 3, wherein the group of suggested participants corresponds to participants in a group conversation conducted in the second application or in a conference call conducted in the second application.
5. The electronic device of claim 3, wherein the second participant affordance includes an indication of the second application.
6. The electronic device of claim 3, wherein the plurality of participant affordances includes a third participant affordance corresponding to a second group of suggested participants determined based on data from a third application that is different from the real-time video communication application and different from the second application.
7. The electronic device of claim 1, wherein the real-time video communication user interface further comprises a participant selection affordance, and wherein the one or more programs further comprise instructions to:
receiving a second input corresponding to selection of the participant selection affordance; and
in response to receiving the second input corresponding to selection of the participant selection affordance, displaying a group selection user interface that includes:
A text entry field for identifying one or more participants;
a keyboard;
an audio-only affordance; and
a video affordance;
while displaying the group selection user interface, receiving a third input selection; and
in response to receiving the third input:
in accordance with the third input corresponding to the selection of the audio-only affordance, initiating the new real-time communication session using audio transmitted from the electronic device without transmitting video data from the electronic device; and
in accordance with the third input corresponding to the selection of the video affordance, initiating the new real-time communication session using audio and video transmitted from the electronic device.
8. The electronic device of claim 1, wherein the one or more programs further comprise instructions for:
starting the new real-time communication session; and
after the new real-time communication session is started, displaying a representation of the new real-time communication session in a fourth application different from the real-time video communication application.
9. The electronic device of claim 1, wherein the plurality of participant affordances includes a fourth participant affordance corresponding to a group of three or more participants, and wherein:
In accordance with a determination that the fourth participant affordance corresponds to an active real-time communication session, the fourth participant affordance displayed in a first visual appearance; and
in accordance with a determination that the fourth participant affordance corresponds to an inactive real-time communication session, the fourth participant affordance is displayed with a second visual appearance that is different from the first visual appearance.
10. The electronic device of claim 1, wherein initiating the process for selecting two or more participants includes displaying representations of potential participants, and wherein:
in accordance with a determination that the potential participant is associated with a device capable of joining a real-time communication session, the representation of the potential participant is displayed with a first visual appearance; and is
In accordance with a determination that the participant is not associated with a device capable of joining a real-time communication session, the representation of the potential participant is displayed with a second visual appearance that is different from the first visual appearance.
11. A non-transitory computer-readable storage medium storing one or more programs configured for execution by one or more processors of an electronic device with a display device, the one or more programs including instructions for:
Displaying a real-time video communication user interface of a real-time video communication application, the real-time video communication user interface including simultaneous display in the real-time communication user interface:
a plurality of participant affordances corresponding to respective one or more participants, the plurality of participant affordances including a first participant affordance corresponding to a group of three or more participants; and
a new session affordance for starting a new real-time communication session;
detecting an input corresponding to a request to initiate a process to start a new real-time communication session; and
in response to detecting the input:
initiating a process to start a new real-time communication session in accordance with the input corresponding to the selection of the first participant affordance, the new real-time communication session including a group of three or more participants; and
in accordance with the input corresponding to selection of the new session affordance, initiate a process for selecting two or more participants of a new real-time communication session that will initially include a participant associated with the electronic device and the selected two or more participants.
12. A method, comprising:
at an electronic device having a display device:
displaying a real-time video communication user interface of a real-time video communication application, the real-time video communication user interface including simultaneous display in the real-time communication user interface:
a plurality of participant affordances corresponding to respective one or more participants, the plurality of participant affordances including a first participant affordance corresponding to a group of three or more participants; and
a new session affordance for starting a new real-time communication session;
detecting an input corresponding to a request to initiate a process to start a new real-time communication session; and
in response to detecting the input:
initiating a process to start a new real-time communication session in accordance with the input corresponding to the selection of the first participant affordance, the new real-time communication session including a group of three or more participants; and
in accordance with the input corresponding to selection of the new session affordance, initiate a process for selecting two or more participants of a new real-time communication session that will initially include a participant associated with the electronic device and the selected two or more participants.
13. The non-transitory computer readable storage medium of claim 11, wherein the real-time video communication user interface further comprises a list of recent real-time communication sessions.
14. The non-transitory computer-readable storage medium of claim 11, wherein the plurality of participant affordances includes a second participant affordance corresponding to a group of suggested participants determined based on data from a second application different from the real-time video communication application.
15. The non-transitory computer-readable storage medium of claim 14, wherein the group of suggested participants corresponds to participants in a group conversation conducted in the second application or in a conference call conducted in the second application.
16. The non-transitory computer-readable storage medium of claim 14, wherein the second participant affordance includes an indication of the second application.
17. The non-transitory computer-readable storage medium of claim 14, wherein the plurality of participant affordances includes a third participant affordance corresponding to a second group of suggested participants determined based on data from a third application that is different from the real-time video communication application and different from the second application.
18. The non-transitory computer readable storage medium of claim 11, wherein the real-time video communication user interface further comprises a participant selection affordance, and wherein the one or more programs further comprise instructions to:
receiving a second input corresponding to selection of the participant selection affordance; and
in response to receiving the second input corresponding to selection of the participant selection affordance, displaying a group selection user interface that includes:
a text entry field for identifying one or more participants;
a keyboard;
an audio-only affordance; and
a video affordance;
while displaying the group selection user interface, receiving a third input selection; and
in response to receiving the third input:
in accordance with the third input corresponding to the selection of the audio-only affordance, initiating the new real-time communication session using audio transmitted from the electronic device without transmitting video data from the electronic device; and
in accordance with the third input corresponding to the selection of the video affordance, initiating the new real-time communication session using audio and video transmitted from the electronic device.
19. The non-transitory computer readable storage medium of claim 11, wherein the one or more programs further comprise instructions for:
starting the new real-time communication session; and
after the new real-time communication session is started, displaying a representation of the new real-time communication session in a fourth application different from the real-time video communication application.
20. The non-transitory computer-readable storage medium of claim 11, wherein the plurality of participant affordances includes a fourth participant affordance corresponding to a group of three or more participants, and wherein:
in accordance with a determination that the fourth participant affordance corresponds to an active real-time communication session, the fourth participant affordance displayed in a first visual appearance; and
in accordance with a determination that the fourth participant affordance corresponds to an inactive real-time communication session, the fourth participant affordance is displayed with a second visual appearance that is different from the first visual appearance.
21. The non-transitory computer-readable storage medium of claim 11, wherein initiating the process for selecting two or more participants comprises displaying representations of potential participants, and wherein:
In accordance with a determination that the potential participant is associated with a device capable of joining a real-time communication session, the representation of the potential participant is displayed with a first visual appearance; and is
In accordance with a determination that the participant is not associated with a device capable of joining a real-time communication session, the representation of the potential participant is displayed with a second visual appearance that is different from the first visual appearance.
22. The method of claim 12, wherein the real-time video communication user interface further comprises a list of recent real-time communication sessions.
23. The method of claim 12, wherein the plurality of participant affordances includes a second participant affordance corresponding to a suggested participant group determined based on data from a second application different from the real-time video communication application.
24. The method of claim 23, wherein the group of suggested participants corresponds to participants in a group conversation conducted in the second application or in a conference call conducted in the second application.
25. The method of claim 23, wherein the second participant affordance includes an indication of the second application.
26. The method of claim 23, wherein the plurality of participant affordances includes a third participant affordance corresponding to a second group of suggested participants determined based on data from a third application that is different from the real-time video communication application and different from the second application.
27. The method of claim 12, wherein the real-time video communication user interface further comprises a participant selection affordance, and wherein the method further comprises:
receiving a second input corresponding to selection of the participant selection affordance; and
in response to receiving the second input corresponding to selection of the participant selection affordance, displaying a group selection user interface that includes:
a text entry field for identifying one or more participants;
a keyboard;
an audio-only affordance; and
a video affordance;
while displaying the group selection user interface, receiving a third input selection; and
in response to receiving the third input:
in accordance with the third input corresponding to the selection of the audio-only affordance, initiating the new real-time communication session using audio transmitted from the electronic device without transmitting video data from the electronic device; and
In accordance with the third input corresponding to the selection of the video affordance, initiating the new real-time communication session using audio and video transmitted from the electronic device.
28. The method of claim 12, further comprising:
starting the new real-time communication session; and
after the new real-time communication session is started, displaying a representation of the new real-time communication session in a fourth application different from the real-time video communication application.
29. The method of claim 12, wherein the plurality of participant affordances includes a fourth participant affordance corresponding to a group of three or more participants, and wherein:
in accordance with a determination that the fourth participant affordance corresponds to an active real-time communication session, the fourth participant affordance displayed in a first visual appearance; and
in accordance with a determination that the fourth participant affordance corresponds to an inactive real-time communication session, the fourth participant affordance is displayed with a second visual appearance that is different from the first visual appearance.
30. The method of claim 12, wherein initiating the process for selecting two or more participants comprises displaying representations of potential participants, and wherein:
In accordance with a determination that the potential participant is associated with a device capable of joining a real-time communication session, the representation of the potential participant is displayed with a first visual appearance; and is
In accordance with a determination that the participant is not associated with a device capable of joining a real-time communication session, the representation of the potential participant is displayed with a second visual appearance that is different from the first visual appearance.
CN202011243876.0A 2018-05-07 2018-09-28 Multi-participant real-time communication user interface Active CN112214275B (en)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201862668229P 2018-05-07 2018-05-07
US62/668,229 2018-05-07
US201862679925P 2018-06-03 2018-06-03
US62/679,925 2018-06-03
DKPA201870362A DK180130B1 (en) 2018-05-07 2018-06-12 Multi-participant live communication user interface
DKPA201870362 2018-06-12
DKPA201870363 2018-06-12
DKPA201870363 2018-06-12
DKPA201870364 2018-06-12
DKPA201870364A DK201870364A1 (en) 2018-05-07 2018-06-12 Multi-participant live communication user interface
CN201811136766.7A CN110457091A (en) 2018-05-07 2018-09-28 Multi-player real time communication user interface

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201811136766.7A Division CN110457091A (en) 2018-05-07 2018-09-28 Multi-player real time communication user interface

Publications (2)

Publication Number Publication Date
CN112214275A true CN112214275A (en) 2021-01-12
CN112214275B CN112214275B (en) 2021-10-29

Family

ID=68466048

Family Applications (6)

Application Number Title Priority Date Filing Date
CN201811136766.7A Pending CN110457091A (en) 2018-05-07 2018-09-28 Multi-player real time communication user interface
CN201910400180.5A Active CN110457096B (en) 2018-05-07 2018-09-28 Multi-participant real-time communication user interface
CN201910704856.XA Pending CN110457104A (en) 2018-05-07 2018-09-28 Multi-player real time communication user interface
CN202011243876.0A Active CN112214275B (en) 2018-05-07 2018-09-28 Multi-participant real-time communication user interface
CN201910400179.2A Active CN110457095B (en) 2018-05-07 2018-09-28 Multi-participant real-time communication user interface
CN202010126661.4A Pending CN111367603A (en) 2018-05-07 2018-09-28 Multi-participant real-time communication user interface

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN201811136766.7A Pending CN110457091A (en) 2018-05-07 2018-09-28 Multi-player real time communication user interface
CN201910400180.5A Active CN110457096B (en) 2018-05-07 2018-09-28 Multi-participant real-time communication user interface
CN201910704856.XA Pending CN110457104A (en) 2018-05-07 2018-09-28 Multi-player real time communication user interface

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201910400179.2A Active CN110457095B (en) 2018-05-07 2018-09-28 Multi-participant real-time communication user interface
CN202010126661.4A Pending CN111367603A (en) 2018-05-07 2018-09-28 Multi-participant real-time communication user interface

Country Status (3)

Country Link
JP (4) JP6609361B2 (en)
CN (6) CN110457091A (en)
WO (1) WO2019217477A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102373510B1 (en) * 2017-08-11 2022-03-11 삼성전자주식회사 Display device for visualizing contents as the display is rotated and control method thereof
JP6946499B2 (en) * 2020-03-06 2021-10-06 株式会社日立製作所 Speech support device, speech support method, and speech support program
US11580984B2 (en) * 2020-03-20 2023-02-14 At&T Intellectual Property I, L.P. Virtual assistant-initiated conversations
WO2022035931A1 (en) * 2020-08-12 2022-02-17 DTEN, Inc. Mode control and content sharing
JP6886750B1 (en) * 2020-10-29 2021-06-16 株式会社パルケ Online meeting support device, online meeting support program, and online meeting support system
JP7043110B1 (en) * 2020-10-29 2022-03-29 株式会社パルケ Online conferencing support equipment, online conferencing support programs, and online conferencing support systems
CN112288996B (en) * 2020-11-13 2022-08-09 中铁广州工程局集团深圳工程有限公司 High-voltage offline early warning protection method and system, computer equipment and storage medium thereof
US20240028123A1 (en) * 2020-12-04 2024-01-25 Sony Group Corporation Information processing device, information processing method, program, and information processing system
US11909921B1 (en) * 2020-12-21 2024-02-20 Meta Platforms, Inc. Persistent digital video streaming
US11943072B2 (en) * 2021-03-30 2024-03-26 Snap Inc. Providing a room preview within a virtual conferencing system
CN117321575A (en) * 2021-05-17 2023-12-29 苹果公司 Apparatus, method and graphical user interface for automatically providing shared content to an application

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103458215A (en) * 2012-05-29 2013-12-18 国基电子(上海)有限公司 Video call switching system, cellphone, electronic device and switching method
CN104010158A (en) * 2014-03-11 2014-08-27 宇龙计算机通信科技(深圳)有限公司 Mobile terminal and implementation method of multi-party video call
CN104427288A (en) * 2013-08-26 2015-03-18 联想(北京)有限公司 Information processing method and server
US20170324784A1 (en) * 2016-05-06 2017-11-09 Facebook, Inc. Instantaneous Call Sessions over a Communications Application

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3859005A (en) 1973-08-13 1975-01-07 Albert L Huebner Erosion reduction in wet turbines
US4826405A (en) 1985-10-15 1989-05-02 Aeroquip Corporation Fan blade fabrication system
US7185054B1 (en) * 1993-10-01 2007-02-27 Collaboration Properties, Inc. Participant display and selection in video conference calls
KR100595912B1 (en) 1998-01-26 2006-07-07 웨인 웨스터만 Method and apparatus for integrating manual input
US7218226B2 (en) 2004-03-01 2007-05-15 Apple Inc. Acceleration-based theft detection system for portable electronic devices
US7688306B2 (en) 2000-10-02 2010-03-30 Apple Inc. Methods and apparatuses for operating a portable device based on an accelerometer
US6677932B1 (en) 2001-01-28 2004-01-13 Finger Works, Inc. System and method for recognizing touch typing under limited tactile feedback conditions
US6570557B1 (en) 2001-02-10 2003-05-27 Finger Works, Inc. Multi-touch system and method for emulating modifier keys via fingertip chords
JP4352381B2 (en) 2003-09-19 2009-10-28 日本ビクター株式会社 Video phone equipment
US20050099492A1 (en) 2003-10-30 2005-05-12 Ati Technologies Inc. Activity controlled multimedia conferencing
JP4994646B2 (en) * 2005-11-29 2012-08-08 京セラ株式会社 Communication terminal, communication system, and communication terminal display method
US7657849B2 (en) 2005-12-23 2010-02-02 Apple Inc. Unlocking a device by performing gestures on an unlock image
US8818175B2 (en) * 2010-03-08 2014-08-26 Vumanity Media, Inc. Generation of composited video programming
US8725880B2 (en) * 2010-04-07 2014-05-13 Apple, Inc. Establishing online communication sessions between client computing devices
MX2013013763A (en) * 2011-05-26 2014-07-30 Google Inc Providing contextual information and enabling group communication for participants in a conversation.
CN103384235B (en) * 2012-05-04 2017-09-29 腾讯科技(深圳)有限公司 Data are presented during multi-conference method, server and system
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
CN104903834B (en) 2012-12-29 2019-07-05 苹果公司 For equipment, method and the graphic user interface in touch input to transition between display output relation
US8848026B2 (en) * 2013-02-01 2014-09-30 Maitland M. DeLand Video conference call conversation topic sharing system
JP6111898B2 (en) * 2013-06-28 2017-04-12 富士電機株式会社 Image display device, monitoring system, and image display program
CN104869046A (en) * 2014-02-20 2015-08-26 陈时军 Information exchange method and information exchange device
US20160014059A1 (en) * 2015-09-30 2016-01-14 Yogesh Chunilal Rathod Presenting one or more types of interface(s) or media to calling and/or called user while acceptance of call
US20150350141A1 (en) * 2014-05-31 2015-12-03 Apple Inc. Message user interfaces for capture and transmittal of media and location content
US9971500B2 (en) * 2014-06-01 2018-05-15 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
WO2015187941A1 (en) * 2014-06-05 2015-12-10 Reel, Inc. Apparatus and method for sharing content items among a plurality of mobile devices
JP2016001446A (en) * 2014-06-12 2016-01-07 モイ株式会社 Conversion image providing device, conversion image providing method, and program
CN104331246A (en) * 2014-11-19 2015-02-04 广州三星通信技术研究有限公司 Device and method for split screen display in terminal
US9380264B1 (en) * 2015-02-16 2016-06-28 Siva Prasad Vakalapudi System and method for video communication
JP6172610B2 (en) * 2015-03-17 2017-08-02 パナソニックIpマネジメント株式会社 Video conferencing system
US10061467B2 (en) * 2015-04-16 2018-08-28 Microsoft Technology Licensing, Llc Presenting a message in a communication session
US20160308920A1 (en) * 2015-04-16 2016-10-20 Microsoft Technology Licensing, Llc Visual Configuration for Communication Session Participants
CN105094957A (en) * 2015-06-10 2015-11-25 小米科技有限责任公司 Video conversation window control method and apparatus
CN104980578B (en) * 2015-06-11 2018-01-23 广东欧珀移动通信有限公司 A kind of event-prompting method and mobile terminal
CN105204846B (en) * 2015-08-26 2019-07-09 小米科技有限责任公司 Display methods, device and the terminal device of video pictures in more people's videos
CN105554429A (en) * 2015-11-19 2016-05-04 掌赢信息科技(上海)有限公司 Video conversation display method and video conversation equipment
CN113093983A (en) * 2016-06-12 2021-07-09 苹果公司 Device and method for accessing common device functions
JP6634965B2 (en) * 2016-06-20 2020-01-22 株式会社リコー Communication terminal, communication system, communication control method, and program
JP6179834B1 (en) * 2016-09-27 2017-08-16 パナソニックIpマネジメント株式会社 Video conferencing equipment
US20180123986A1 (en) * 2016-11-01 2018-05-03 Microsoft Technology Licensing, Llc Notification of a Communication Session in a Different User Experience
CN107728876B (en) * 2017-09-20 2019-08-09 深圳市金立通信设备有限公司 A kind of method of split screen display available, terminal and computer readable storage medium
CN107704177B (en) * 2017-11-07 2020-04-21 Oppo广东移动通信有限公司 Interface display method and device and terminal
CN107992248B (en) * 2017-11-27 2020-09-29 北京小米移动软件有限公司 Message display method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103458215A (en) * 2012-05-29 2013-12-18 国基电子(上海)有限公司 Video call switching system, cellphone, electronic device and switching method
CN104427288A (en) * 2013-08-26 2015-03-18 联想(北京)有限公司 Information processing method and server
CN104010158A (en) * 2014-03-11 2014-08-27 宇龙计算机通信科技(深圳)有限公司 Mobile terminal and implementation method of multi-party video call
US20170324784A1 (en) * 2016-05-06 2017-11-09 Facebook, Inc. Instantaneous Call Sessions over a Communications Application

Also Published As

Publication number Publication date
JP6998353B2 (en) 2022-01-18
CN111367603A (en) 2020-07-03
WO2019217477A1 (en) 2019-11-14
JP2019197520A (en) 2019-11-14
JP7297044B2 (en) 2023-06-23
JP2022043185A (en) 2022-03-15
JP2020039139A (en) 2020-03-12
CN110457104A (en) 2019-11-15
CN110457095A (en) 2019-11-15
CN110457096A (en) 2019-11-15
CN110457096B (en) 2021-01-01
CN110457091A (en) 2019-11-15
JP2023120280A (en) 2023-08-29
JP6609361B2 (en) 2019-11-20
CN110457095B (en) 2022-12-27
CN112214275B (en) 2021-10-29

Similar Documents

Publication Publication Date Title
DK180130B1 (en) Multi-participant live communication user interface
CN111108740B (en) Electronic device, computer-readable storage medium, and method for displaying visual indicators of participants in a communication session
CN110457096B (en) Multi-participant real-time communication user interface
AU2023248185B2 (en) Multi-participant live communication user interface
AU2021203903B2 (en) Multi-participant live communication user interface

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: M.Van Oz

Inventor after: N.V.Jin

Inventor after: S.O. Lemme

Inventor after: J. Lausch

Inventor after: H. Enamel

Inventor after: L.S. Broughton

Inventor after: P. D. Callaway

Inventor after: P F Carol

Inventor after: J.W.Chang

Inventor after: A. Dreyer

Inventor after: A.C.Dai

Inventor after: C. M. Frederick

Inventor after: R. Garcia III

Inventor before: M.Van Oz

Inventor before: N.V.Jin

Inventor before: S.O. Lemme

Inventor before: J. Lausch

Inventor before: H. Enamel

Inventor before: L. Broughton

Inventor before: P. Callaway

Inventor before: P F Carol

Inventor before: J.W.Chang

Inventor before: A. Dreyer

Inventor before: A.Dai

Inventor before: C. federeggi

Inventor before: R. Garcia