Comparison of Self-built Instant Messaging Systems
00 分钟
2024-1-26
2024-6-5
type
status
date
slug
summary
tags
category
icon
password

Comparison of Self-built Instant Messaging Systems

Introduction

For various reasons, I wanted to deploy my own instant messaging (IM) system for around a hundred users. After researching some popular IM systems on the market, I will provide a simple comparison based on my usage scenarios. However, please note that these may not be applicable to everyone.

Common IM Systems

Rocketchat

Rocketchat is widely used and well-developed, with easy deployment. However, I chose not to use it because of its poor Chinese language support. Although there is a Chinese version available, it is not complete, which affects the user experience.

Matrix

Matrix is also widely used and has many client and server implementations. I spent a long time researching it and considered it the best solution at one point. However, there are a few drawbacks that affect the user experience:
  • The Element web client has the most complete features, but it does not perform well on mobile devices.
  • Other web clients that support mobile devices.
  • Inviting users to join a group is not user-friendly. The interface after clicking the invitation link is too complicated, and users often don't know what to do. Therefore, manual invitation is required for each person.
  • End-to-end encryption, although it is a feature, is not necessary for our usage scenario. It can confuse other users who are not familiar with this feature, leading to unread messages.

Turms

Turms is an advanced open-source instant messaging engine designed for applications with 100,000 to 10 million concurrent online users. However, it does not have a user interface for clients, so I did not explore it further.

revolt.chat

This product is similar to Discord but seems less mature and not fully developed. I will wait for further updates.

TangSengDaoDao

According to its official website, TangSengDaoDao is an open-source instant messaging and chat software developed by a group of experienced developers over eight years. It claims to be an operational-level solution. I briefly reviewed it, and the interface looks appealing. However, some features, such as audio/video and file sharing, require payment.

Final Choice

In the end, I chose a chat IM system called VoceChat. Here is a brief introduction:
VoceChat is a self-deployable personal cloud social media chat service. It is only 15MB in size and can be deployed on any server with minimal maintenance required. The frontend can be embedded into your own website, and all data is under the user's control with encrypted transmission. VoceChat draws on the strengths of products and standards such as Slack, Discord, RocketChat, Solid, and Matrix, making it suitable for team communication, personal chat services, website customer support, and embedded community scenarios.
Here are my impressions of using VoceChat:
  • Easy deployment: Compared to Matrix, VoceChat is much easier to deploy with just a Docker container and minimal configuration.
  • Multi-platform support: It is available on web, Android, and iOS. The mobile adaptation of the web version is also acceptable, and although push notifications are not supported on Android, it is understandable as they are not supported on any platform.
  • Convenient use of chatbots.
  • Clear and understandable documentation, including a Chinese version.
  • Easy invitation process through registration links.

Conclusion

The best choice is the one that suits your needs.
 
上一篇
自建IM对比
下一篇
Postgresql 导入导出介绍