As soon as we're reasonably confident that call setup works reliably and splitbrains are a thing of the past, we should remove the 'connecting' and 'waiting for video' states from tiles.
Why would you like to do it?
For now, these indicators are critical for diagnosing reliability problems. But in a world where the app does work reliably, they have a negative impact on user experience.
One reason for this, is that showing incoming participants before they've loaded creates an unnecessary perception of slowness and lag. Ideally, users should not need to know that someone's joining the call until they're actually ready for display.
Another reason is that our products have a reputation for being visually and conceptually complex, due to feature creep and design debt. Element Call very deliberately steers in the opposite direction in its designs, and in order to keep the interface simple and unburdened with technical details, we should be cautious about adding visual elements such as connection state indicators. While it may not seem like much, it's small elements like these that can easily clutter the UI if allowed to accumulate.
How would you like to achieve it?
In order to not show blank gray tiles, we should not show participants that are waiting for media.
Where there are slowness, lag, or reliability problems, we need to make sure that we're only using connection state indicators as a temporary tool to diagnose them, and aiming to make our product work well enough that they become unnecessary. SFUs can help with many of these goals, but full mesh mode still has a bit of room for improvement as well.
We should aim to remove these before Element Call exits beta.
Have you considered any alternatives?
No response
Additional context
Thanks to @gaelledel for the detailed reasoning here
Your use case
What would you like to do?
As soon as we're reasonably confident that call setup works reliably and splitbrains are a thing of the past, we should remove the 'connecting' and 'waiting for video' states from tiles.
Why would you like to do it?
For now, these indicators are critical for diagnosing reliability problems. But in a world where the app does work reliably, they have a negative impact on user experience.
One reason for this, is that showing incoming participants before they've loaded creates an unnecessary perception of slowness and lag. Ideally, users should not need to know that someone's joining the call until they're actually ready for display.
Another reason is that our products have a reputation for being visually and conceptually complex, due to feature creep and design debt. Element Call very deliberately steers in the opposite direction in its designs, and in order to keep the interface simple and unburdened with technical details, we should be cautious about adding visual elements such as connection state indicators. While it may not seem like much, it's small elements like these that can easily clutter the UI if allowed to accumulate.
How would you like to achieve it?
In order to not show blank gray tiles, we should not show participants that are waiting for media.
Where there are slowness, lag, or reliability problems, we need to make sure that we're only using connection state indicators as a temporary tool to diagnose them, and aiming to make our product work well enough that they become unnecessary. SFUs can help with many of these goals, but full mesh mode still has a bit of room for improvement as well.
We should aim to remove these before Element Call exits beta.
Have you considered any alternatives?
No response
Additional context
Thanks to @gaelledel for the detailed reasoning here