Open
Description
If you are reading this from the roadmap, the following is not a list of features that is currently available but our internal progress on development.
Functional requirements:
- User can connect to a voice chat and start listening to other participant's or streaming a participant's video.
- A server owner may restrict who can join using the channel using the "Connect" permission.
- A server owner or moderator (with "DeafenMembers" permission) may restrict who can listen server-wide.
- Users may turn on their microphone and broadcast it to other participants.
- Users are able to turn off their microphone at any moment.
- A server owner may restrict who can talk in a channel using the "Speak" permission.
- A server owner or moderator (with "MuteMembers" permission) may restrict who can talk server-wide.
- Users may share one or more video streams, such as their camera, a game, or their screen.
- Users are able to turn off their video streams at any moment.
- A server owner may restrict who can share video by using the "Video" permission.
- A server owner or moderator (with "MoveMembers" permission) may move a member between channels.
- A server owner may configure an "afk" room that users are automatically moved in to if they appear to be idle.
- A user is able to mute another person for themselves in a call.
- A user is able to change the volume of another person for themselves in a call.
- A user is able to start or stop watching any particular video stream.
- Users receive a notification when a call is started in a group chat.
- The message is updated when the call ends with the total duration.
TODO: incomplete list
Non-functional requirements:
- Users are only able to join one voice channel at a time.
- Users experience low-latency communication by default.
- Users can tell if there is an ongoing call in a room and who is participating.
- Users can tell at a glance if there is an ongoing call in a server.
- Users are able to see their current call status at a glance.
- Users are able to tell who is currently talking in a room.
- Users are able to tell who is currently not broadcasting their voice.
- Users are able to tell who is currently not listening to anybody else.
- Users are able to tell which other people can hear them.
- Users are able to test if other people would be able to hear them.
- Users automatically hear voice and (camera) video by default.
- Users automatically watch screen shares within the context of group chats.
- Users do not automatically watch screen shares within the context of servers.
- Users are able to choose a layout which best fits what they are doing, i.e. watching a stream or listening to people.
TODO: incomplete list
Needs discussion:
- (non-functional) Users are automatically disconnected from voice calls when they are idle.
- (functional) Users are able to preview video streams before watching them.
Future work:
- Integrate high-quality noise cancellation a-la Krisp but open-source, e.g. DeepFilterNet
Metadata
Metadata
Labels
No labels
Type
Projects
Status
🕒 Backlog
Status
In progress