Feature Request: Real-time Communication Dogu

What is your goal? What do you want to achieve?

Every software development team needs multiple ways to communicate with each other in real-time, like a text chat, voice chat/conferencing tool and file sharing.
Often this is achieved by using third-party communication platforms such as Microsoft Teams, Google Meet/Chat or Slack.

I propose creating a Real-time Communication Dogu with the following requirements:

  • On-premise hosting
  • Text chat capability ("(Instant) Messaging")
    • 1-to-1 direct messaging
    • Group messaging (“groups”, “spaces”)
    • Public and private groups/spaces
  • Voice/Video chat capability
    • 1-to-1
    • multiple users (“conferencing”)
  • 1-to-1 file transfer
  • End-to-end encryption by default
  • API to attach external tools/processes
    • e.g. Chat Bots, Alerting, notifications
  • Browser client
  • Optional: Mobile client
  • Open source software

What is the benefit for the community?

  • Communicate with each other directly via the (already deployed) EcoSystem, no external tool(s) needed
  • Independence of third-party providers
    • No initial or periodic costs
    • No dependence on the provider’s opinion of its functionality
    • No unknown changes or outages caused by the provider
  • Keeping all the communication data on your premises
    • All data stays with you and is not stored out of your reach
    • You don’t have to trust a third party
  • Send notifications or alerts from dogus directly to the chat via the API
  • Higher response times inside the company
    • No data needs to be routed through the internet
  • Open Source software

Do you have examples? Or already a concrete idea for a solution?

I think this feature can be achieved by adding a server providing the Matrix protocol (such as Synapse or Dendrite), in combination with a corresponding browser client like Element and the video conferencing tool Jitsi.
This setup fulfills all the requirements mentioned above and is already utilized by many universities (Why matrix as a chat system? | TU Dresden), companies and even some governments (Matrix (protocol) - Wikipedia).
There is a case study of a company which uses this setup for quite some time (unfortunately only in german): Team-Messenger | Ab in die Matrix! | Golem.de
As this protocol is federated (-> just like reaching other e-mail users on other mail servers via SMTP, you can text/voice chat with users on other Matrix instances), there is a fair chance that in addition to your company communication you will also reach other institutions with this setup in the future.
Matrix is built for interoperability and therefore supports a lot of “bridges” to other communication platforms, so you can reach people on e.g. Discord, Skype, Slack, Google Hangouts, Signal, Telegram and so on: Bridges | Matrix.org