What could be easier than to find ready-to-use solution for messaging? But when you try to analyze these solutions many of them appear to be unsuitable for your needs. Especially if the demand is to build communication between more than 10,000 users at one moment. We made a research that include 4 the most serious and, as we thought, good self-recommended software for messaging. The result is given in the table. You may demure “Why you’ve missed the X software?!“. First, we think these four are the best for our projects. The main feature of these projects is messaging in a cloud of thousands devices. Second, we will gladly discuss about alternatives (post your comments below article). You know we really think that ideal could not be reached, however we must try to reach it anyway.
But let’s back to the research’s result.
Table 1. Comparison of some properties that are most suitable for DevelopEx interactive messaging tools.
Layer | PubNub | Pusher | QuickBlox | |
---|---|---|---|---|
Site | layer.com | pubnub.com | pusher.com | quickblox.com |
Description | Chat platform | Global Data Stream Network | Messaging platform | Calling and messaging developer toolkit |
Chat | One-on-one and group | One-on-one and group | One-on-one and group | One-on-one and group |
VOIP | – | + | + | + |
Video calls | – | + | + | + |
Files | Photo, video, audio | + | – | + |
UI | Atlas (default UI with wide range of customization) | – | – | + |
Offline sending | + | – | – | – |
Backend API | – | + | + | via REST API |
Other | – | Data Streams, WebRTC, Real-time Dashboards (charts, maps) | WebRTC, Events destribution | – |
Platforms | iOS, Android (upcoming: Web, Windows Phone) | All | Client: iOS, Android, JS, Java Server: Go, Java, .NET, node.js, PHP, Python, Ruby | iOS, Android, JS, Windows Phone, Blackberry |
Documentation | Good (API reference, code examples) | Good (API reference, code examples) | Good (API reference, code examples) | Average (code examples) |
Price | $600/month 100,000 active users, 100 Gb transfer, 50 Gb storage | $800/month 20,000 active devices, 50M messages $200/month per add-on | $400/month 10,000 online users, 10M messages/day | $600/month 200 messages/s, 200 pushes/s, 250,000 active users |
QuickBlox
First time we used the QuickBlox. This tool is good mainly because of lightweight and highly specialization (messaging using all types of media). The main of QuickBlox’s features are the open-source, cross platform, video calling and instant messaging. As we see from the table it has the most number of ‘+‘, also REST API, good cross platforming, average price and the biggest number of active users. Really good signs to use this tool and we did it.
After some time, we started to develop another project again with messaging properties as main feature. Chatting in real time feature should be as stable as possible, and it should work without delays for each device: PC, phone, tablet, actually anything. The developers team convinced everyone to use another tool. You may ask “Why?” and we answer: “The main reason is that QuickBlox documentation is not so good“. If you are experienced manager, you should know the importance of documentation. Additionally, QuickBlox was updated not long ago. So our efforts for supporting the project were doubled. We would have use reverse engineering to implement this messaging tool well.
PubNub
That’s why we set eyes to the PubNub. We looked more carefully and decided to try. Yes, this tool is the most expensive from the list, has wide range of applying and installed on “just” 20,000 active devices. But the good news is:
- it supports the biggest amount of SDK,
- it supports WebRTC (the project that enables the web with Real Time Communication capabilities),
- it’s fully adapted to global real time interaction between any device that can exists at all.
We’ve not finished the project where PubNub is used yet. But we can say that PubNub is really not bad tool. Likely for next projects we’ll use it again.