element-hq / element-hq/element-meta

Element Call PiP (Picture in picture) in Element X

Open
#2,012 10 comments 3 reactions 2 assignees Claimed by @stefanceriu View on GitHub
T-Enhancement
Dominant language
No language data
Stars
112
Forks
25
Avg merge
6h 6m
Merged PRs (30d)
4

Description

Presently, there's too many unknowns to implement PiP (picture in picture) in the Element Call/X integration in a low hanging way. We need to better understand:

- Which video feed PiP shows. Preference would be the active speaker but it's not clear if this will work out of the box with native PiP APIs, per platform.
- How to navigate between active calls and PiP. On iOS, it's likely we'll rely on modality. On Android, it's likely we'll rely on a full screen view with a back/PiP button, but embedded within the webview for implementation ease.

Therefore, to simplify the implementation for now, we'll:

- Use a full screen webview on both platforms
- Hide the share button when embedded. This is the only difference between the browser & embedded experience, which makes for easy design, build & maintenance.
- Expect users to use the big red 'leave call' button to leave calls.

Visual reference (ignore the finer details, it's just to visually aid the bullets above):

Screenshot 2023-08-24 at 10 41 53

Then, when we can spend more time on PiP in future:

- We can work through the unknowns above.
- To get working implementations going, we can repurpose the 'share' button as a 'PiP' button in developer UI.
- After feeling out working implementations, we should expect to need to adjust the header layout in the SPA. This 'double handling' should ultimately be light in effort.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.