Abstract:
Computing devices may implement instant video communication connections for video communications. Connection information for mobile computing devices may be maintained. A request to initiate an instant video communication may be received, and if authorized, the connection information for the particular recipient mobile computing device may be accessed. Video communication data may then be sent to the recipient mobile computing device according to the connection information so that the video communication data may be displayed at the recipient device as it is received. New connection information for different mobile computing devices may be added, or updates to existing connection information may also be performed. Connection information for some mobile computing devices may be removed.
Abstract:
A quick relay communication protocol is used by an initiating communication device (such as a wearable electronic device, e.g., a smart watch) and/or a recipient communication device (such as a companion electronic device to the wearable electronic device, e.g., a smart phone, a tablet computer or a laptop computer) to selectively communicate messages via different communication channels. Based on available connections and a communication constraint associated with a message, a processor executing a program module in an application layer in the initiating communication device provides transmission instructions to an interface circuit in the initiating communication device, which transmits a message to the recipient communication device based on the transmission instructions. When there are currently no available connections and the message is eligible to be communicated through a cloud-based relay server, the processor establishes a cloud-based connection with the recipient communication device via the relay server.
Abstract:
The subject technology provides a video conferencing application in which a live incoming or outgoing video stream can be supplemented with supplemental content, such as stickers, animations, etc., from within the video conferencing application. In this manner, a user participating in a video conferencing session with a remote user can add stickers, animations, and/or adaptive content to an outgoing video stream being captured by the device of the user, or to an incoming video stream from the device of the remote user, without having to locally cache/store a video clip before editing, and without having to leave the video conferencing session (or the video conferencing application) to access a video editing application.
Abstract:
Some embodiments provide a method for initiating a video conference using a first mobile device. The method presents, during an audio call through a wireless communication network with a second device, a selectable user-interface (UI) item on the first mobile device for switching from the audio call to the video conference. The method receives a selection of the selectable UI item. The method initiates the video conference without terminating the audio call. The method terminates the audio call before allowing the first and second devices to present audio and video data exchanged through the video conference.
Abstract:
At least certain embodiments of the present disclosure include a framework for turning one or more multifunctional devices coupled to a personal area network (PAN) into virtual accessories of another multifunctional device coupled to the PAN. In one embodiment, connection between a multifunctional device and a PAN is established, where the PAN is further coupled to a set of multifunctional devices. One or more distributed functionalities associated with a multi-device capable application are assigned to each multifunctional device based on relationship between the multifunctional devices. At least part of the multi-device capable application is shared between the multifunctional devices. Using the multifunctional device, the one or more distributed functionalities are performed in collaboration with the other multifunctional devices.
Abstract:
Computing devices may implement instant video communication connections for video communications. Connection information for mobile computing devices may be maintained. A request to initiate an instant video communication may be received, and if authorized, the connection information for the particular recipient mobile computing device may be accessed. Video communication data may then be sent to the recipient mobile computing device according to the connection information so that the video communication data may be displayed at the recipient device as it is received. New connection information for different mobile computing devices may be added, or updates to existing connection information may also be performed. Connection information for some mobile computing devices may be removed.
Abstract:
Some embodiments relate to a device that transmits/receives encrypted communications with another device. A first device, such as a smart phone or smart watch, may generate a message associated with a certain data class, which may determine the security procedure used in the communication of the message. The first device may establish an encryption session for the purpose of communicating the message to a second device. Prior to sending the message, the first device may wait until encryption credentials are accessible according to certain conditions, which may be determined at least in part by the data class of the message. Similarly, after receiving the message, the second device may not be able to decrypt the message until encryption credentials are accessible according to certain conditions, which may be determined at least in part by the message data class.
Abstract:
Performing a real-time application on a mobile device, involving communication of audio/video packets with a remote device. The mobile device may initially communicate the audio/video packets on a first communication channel with the remote device. During the real-time communication, the mobile device may determine if no packets have been received by the mobile device from the remote device for a first threshold period of time. If no packets have been received by the mobile device from the remote device for the first threshold period of time, the mobile device may establish a second communication channel for transmission of the audio/video packets with the remote device. In response to using the second communication channel, the mobile device may modify a resolution or bit rate of the audio/video packets transmitted to the remote device.
Abstract:
Computing devices may implement dynamic display of video communication data. Video communication data for a video communication may be received at a computing device where another application is currently displaying image data on an electronic display. A display location may be determined for the video communication data according to display attributes that are configured by the other application at runtime. Once determined, the video communication data may then be displayed in the determined location. In some embodiments, the video communication data may be integrated with other data displayed on the electronic display for the other application.
Abstract:
In the described embodiments, a connection data exchange (“CDX”) service serves as an exchange point for connection data for establishing peer-to-peer (“P2P”) connections between devices. During operation, the CDX service can receive a connection data structure (a “ticket”) that was created by a matchmaker or an invitation service in response to requests from devices attempting to establish P2P connections. Each ticket can identify a corresponding device and can include encrypted NAT hole-punch data associated with the corresponding device. The CDX service can authenticate each ticket and decrypt the NAT hole punch data from the ticket using a corresponding key. The CDX service can then use corresponding NAT hole punch data to send connection data to each of the devices that reside behind NAT devices.