These days, if you want to engage your users where they are, in-app chat is the way to go. Take a look at any industry, and you’re likely to see a compelling case for chat:
Chat in healthcare lets patients consult their doctors. In-game chat lets players engage with one another to form communities. In an e-Learning environment, chat enhances the engagement between teachers and students, offering a more superior learning experience. At virtual live events, audience members use it to connect with other viewers and participate more fully. And, live chat is an invaluable way for support and sales personnel in any industry to reach and work with customers.
Adding chat seems simple on the surface. But when you dig in, you quickly realize that chat isn’t just chat. Both on the front end, and in the messaging layer underneath, there’s plenty of work to do, and decisions you make today will affect you tomorrow.
When it comes to picking a chat service, there are two schools of thought. The first is: how does a service help me get off the ground now? This line of thinking focuses on key features and time-to-PoC, and is all about rolling out functionality quickly. Beyond this, though, comes the second mindset: How does a chat service support me down the line? The truth is, both approaches are crucial for anybody launching a product with chat today.
Thinking about the emerging needs of today and tomorrow together, a chat service needs to give you:
- A strong start with the right chat features
- The ability to scale as your app grows
- Resources to expand and optimize your offering
- Avoiding common pitfalls while selecting the commercial model by your provider
Let’s take a deep-dive into the specifics of each of the above and the many considerations you’ll need to make now to be successful at each step.
1. User Experience:
This is the galaxy of features users expect from their moment-to-moment experience. Even if you’re building patient-doctor chat, or enterprise software, remember that every user is also a consumer. This means that they bring their expectations from apps like Slack, Messenger, and WhatsApp to any chat experience they have. This means you need a service that starts you off with:
- UI: Present a visually appealing, useful, and accessible UI.
- Usability: Give users real time feedback, and enable a smooth user experience.
- Responsiveness: Your app performs smoothly, with no lag or delays.
- Moderation: Keep spam, abuse, and trolls out of your in-app chat.
2. Backend, Compliance, and Security: On that same note, stand-alone messenger apps have invested heavily in the backends that keep their experiences strong. When looking for a service, make sure it incorporates:
a. State Management: Keep local and remote instances in lock-step, so users stay on the same page. Realtime messaging: Send, receive, and retrieve messages instantly.
b. Security: Encrypt messages and control access to channels.
c. Compliance: Handle sensitive data and protect privacy with ease. example – in tele-medicine compliance with HIPPA guidelines becomes crucial.
3. High Availability: Users are unpredictable: they’ll use your service at all hours, and they’ll take it with them wherever they go. Naturally, it’s your job to make sure your service is available when users need it. For this, you’ll need to select a chat service with data centers around the globe to avoid arbitrary service zones. Also, make sure data is replicated across those data centers, to help manage failures. Speaking of failures, make sure your solution makes considerations for graceful fail over. This means that, whenever a device can’t connect to the closest data center, it’ll automatically connect to the next-closest data center and catch-up on messages that haven’t been delivered.
4. Reliability at Scale: In addition to availability, users also expect a reliable experience, especially as your traffic increases. PubNub has been showing a uptime of 99.999% In short, ensure that the network you use scales to handle unforeseen growth or unexpected usage spikes. This will keep your chat experience consistent regardless of when your traffic peaks – even if you go from having thousands of users one day to millions of users the next.
5. Flexibility for Developers: If your developers are already using popular services, don’t undermine their productivity with new, vendor-specific processes and tools. And, don’t risk your product’s quality by getting stuck in a proprietary ecosystem. When you’re building chat, pick a solution that integrates with tools you’re already familiar with, those that already provide best-in-class functionality.
This means you should look for chat services that offer integrations with common providers like AWS, GCP, and Azure. Ideally, they should also offer open endpoints for custom integrations. Features like profanity filtering, translation, and custom routing logic should be built on the technologies your developers already use. Pick a chat service that lets you do just that. By giving you the flexibility you’re used to, a good chat service will let you focus on your core functionality, and will let you benefit from the technologies you already trust. In short, let your team do things their way, not the way a vendor requires.
6. Extensibility: It’s likely that, down the line, you’ll add new features to your app that work with chat. This could be anything from profanity filtering to custom triggers based on chat message content. As you go, keep this in mind: any functionality that works on chat messages needs to be compatible with the fast, responsive experience at the core of your app. If it upsets that fundamental service, it’s no good.
Traditionally, to process messages, you’d manually route traffic from your chat app to a server. But, unless you’ve already invested in your own routing infrastructure, you risk a bottleneck that slows and interrupts the chat experience.
In this case, a hosted service that includes edge-compute capabilities or function as-as-a-service is the best option. By performing work on messages in transit, edge-compute capable services give you the best of both worlds: split-second messaging, and extensive potential to add new features to your chat.
7. Unlimited scale and concurrency: When your app has grown, look for offerings that work with you to support massive user-bases, complex app architecture, and mission-critical functionality. These are the crucial elements of best-in-class in-app chat, allowing it to scale with your service indefinitely. Chat providers each have different approaches to handling massive amounts of simultaneous users. In some cases, they simply cap the number of users who can occupy chat at once. If you need to support large numbers of concurrent users, look for a chat provider that truly supports an unlimited number of chat participants.
At PubNub we have no limitation on the number of concurrent users when a client licenses their subscription. Supporting multiple concurrent users requires engineering expertise and attached costs and this is the reason why many players limit it. This also has a huge impact on commercials, making it a crucial part of the decision making process.
8. Dedicated Support Agents: When you’re working at scale, you may introduce truly innovative architecture, or you may be integrating chat into an already-established application. In either case, having a dedicated support agent on-hand will allow you to make architecture reviews, and take deep-dives into how you’re implementing chat. This ensures that your resources are well-used, and can be a source for discovering powerful opportunities for optimization.
9. SLAs (Service Level Agreements): For any chat that’s critical, such as patient-doctor chat, emergency dispatch, or logistics handling, you need ironclad assurance that your chat service will be available when you need it. As you evaluate services now, be on the lookout for those that offer service-level agreements around their availability. These mean that, as you grow, the service can be trusted to support your always-on needs.
10. Go Beyond Chat: Unless you’re building a dedicated messenger app, you already know that chat is just one part of your app’s overall experience. If your product has other realtime functionality, like tracking deliveries on a map, or notifying users as events occur, you shouldn’t have to find a new vendor just to support new features. Instead, find a chat provider that also powers things like:
- Geo-location: Add location-aware features that interacts seamlessly with in-app chat.
- Realtime analytics: See detailed,live data in real time. Gaining insights into how, and when, users interact with features.
- Notifications: Keep users up to date with real time notifications, whether or not they’re actively using your app.
PubNub Chat makes it easy. To get up and running while future-proofing your road map, try PubNub Chat. We make it easy to build in-app chat, with all the features users expect, while leaving you in full control. And, because it’s built on our real time communication platform, your chat will have unlimited scale and robust reliability from day one.