Build vs Buy: Build chat from scratch or jump start with a chat API and SDK
You’ve been thinking about building chat in your application, and you’re trying to decide if you should build your own chat from the ground up or utilize a chat API or SDK to build your chat.
As you can imagine, building your own chat requires a significant amount of investment of time, resources, thinking deeply about your business goals and customer experience drivers.
Depending on your use case, resource constraints and business priorities, you will evaluate your options and move forward with a chat implementation that makes the most sense for your needs.
So how do we evaluate the decision to build vs. buy?
After all, many technology companies may ignore the cost and insist on owning chat development because it may feel strange to purchase chat technology. Sendbird understands this impulse – we, too, can feel the impulse to own our engineering solutions!
But we’d like to suggest that chat is no longer a feature for the roadmap.
Since the wide recognition of the:
- global adoption of messaging
- advancement of chat technology
- undeniable business benefit of implementing chat for your business
- difficulty of maintaining and updating chat features and infrastructure
chat and messaging have become full-blown products.
As a result, it might not make sense to build another product for your company, unless it’s part of your core business.
A logical system to evaluate building chat from scratch or accelerating time to market with Sendbird’s APIs and SDKs
The decision to build or buy is crucial. So we’ve developed a rubric to help you decide whether to build or buy when it comes to chat. There are three different pieces that go into build vs buy decision:
- Problem you’re trying to solve
Understanding these three pieces in detail will help you to make a more informed decision.
Step One – Estimate costs and development resources
The first key criteria for deciding how to implement chat is to understand the capacity of your available development team and to understand how much it will cost to build.
Building software in a domain that you’re not familiar with can lead to unknown challenges, high expenses, and can dampen the speed to market. In our experience, basic chat built from scratch could cost $300,000 to $500,000 in people costs alone in the first year. Basic chat does not include features like read receipts, moderation, translation, offline syncing, chat history, or cross-platform sync, all of which have become standard product features today.
If you’re a large organization that wants to develop chat as a shared extensible service, then the need for resources amplifies because chat would require your team to collaborate across multiple product teams, to manage priorities among multiple teams’ requirements and, finally, to integrate across multiple products. In other words, developing chat for your company won’t happen in a vacuum, as in the estimate above, but, rather, it will cut across multiple teams and product roadmaps.
Other than development resources, you should also account for costs for systems of development and infrastructure. Infrastructure costs include cloud data storage, security tools, and data/analytics. Cloud data storage can run around $0.01 per monthly active user with security, data and analytics running 10-15% of the total infrastructure cost. It’s also important to budget for maintenance & upkeep, and for ongoing variable costs to keep the chat service up-to-date for emerging customer needs.
The tables below depict sample costs for building basic chat in-house.
Sendbird cost calculator framework for building basic chat in-house
Elevate in-app engagement eBook
Here’s the bottom line – if you don’t have at least a few experienced chat developers working on your chat project, you may want to think about getting a chat API and SDK so you can build chat experiences on top of it.
Step Two – Assessing the risks of build or buy
The second key piece of the build vs buy decision is risk. Risk can come in multiple forms: business risk, time-to-market, scope, data, security and so on.
It’s essential that you are thinking about a few such questions:
- How soon does chat need to be up and running in your application to keep your business competitive?
- Do you want to go-to-market with a simple chat experience or a compelling experience comparable to the leading messengers that customers have come to love?
- Do you want to store your chat data on your own servers, or can you trust a 3rd party with storing data on their servers?
- Can you build a chat secure enough for its prospective business application?
- What if you were to discover a bug in the chat service – how quickly would you be able to resolve it in-house vs having a vendor team fix it without disrupting the customer experience?
In every case, you want to have answers to these questions to reduce risk – measured in time-to-market, security, or product roadmap – for your business.
Step Three – Determine the project’s scope and the required customization
The final and most important piece in making this decision is to understand your business goals and the scope of your project, and to predict your need for custom features.
Leading chat services go beyond basic features such as 1-on-1 chat and group chat. They provide advanced functionalities such as read-receipts, messages using structured data; the ability to send emojis, images, audio, video as thumbnails viewable in a message interface; chatbot integrations, moderation and SPAM protection, data analytics and integrations with other APIs.
Chat, propelled by global messenger adoption, has become extremely sophisticated. Consumers have grown to expect an experience similar to leading messenger apps. So the question comes down to this:
Do you feel comfortable building this experience in a timely manner on your own or should you use a platform that creates the service and building-blocks to customize a chat that exceeds consumer expectations?
Other questions arise if your core business is not chat and messaging. For example, you’ll need to deploy resources on core customer problems that differentiate your product or business in the market.
Chat is a Product, not a Feature – How does this affect your project scope?
Many product teams imagine chat to be a small feature to power their customer messaging use case but what they often miss early on is that chat is an entire product with a suite of features serviced by a highly-scalable backend infrastructure.
If you’re a large company operating in multiple verticals, it would be worthwhile to understand right away if you’d like to incorporate chat in only one application, or if you‘d like chat to be a key service underlying and coordinating multiple applications or functions.
Your platform team may want to build a chat framework or SDK as a common communication layer that can be used by multiple product teams to power chat across different products/verticals in your business. Are you ready to invest in building a common communication layer from scratch?
Technical teams also have a long checklist of technical and architectural requirements before they can begin development. We’ve written an article elsewhere that lists these requirements, but they can include decisions around servers, traffic handling, DBs, file storage, caching, client platforms and more.
That’s a lot of requirements to consider before getting started with building chat in-house.
Sendbird: A fully-featured chat API and SDK built on AWS
For many businesses and apps, chat may only seem like a feature. At Sendbird, we’ve made chat our dedicated product so it’s inexpensive and time-efficient for our customers to build a premium chat into their apps.
With over 11,000 apps and customers like Reddit, Hinge, GO-JEK, Virgin Mobile, Carousell, SNOW, SEGA, and others, we have a lot of experience evaluating the cost, risks, scope and up-side of integrating chat into business applications. That’s why we’ve dedicated our resources to building a full-featured chat API and SDK as a service on top of a highly scalable infrastructure.
If you’re a product manager, executive, technology decision maker, engineering manager, or a developer looking to build chat in your application, technologies like Sendbird can help you accomplish two crucial tasks at once.
Sendbird can offer you the best practices and deep product experience across many vertical so you create the best product and customer experience, while you still have control over development.
With Sendbird you can build, manage and analyze user chat, scale up to a million concurrent connections, and captivate end users with the most complete and engaging chat experience that they have come to expect from modern messengers.
What constitutes a full-featured chat API and SDK as a service?
In this section, we’ll dig into what it takes to build a full featured chat and messaging experience, highlighting why it’s a particularly difficult product or feature to build from scratch.
A complete messaging experience
Users love their messaging apps – and when it comes to messaging in your app, users will not settle for anything that doesn’t measure up. In 2018, approximately 76% of the world population (5.8 billion people) was a monthly active user (MAU) of a popular messenger app. That means that consumer expectations run high for messaging experiences.
Outside of basic messaging features such as typing indicators, read receipts, unread message counts, and online user presence, SendBird is building features continuously to create the most engaging messaging experience for customers.
A few of our essential messaging features are:
- @Mentions to catch attention of users in chat
- Auto-thumbnail generation (for images and video)
- Communicating between users of different mobile apps
- Custom/type data (for messages)
- Translation to global languages
- In-chat Announcements
Together – these features act as table-stakes to keep the conversation flowing and help drive business goals forward.
1-on-1, group, and public channel messaging
SendBird powers two types of chat – open channel chat, and group chat.
Open Channel is a public chat that handles a large amount of participation online. Open channel can handle up to 2000 simultaneous active users like a Twitch-style public chat. Think of this being useful in use cases where a large community comes together to share experiences – like watching the Super Bowl together on a live streaming application with a large number of fans chatting live with each other, or users coming together to chat about a topic that they care about.
On the other hand, a group channel is a private chat that provides close interactions among limited number of people. You can customize and make various types of private group channels which are fit to your use cases, such as 1-on-1 messaging, WhatsApp style closed group chat, and so on.
Sometimes as a chat operator you might also want to manage your chat channels or control the flow of chat volume that flows through the channels – with Sendbird, chat operators can freeze a chat channel or use smart-throttling to address these needs. Sendbird also makes it easier to accept users in channels with auto accept invitations preferences.
Built on infrastructure that matches your scale and enables low latency messaging across the globe
Sendbird’s infrastructure is built on AWS and it is both globally distributed and highly available. This investment in our infrastructure ensures that our client’s in-app chat experience stays consistent across the globe.
With data centers distributed across US West, Frankfurt, Singapore, Tokyo, and Seoul, SendBird ensures low latency for its customers irrespective of where they communicate.
If you want to run chat on dedicated servers, SendBird supports private dedicated instances on AWS. Sendbird also supports high scale with chat group sizes as large as 2000 users and can support over 1,000,000 concurrent connections per application and 500,000,000 messages every day.
That’s chat built for global scale.
Integrations, extensibility and chat data analytics
Exporting data is critical to many of our customers. To learn what your customers are talking about, run sentiment analysis and use that data to drive product insights, Sendbird lets you export data as either a batch or using webhooks to send data whenever a new event or data is available.
If you love dashboards, Sendbird provides a chat analytics dashboard, which can be used for tracking monthly active users, daily active users, created users, deactivated users, sent messages, etc.
We’re also working on bringing more chat metrics such as initial response time, users with most number of messages sent, users with least number of messages sent, and number of messages per channel to the dashboard in upcoming releases.
Moderate users from the convenience of a dashboard
Troubleshooting, debugging, retrieving data for compliance – all of this can be laborious if your chat team has to call APIs to search messages or fetch data. SendBird helps chat operation teams to moderate conversations conveniently from the comfort of a dashboard.
Now, your team can act as soon as a user reports an incident in an active group channel. With extensive chat moderation features such as:
- User ban
- User muting
- Freezing chat channels
- Image filtering
- Smart throttling
- Spam flood protection
- Chat moderation
- User moderation
- Managing moderator roles & permissions
- Profanity filters
From the Sendbird dashboard, your team can ensure safe and effective dialogues between users. User safety on chat is important.
Chat across all platforms
Secure and compliant
We deliver a secure chat API and infrastructure. We are ISO 27001, HIPAA, and GDPR compliant. We are also preparing for SOC2 compliance. If you need compliance for chat, then it takes additional effort to build compliant chat. If privacy and security are important to your business or essential – like in Healthcare and Financial Services – then buying a chat API may be great option.
If chat is prioritized on your roadmap, it will take anywhere between 6 – 8 months to create a basic chat experience in-house. If it’s not prioritized, then it could take longer. With Sendbird you can get to market with a complete messaging experience in a few weeks.
‘Chat extension framework’ –
A lot of our customers that have digital businesses across multiple verticals have taken a more efficient approach to building chat with Sendbird. Platform teams at client companies like GO-JEK, a leading on-demand service provider in South East Asia, have used Sendbird to build what we call a ‘chat extension framework’ on top of Sendbird.
A ‘chat extension framework’ is a customized chat SDK that internal platform teams can develop for use on multiple product teams across different product portfolios within the organization. Using this method, GO-JEK builds and scales chat quickly in applications within the same brand.
Chat doesn’t magically succeed. It’s difficult to build and scale, to produce the right user experience to encourage adoption – we know this because we build chat everyday.
For customers who are creating chat in their application for the very first time, creating a compelling chat experience requires significant effort: the different uncontrollable variables from business goals and UX experiences to messaging features that delight users and a scalable infrastructure. This can be challenging.
By working with Sendbird, our customers profit from the chat expertise we’ve developed after building chat experiences for industry leading companies. They start at the level of leading messenger experiences.
Sendbird’s chat powers communication at over 11,000 applications globally for businesses across industries and for use cases such as on-demand, marketplaces, online communities, live streaming, gaming, healthcare and banking among others.
We approach each customer launch differently. We begin every customer conversation by understanding our client’s business goals – whether its increasing transaction velocity, reducing transaction cancellations, building trust between stakeholders, or improving end consumer experiences – and then go from there to help our customers implement chat. We bring forward best practices to create UX flows and a chat implementation needed to create experiences that will accelerate your business goals.
Sendbird is not just a chat API and SDK, we are a partner committed to helping you realize the future of chat powered customer experiences in your application. With some of the best chat development engineers on the planet dedicated across every layer of the technology stack, and chat experts that are defining chat experiences for leading businesses, Sendbird has become the standard in scalable, business driving chat experiences.
So, will you build chat from scratch or jumpstart with a chat API and SDK?
The decision to build or buy is often made from the heart rather than the head. Yet, you can apply the information across the three different areas mentioned above to decide where you stand on them. A chat API and SDK as a service is a great option for teams that are looking for maximum product and business leverage, and reliability with control.
No matter your decision, in the end, how you implement chat will determine how successfully you achieve your associated business goals.