Building chat applications with Pusher Channels

Chat-on-Channels-1.jpg

Pusher CEO Max Williams takes a look at why we're seeing an increase in users building chat applications with Channels for greater control and flexibility.

Introduction

We’ve recently been seeing an increase in the number of new and existing users who are using Pusher Channels to create chat applications.

We made the decision to discontinue our dedicated Chatkit product earlier this year, but as I mentioned at the time, I remain incredibly optimistic about the chat use case. Many of our customers have been using Channels for their chat applications for a long time, and it continues to be a popular solution. I found the recent growth really interesting, and wanted to take a look into the reasons that Channels is such a good tool for this use case.

What we’ve learned is that Channels is often a better fit for customers than the more specialised offering that we created in Chatkit.

Specialised chat solutions aren’t always enough

The allure of the “chat out of the box” style solution is that it just works. Especially for prototypes. It’s a good proving ground for understanding the value that chat can bring to your application. However, we saw a trend of customers growing out of this mode.

There are two key needs which aren’t solved with this solution:

1. Full control over the database of customer conversations
2. Full flexibility to use your own business logic in a chat solution

The Channels benefit

The beautiful thing about Channels is that it helps you get the data to the people who need it in a scalable, fast and secure way. We focus on transferring changes in state, but we don’t hold your data at rest.

While many solutions exist that create a backend as a service, and combine more of the database functionality, we find that there’s a consistent group of customers who want to hold onto their own database and have control over it. For these customers, we take care of an important job of doing the heavy lifting on data delivery so they don’t need to worry about it.

There are lots of reasons to want us to manage all your long-lived connections. This is a tricky job that requires a lot of expertise. When done badly, it can also lead to entanglement between the delivery mechanism and your internal business logic, slowing down your rate of deployment. We’ve already learned the lessons which come with the challenges of managing these connections, and have developed a careful deployment process through many years of experience.

Most importantly, customer conversations are subject to all kinds of legislative requirements. While chat service providers can offer tools to deal with this, nothing beats having the data somewhere you can control, and are fully aware of.

With our end to end encryption feature you can ensure that event data payloads are unavailable to Pusher and our infrastructure providers. We have no access to event data, and don’t have any kind of ability to do anything with customer conversations. So your customer conversations are always encrypted and secure when flowing through our internal systems.

Becoming a great partner for chat solutions

We want to continue evolving Channels to be better for this use case. This means some work on our roadmap to cater for it. We’re not going to be providing the same level of specialisation as we did with Chatkit, but we do want to make it a great fit. We’ll continue to publish information about how to create many of the richer features we previously offered. Make sure to keep an eye on our tutorials, blog and social media for more resources coming soon.