InHouse vs. OutHouse: When to use a SDK
Building an in-app chat should be simple — right? That is, until you realize that supporting real-time chat at scale (for thousands of users daily) is difficult and costly.
Developers need to prioritize which app features require bespoke coding and which features are better served by leveraging trusted, proven 3rd party platforms and services (like credit card payment, app crash reporting, or mobile analytics) that are quick to implement, easy to scale, and ensure solid reliability. When it comes to integrating Instant Messaging (IM) into your app, consider the total cost of the commitment:
Adding chat into your mobile app can cost over a quarter million dollars. This may sound like an exaggeration, but when you include the salaries of mobile developers, capital expense to acquire and setup servers (or maybe you plan to host your infrastructure in the cloud), and ongoing feature and scale expansion, the financial cost accelerates quickly.
Here’s how Yalantis estimated the cost of building a messaging app like WhatsApp:
The opportunity cost of custom building any features from scratch is also a hidden cost and may lead to a misallocation of critical resources away from your core product differentiators. While it is possible to build chat for your app in-house, it is certainly more cost effective to use a turnkey SDK with REST API accessed cloud-hosted services.
Typically, two things will happen when developers build Mobile IM in-house: the IM does not get used or the IM gets used but lacks features or has limited scalability. Consider what you require (or is nice to have) in a MIM platform:
- One-to-one chat?
- Group chat?
- Photo or File sharing?
- Voice or Video calling?
- Geo-location sharing?
- Anti-Spam filtering?
- Security enhancements?
The challenge is, feature development is a function of time and resources. The more features you want, the more time it takes to develop. The extension of time and consumption of precious resources escalate when your team requires front and back end development for complex mobile apps.
It’s been said many times many ways, “move fast and break things”. Using off-the-shelf solutions that enable a developer to add a SDK to achieve the functionality you desire makes it faster and easier to deploy multiple features so you can break (other) things. Mobile Instant Messaging solutions providers, such as Hyphenate.io, have rich chat features and great flexibility for seamless integration into your app — right out of the box.
Now that your users are leveraging in-app chat, how reliable is it? Is it possible to achieve better user engagement with low latency, broad scalability, and reduced downtime and improved performance?
Apps are never perfect, so when your hand-crafted IM code crashes or runs out of headroom, the pressure is on. This is a bad experience for your users and they may even leave your app and NEVER come back. Your users rely on your app. Your users expect instant and dependable message delivery. By leveraging optimized 3rd party services, their support is an extension of your team. Now you can crush bugs faster with fewer resources.
Most home-grown messaging solutions are built upon standard protocols such as XMPP, MQTT, HTTP long-polling, Socket.io, etc. For example, Facebook Messenger is based on MQTT. These stacks have different applications. Knowing which one to use can send you down the rabbit’s hole. trusted vendors, such as Hyphenate, can help you navigate through the jungle.
To integrate chat in your app, you’ll likely need 6 front and back end engineers hammering at the keyboard for 3 months. For a small mobile development house, this could cause major disruption in the product roadmaps. Using a SDK is like using a toll road — it allows you to avoid the gridlock and saves you time to get you to where you need to go.
Rather than reinvent the wheel, conserve your development resources by leveraging Hyphenate’s Software Development Kit (SDK) for iOS, Android, and Web. Our Mobile Instant Messaging platform empowers you to leverage full featured software developed by Mobile IM specialists — it is easier and more cost-effective to integrate MIM into your app. These resources are ready-to-use, provide a customizable UI library, multi-platform SDKs, backend APIs, webhooks integration, and more.