It is now a matter of choice
As SaaS-based development tools have grown prevalent and have become an industry norm, a rich variety of front and back-end third party tools have emerged, taking care of the repetitive additions most if not all companies need to develop to build up (infrastructure) or enhance (APIs) their core services. Before SendBird and other chat service providers emerged, companies had to allocate a handful of resources to plan, design, develop, and integrate chat into their websites, applications or games. However, the question today is, how to find the right chat API solution for you, not how to build an in-app chat feature. If you are still ambiguous about internally building vs using a third-party tool, read our article on build vs buy to help you decide what suits you best.
Pre-sales call due diligence list for chat API solutions
The set of questions to find a suitable in-app chat development tool that addresses your need is relatively simple. We will list them from the higher-level questions that can help you narrow down to a few solutions with speed. In addition, we will add an explanation regarding why you must know the answer to the following questions before hopping on a call with a sales representative.
- What platforms do you need covered?
- Not all providers provide coverage to all major platforms and may suggest ways to work around them, make sure such is not your case. Find a provider that can provide you with fully supported documentation and working examples for each of the platforms you need supported. Lastly, make sure the platform coverage is up to date. Platforms are often updated and respective solutions can easily be outdated, and may not be able to fulfill your current trendy needs.
- In addition, your service may run on more than one platform (e.g. Android + iOS) and most likely will require all chat rooms to be in sync across all platforms and multiple devices with a single login credential. Double check to make sure multi-platform and multi-device sync is provided, otherwise only one device might be supported per one login id.
- What form of chat do you need supported?
- This may be an unfamiliar question if developing/implementing a chat feature is new to you and your team. Roughly, there are three types of chat:
- 1-on-1 messaging
- Group chat
- Open/public chat (channels): Open chat is a form of chat widely used with a large audience such as clan chat, web-site lobby chat and live video streaming audience chat
- Most providers will support 1-on-1 and group chat, but may not support open/public chat (channels) due to chat room scalability issues.
- Will multiple users participate in a single chat room?
- If you have a need for chat rooms with multiple participants, we encourage you to look for a comfortable space to scale up (support larger chat room sizes) in your product roadmap. Supporting multiple participant chat rooms by linearly expanding server capacity is possible, but it will be costly and it will not get the job done. Providing mass audience chat with scalability and cost efficiency is a different build from the beginning. Base architecture to support 1-on1 messaging vs a mass audience chat room is extremely different and will result in a wide apart cost implication for you, let alone performance.
- How much customization do you need?
- Not all solutions come with customizability, especially for those solutions that have a specific use case driven tool (e.g. customer support), it is most likely limited to its marketed use case.
- What regional coverage do you need?
- Certain regions are secluded by its nature, such as China. Not all providers have coverage and latency that meet your need in each region. Check if you can stress test ahead of time (especially if you have high user traffic). However, depending on your traffic size, you might be able to get a dedicated instance for your target region.
- Will you have staff managing and monitoring the chat rooms and user community?
- Additional tools for your marketing, community and administrative staff (non-engineering) to monitor and moderate chat rooms are different tools from the front and back end chat solutions. Only a handful of companies provide advanced moderation tools, so ask early on if you need them.
- Do you need to make announcements to end users?
- If you want to send out admin messages or pushes regarding a system update, marketing deal, advertisement, and etc. and track the performance of announced messages, specifically check if the solution provides announcement APIs.
- Additional features to consider
- Message retrieval API & data export feature API: If you need full control of messages and need to store all messages to your own servers, these two features are a must.
- Migration API: When replacing an existing chat feature, you need migration API support.
- Auto-partitioning and smart throttling: Without the two features, mass audience chat room participants will not be able to continue an actual conversation.
- Spam flood protection: For chat rooms with multiple participants, spam flood protection is a must to ensure a cool chat environment.
- Bot interface: If you want to deploy a proprietary (or third party) bot inside the chat window, bot interface must be supported. There are workaround solutions, but may not be as seamless as you would imagine.
- Support programs
- Auto-thumbnail generation
- Voice and video call: If you need voice and video, ask your chat API solution provider to recommend you the voice and video API providers that work well with the chat API solution.
The above set of questions is not the only way of performing due diligence to find the right chat API solution for your company. You can introduce pricing, availability SLAs and many other features and functions to dissect multiple solutions catered to your own needs. If you have any suggestions or ideas as to make the due diligence questions shorter and/or more accurate, please let us know!