If you’re building chat, and you’ve already decided to leverage a chat service, your next step is to figure out which one will best suit your needs. One way to go about this is to consider the value you’ll get out of that chat API.
Of course, the service needs to do what it says on the box: support fast, responsive, multi-user chat. But chat apps are more than just chat, and ideally your chat service will set you up to deliver an experience your users will actually want to use.
These days, most chat services offer a long list of features, some of which come included with any standard plan, and some that cost extra.
Obviously, you want chat to support the right number of users, you want to be able to build easily and scale without worry, and chat should be real-time. But beyond that, it’s not clear which features provide real value to you and your product.
As a chat provider, we’ve put a lot of thought into the features we build, and how they can benefit clients of all sizes.
So, we decided to put together this article, in order to share what we’ve learned. From core value considerations, to an understanding of the features that are really value multipliers, we’ll take a look at all the facets of chat value and shed some light on this sometimes-complex topic.
This guide isn’t a step-by-step breakdown of pricing, but it’s worth starting with the basics.
Before anything else, the main value of a chat API is, well, to let your users chat. In the bigger picture, this gives your product an attractive and vital feature, and allows your userbase to grow.
It’s easy to think about value relative to your user base, because most chat services are priced on the basis of monthly active users (MAU).
The main thing to look for here is whether your chat service covers a number of monthly active users that fits with your current scale, and to make sure they can accommodate you as you grow.
Additionally, MAU-based chat simplifies your spending calculations lets you focus on a higher-level metric, rather than worry about each user’s relative activity (though you should have the ability to do that if you wish).
Additionally, MAU correlates closely to activity, audience engagement, and the actual scale and capacity of the app overall. Most developers implementing chat use this as their own metric for growth, and look at it to know when to scale their offering.
When it comes to chat itself, the right service will take care of scaling for you. With an MAU-based pricing model, this growth won’t come as an unwelcome surprise.
MAU-based pricing for chat makes sense, and this model has been embraced across the industry. But, the next question is: what features beyond chat provide value?
Amidst the long list of features offered by chat services, some are hidden, value-multiplying gems. These are things that go a step beyond basic person-to-person text messaging, and enable the rich, organic chat experiences that users have come to expect from apps like Slack, WhatsApp, and Messenger.
These should not cost extra. Rather, a chat service should be architected to offer these features naturally, as part and parcel of its core infrastructure. In other words, these features should be included in the basic pricing package offered by your chat service:
These are largely granular, quality-of-life features that nonetheless form the backbone of organic, feedback-rich interactions. They include things like:
Inline rich media (like images or GIFs)
Often, but not always, these will go hand-in-hand with beautiful user interfaces for chat.
A presence API powers those little green circles next to usernames, showing who’s online. It lets you capture user state at any point in time, giving users a direct and vital sense of others occupying the same digital space.
A presence API is one way to give users a sense of occupying the same space, and has impact on use cases as diverse as telemedicine, social features in multiplayer games, and chat for virtual live events.
Privacy concerns have become a major factor for end-users. For chat, the two major ways to ensure privacy are encryption and access management. These happen to be key to things like HIPAA compliant chat as well.
Building this feature from scratch would require orchestrating and implementing a sophisticated security model. You’d have to put together a custom scheme to provision keys, assign access, and ensure messages are sent and received securely— all at scale.
A chat platform should offer TLS encryption at a minimum, and should give you the ability to set up end-to-end (AES) encryption, plus fine-grained access control for your uses. This will ensure that you can build truly secure chat applications, whether for transmitting sensitive personal information in telemedicine applications, or simply to give users peace-of-mind when it comes to the privacy of their conversations.
To sum this section up, each of these features can be thought of as a value multiplier beyond simple chat:
Security (Encryption and Access Control)
As mentioned above, these are potent features that offer a lot of value. But, they should not cost extra. Instead, they should come standard with any chat service as part of its core infrastructure offering.
Another way to look at chat value is to think about how chat can integrate with and augment your product as a whole. Here, your chat implementation should easily expand to accommodate new features. You may want to filter profanity, translate messages automatically, or execute custom business logic based on message content.
Chat services tend to give you two options when it comes to features like this. Either they price in their own, black-box version, or leave you to fend for yourself by exposing webhooks or other interfaces.
In the first instance, built-in message processing limits your options when it comes to handling messages and users. If you have preferred tools, or want control over how messages are processed, you’re out of luck. You’re bound by what the vendor deems appropriate, rather than what you need.
With webhooks and interfaces, you will have ample control over how messages get processed, but at a cost. Executing fast, reliable logic on chat messages via webhooks means routing traffic to your own servers, doing work there, then routing back out to numerous user devices. In the end, this means that you will face the same routing, scaling, and balancing problems you sought to avoid by selecting a chat platform in the first place.
A solution here is to seek out a service that offers serverless functions that let you do work on messages in-transit, without requiring additional infrastructure. Among other things, serverless functions allow you to:
Filter messages before they’re sent
Route to 3rd party services without any servers
Use chat messages to trigger business logic
Serverless functions are gateways to integrate with the services of your choice, so that you can leverage things like AWS, GCP, and Microsoft Azure at scale without worrying about any network infrastructure.
Coming back to chat value, serverless functions usually carry a slight additional cost each time a function is run. But, this is a trade-off made to avoid building, maintaining, and expanding your own infrastructure to do the same work.
To touch briefly on pricing, this type of add-on service should be offered on a usage basis.
This lets you adjust your spending according to your need, without having to justify a higher spend for features you may only use down the line. You can easily get started with a chat service, and add new functionality as you need it.
Even if you start with a plan that fits your scale now, you probably don’t plan to stay small forever. So, you should pick a service that will enable you to scale as you find success.
In terms of infrastructure, watch out for services that impose concurrency limits. These could be per channel, or you could be siloed into set channel types, limiting your flexibility and capping your app to rooms of 100 or 1000 users.
This may sound like a lot for friendly chat groups, but consider use-cases like live events, where concurrent user counts in the tens of thousands have become the norm. If you do build on a platform with concurrency limits, you may find that your chat infrastructure is essentially incompatible with your use case and growth plan. In this case, you’ll face a costly rip-and-replace scenario that could be avoided from the start.
Similarly, look for platforms that automatically replicate your messages across their entire network. In essence, your platform should treat customers of all sizes equally when it comes to leveraging the network. Whether you’re just kicking the tires to test the platform, or you’re running an app at global scale, you should see the same benefits, the same message speed, the same availability, replication, and reliability as everybody else.
The shorthand for this is to check the degree of a platform’s SLA (service-level agreement). Here, look for one that guarantees 99.999% uptime, or “5 9’s”. To put it in more human terms, the difference between 5 and 4 “9s” is the difference between 3 seconds, and 5 days, of downtime. When you factor that into your cost analysis, it becomes incredibly valuable to find the platforms that guarantee the highest degree of uptime. For you, seconds without your core chat service is user confidence, and money, lost.
In all, finding the value of a chat service can be a complex undertaking.
The question to ask is: what features add value, and what underlying considerations do they reveal?
In short, look for the following:
Value multipliers, like chat UI features, a Presence API, and security controls
Tools to extend and integrate chat with other services
No concurrency limits at any size
Global replication and full infrastructure access
Finally, don’t underestimate the value of flexible plan options. With these, a chat service can lower the price of entry. In exchange, you need only select (and pay for) the things you’ll use. In all, plan options should exist to give you flexibility, and to meet your needs as you build and grow your product.
If you keep all this in mind, you’ll emerge with a view of chat services that will set you up for both short and long-term success.
There are common underlying technologies for a dating app, and in this post, we’ll talk about the major technologies and designs...