From simple text-based services to chatbots, we’re spending more and more time on messaging apps. Beyond 1:1 and group chat, messaging apps are growing more innovative, more powerful, and have become a linchpin for customers, businesses, and teams across every industry and vertical.
As a result, we’ve seen a flood of new messaging applications of all shapes and sizes entering the market. In fact, messaging apps have surpassed social networks in monthly users, and the gap continues to grow. More and more functionality is taking place directly in the chat interface outside of sent and received messages.
So how do you set yours apart from the rest?
To do so, you need a certain set of core, established features that users have come to expect. Without those, your app is doesn’t stand a chance.
But you want to take yours to the next level, differentiating it from the thousands of chat apps out there, or build messaging into your existing application to deliver a better user experience and drive engagement. In using the vast number of incredibly accessible and affordable APIs, SDKs, integrations, and infrastructures-as-a-service, you can do just that.
In this post, we’ll start with features every user expects, then move into innovative ideas for building chat of the future.
Expected Features of Any Chat App
These are the fundamental features that every chat has (or should have) today:
Send and receive messages in real time, either one-to-one, or one-to many.
Join and leave a chatroom.
Messages should be stored and easily retrieved, either through a Load more messages option or infinite scroll.
Messages should be time stamped.
A user list (eg. buddy list) that updates in real time as users go online/away/offline.
Typing indicators to show when someone is actively typing.
Alerts for offline users via push notification when they receive a message.
Only authorized users to have access to channels to keep the conversations private when necessary.
Ability to invite other users to a group or kick out/block them from a group for inappropriate actions.
.gifs. So many .gifs.
Chat Features to Set Yourself Apart
Obviously, we’re all very familiar with the features listed avobe. Give or take, they’re apart of basically every messaging application out there today.
So let’s get into why you’re really here, a list of messaging features that set your messaging app apart. These kinds of features are redefining the way communication takes place and continues to push the space forward.
Before getting into specific differentiators, it’s important to first discuss how important it is to build your chat application with programmability in mind. What exactly is programmability?
Programmability means your chat app is “event-driven”, which gives you complete control over what happens in between a message being sent and a message being received. This could be adding business logic, alerts, or triggering 3rd party APIs. This design drives to innovative features listed below.
Instead of forcing users to switch between messaging and mapping apps, deliver geolocation directly to chat users.
Cotopaxi delivers geolocation delivery updates directly in chat.
Embed live maps with real-time geolocation tracking directly into a message stream. eCommerce and on-demand companies can utilize this to allow customers to monitor their delivery or service in real time.Integration examples: Mapbox, Esri, Google Maps
Initiate directions and ETAs and publish them directly to the message stream. Combine with text-to-speech to get audio directions as well.
Integration examples: Mapbox, Esri
eCommerce and On-demand
Run an entire shopping experience, from browsing to fulfilling orders with chat.
Cotopaxi sends order updates via chat.
Utilize chatbots with automated and AI-powered cognitive capabilities to assist shoppers with browsing, ordering, and troubleshooting orders from a messaging interface (more on chatbots later in the post).
Stream order updates and alerts, like push notifications and SMS, as the order moves through the fulfillment lifecycle.
There’s a lot of trolls out there. Chat apps today need moderation tools in them to filter messages on the fly, not only for text, but also for images.
Moderate content flowing through a chat as the messages are published on the fly. This could filter out inappropriate messages, block trolls, or even remove competition mentions (for live events and launches).Integration examples: SiftNinja, Neutrino
Moderate images on the fly using image recognition to filter out provocative images.
Chat can compliment a video or live event, and allow users to interact with one another.
Combine a chat application with a live streaming video, and showing how many users are currently viewing the live event.
Collect and aggregate geolocation data of users to gain insight on how many people around the world are watching the event.
Allow users to vote on custom polls to increase user engagement.
Add interactive features like allowing users to raise their hands or upvote other messages.
Build delightful user experiences for users.
Send larger files of any format in real time. Rather than sending the entire file, efficient chat applications send a reference to where the file is hosted for the end user to download.
One should be able to bookmark/star important messages and see them later on.
Message search and message tagging/pinning.
Automated and AI-powered Chatbots
Chatbots are difficult, but luckily for you, there are a ton of powerful chatbot services on the market today. You should be able to build your chat microservices to power your chatbots, and integrate 3rd party chatbot services directly into your application.
Poncho delivers weather updates via chatbot in a chat app.
Use automation to send responses when a situation is predictable. For example, a user starts chatting with a support agent on a website. While an agent may not be available immediately, you can collect user’s information like email as automated response saying, “Our agents will reply back in a moment. Please provide your email”. This benefits user as they won’t have to wait for long to hear back from agent and frees up time for agents.
Use automation to send responses when the data is available and accessible. In the example of an ecommerce website, the user can type in a chatbox, “I would like to know the status of refund for my order”. The intent of this sentence is “refund status”. An automated response could be sent to the customer in with a mini form like “Please provide order ID and your email”. This enhances the user data collection experience.
We can make users’ experiences better by asking questions and giving automatic responses contextually depending on where the user is on the site. While they are on the payment page, you can show them a personalized coupon that they can use.
Combine activity history with customer inputs to make recommendations and answer questions in real time.
Integrations and APIs
This is similar to chatbots, but more broadly speaking. However, the technology is related, in that you should be able to build your own chat microservices to integrate 3rd party APIs.
Interact with 3rd party apps and APIs using commands (like Slack apps) to make your tasks more efficient.
Utilize 3rd party alerts and notifications services to trigger SMS, mobile push notifications, and browser notifications.
Initiate a video call or interactive collaborative environment with services like Cisco Spark.
Create your own API which can be called from chat using a command that fulfills your needs only.
You should give your business users full transparency into the usage of their application.
For customer support types of messaging apps, allow business users to see average chat time, connected end users, open and closed chats, or even sentiment ratings of conversations (using APIs like Watson Natural Language Processing).
Monitor geolocation of connected users to gain a better understanding of where your users are located.
We’re seeing chat move from simple messaging to widespread adoption across every vertical, from healthcare, to eCommerce, to live events. It has become a linchpin of human communication.