5 Essential Features for Rich In-App Chat

4 min read Eric Grossman on Apr 6, 2020

There's no question that chat apps and experiences take the lion's share of our digital experiences today. So, when actually interacting with chat in your app, users will certainly bring expectations based on their everyday experiences with apps like WeChat, Slack, and Messenger.

Users expect features that live comfortably in your UI, that bring their conversations to life, and that accommodate the relationships they’ve built in your app. So, if you’re serious about implementing in-app chat that users will love, here are the features you can’t overlook in 2020:

1: Bring Your Friends

If you want your chat to be the star of a truly social experience, you need to facilitate personal connections between users. This is doubly true if your app hosts interactions between real-world friends, or if becoming a digital-social hub is important for your product.

Fantasy sports leagues, relationship apps, or virtual meetups come to mind as use cases where friends are essential. In all, friends functionality allows players to connect, chat, and interact with ease. Speaking of getting together… 

2: Chat Rooms Keep Groups Engaged

Consider how few in-app chat experiences provide intuitive, maintainable channels for group conversations. Many apps that have some kind of messaging function do support group direct messages, and these serve their basic purpose. But, as conversations and groups grow, group DMs get unwieldy.

Over time, group direct messages fail for a number of reasons. New friends are brought into the conversation, confusing its flow, or members want to spin the conversation off into new topics. Soon enough, the group migrates to an app dedicated to chat that comfortably supports their group, and its many permutations.

In short, users are used to being able to communicate with many people, and manage their conversations intuitively. Make sure your in-app chat supports multiple channel topologies, so you can easily spin up 1:1, group, or "room" chat channels. Or, losing users entirely to established chat apps.

3: Thumbs-Up To Message Reactions

Conversations are where your users will express their frustrations and elations. An emoji on its own says a lot, but reactions let users put their emotions in context. They’re a lightweight but potent way for users to comment on one another’s messages, and for others in a channel to easily grasp the general flow and feel of the conversation.

More than anything, message reactions give users more expressive tools to response to one another, and to events within your app. Whether it's a thumbs-up to an on-time delivery, or a heart emoji in a dating app, reactions add a subtle, but fundamental human component to chat.

4: Typing Indicators Bring Immediacy

Your app will be a hotbed of activity, and your users' chat rooms will have a lot going on. So, don’t make users wait on silent threads in suspense. Implementing typing indicators will bring immediate feedback to text-based interactions.

This little piece of visual feedback lets users know at a glance that others are active in the conversation. They go a long way towards making chat feel like an organic, true-to-life interaction.  

More to the point, typing indicators help prevent cross talk, or might just make it clear when somebody isn’t interested in waiting their turn. 

5: Keep Tabs with Read Receipts

In person-to-person interactions, it's fundamental to know whether you're being listened to. In person, we have visual cues, like eye contact. In a chat experience, that simple signaling is gone.

Read Receipts may seem simple, but they fulfill the purpose of fundamental, organic feedback, letting users know that they've been heard. Like with any good affordance, feedback in chat is crucial to maintain awareness and satisfaction. Plus, seeing that they’ve been heard might stop users from spamming your main channel.

These pair perfectly with Typing Indicators to make a truly organic in-app chat experience. 


Chat apps dominate our digital experiences, so users bring a heap of expectations with them when engaging with any in-app chat. This isn't all brand loyalty: the majority of features that comprise rich-chat apps are things that lend feedback and a sense of immediacy to chat, allowing them to feel like organic, natural means of communication.

This level of interaction is the basis of any good approach to user engagement. In essence, you want to meet users where they're at. Your app should offer feedback to interactions, expressive possibilities, and the potential to fine-tune their social experience to fit themselves and their group.

Any feature adds to the scope of your app. And, compared to the core function of your app, they can seem like luxuries. But, if you've decided that in-app chat is important for your app, and for engaging users, you need to give them chat they’ll want to use. 

Luckily, when it comes to building rich-featured in-app chat, you don’t have to reinvent the wheel. PubNub’s Chat APIs and SDKs make it easy to get up and running with all these features and more. Whether you’re using React & Redux together, or you’re working in Swift or Android Java, we’ve got you covered. 

Beyond providing the core, real-time infrastructure to send and receive messages, our SDKs offer easy-to-use endpoints to quickly implement essential chat features like:

  • Read receipts

  • Typing indicators

  • Chat rooms (plus history)

  • Translation and filtering APIs

Our API is flexible, so you can roll out these features quickly. Our globally available messaging infrastructure then lets you expand as your app, and needs, evolve. Getting started is easy. And, if you have any questions, we offer support 24/7 worldwide. With PubNub, you can start building world-class, in-app chat today. 

More from PubNub

4 Must-Have Tutorials For Building an Android Chat App

Good News! We’ve launched an all new Chat Resource Center. We recommend checking out our new Chat Resource Center, which includes overviews, tutorials, and design patterns for building and deploying mobile and web chat. Take me to the Chat Resource Center → Android and Real-time are a match made in heaven, using version 4 of the PubNub SDK. Not only do you get the power of the PubNub DSN, the new API gives you a typesafe pure-Java interface, with heavy use of the builder pattern to streamline configuration. Sunny Gleason created a four part series on his starter kit for Android and the V4 SDK. Following Sunny’s guide your real-time Android app will be up and running in no time. Getting Started with the V4 Java SDK Sunny shows you how to clone his starter kit right from within Android Studio, or create your own new project and pulling in the API from Maven with a small change to your Gradle config. Then he shows you how to navigate the project and customize your keys. Send Messages with POJO Payloads Sending and receiving messages with the native Android SDK is easy. Sunny’s starter kit uses the Jackson library to automatically serialize your POJOs. He also includes a PubSubListAdapter to automatically bridge network code to your UI. Visual Presence Presence is a way of showing who’s online, what they are doing, and how long since they’ve done something. It’s a crucial part of any high quality collaboration app. This blog shows you how to create a presence list with Sunny’s PresenceListAdapter, as well as configure the connection with different heartbeat settings. High Performance Streaming Android is a high performance mobile platform. Thanks to PubNub StreamController APIs you can manage high performance real-time connections by grouping multiple channels into a single unit. Sunny shows you how to add and remove channels from a group, message them in bulk, and even use wildcard subscriptions. We hope you enjoy Sunny’s Android series. Be sure to check out our official Android SDK page, as well as our entire archive of Android-related blog posts.


Build a Fully-Featured React Chat App - Pt. 1

A chat tutorial covering messaging in conversations and setting up the chat UI using React and Redux frameworks.

Build a Fully-Featured React Chat App - Pt. 2

Part 2 of our react-redux chat tutorial. This covers conversation members, typing indicators and profanity filtering using PubNub React and Redux frameworks.