Pusher’s ChatKit. Does it make your chat app easier?

Benjamin Kaplan
Sep 5, 2018 · 4 min read
Source: Fotolia.com

Sometimes you have to chat with people who aren’t in the same room as you and for a while, that was horribly inconvenient. Back then, without a way of tracking the other individual down using technology, you had to hope that the would-be recipient of your verbal discourse was within shouting distance.

Those days are long gone. Some proactive members of society invented a postal system, then the phone, then a better phone, then the internet and now we pretty much have communication on demand with anyone, anywhere, anytime. One of the more popular methods of communication is to chat online or on your phone through the relatively emotionally anonymous method of text chat.

Today developers everywhere are creating new apps to make this widespread need for online chats easier and more convenient than ever. Whether it is a personal one on one dialogue, hundreds of people trying to communicate business needs to clients and colleagues or your guild talking strategy before diving head first into this week’s challenging ordeal, the demand for online communication has never been higher.

Some companies have taken to developing nearly ready to deploy chat functionality that can be integrated with minimal effort into most applications and then customized to meet the app’s individual needs. One such company is Pusher and their somewhat newly released ChatKit. I had a chance to use Pusher’s Chat-Kit in a recent project and I wanted to share my thoughts.

I must add a disclaimer here, I am not in any way affiliated with Pusher and this a written statement only about my time using their product. I have also only worked with this program using React and Node JS and must do further tests before I can speak to any other frameworks or libraries. That being said, similar to Socket.IO, Pusher’s ChatKit works on both the client side and the server-side with similar API’s. You can quickly install all the dependencies with NPM or Yarn (we won’t get into that argument here) and they offer a pretty thorough tutorial on getting a basic chat up and running. Once you create an account you can request an instance locator and secret key and you will receive it seconds after you confirm your email.

Once logged in, there is a dashboard with an inspector tool that allows you to create test rooms and see users online from their website which is not only a pretty helpful debugging tool but also quite handy when it comes to planning the layout of your chat rooms. The documentation is thorough and a lot of the setup for the application can be almost literally copy pasted from the page if you so choose. There is a simple built-in authentication route on the server-side that works out of the box but does not come with any logic for checking user validity, so you will have to write your own or trust that everyone is who they say they are.

From there, without any customization, the chat app will function much as you expect. You can view who is online, see who is typing and receive messages from any signed in party. You can program in additional rooms quite easily and add users or admins, and users can add themselves in (barring any restriction you set up). The customization going forward is nearly endless and you can add whatever features you so choose and integrate it as a part of any larger application you’ve been working on.

As an aside from the technical aspects of the program, it is also worth noting that I asked Pusher’s support a quick question about one of their built-in functions not working for me (it is also important to note here that the error was actually on my end) and their customer service team got back to me within 24 hours. Having originally come from a customer service background myself, I cannot actually articulate how amazing a quick response from any company is, especially when my personal average tends to be a waiting period of one to three weeks with most technical support requests. Oh yeah, also unless you are scaling, the program is free and they are pretty transparent about which features are supported by a free account and which aren’t.

I had a decent time with this product and I was pretty happy with the final result. Pusher’s ChatKit is actually what they say they are, an easy to use, reasonably minimal chat feature that does take some of the work off your shoulders without having to sacrifice quality or functionality. This program will not apply to every application and there are definitely times where I think you definitely want to go a different direction but as far as most applications go, especially if your chat feature is only a small component of your program, this may save you hours upon hours of work and is definitely worth checking out.

Benjamin Kaplan

Written by

Front-End Engineer, UX UI Designer, and writer. Creative and passionate about responsive design and problem-solving.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade