Chat goes Mainstream

Building the Next Generation of Chat Applications

Todd Greene
Startup Grind

--

Stephen Blum and I launched PubNub in 2011. When we started the company, we knew “realtime” was going to be big, but it wasn’t always easy to convince investors of this impending trend.

People hadn’t yet realized that the underlying technology powering Yahoo! Messenger, World of Warcraft, eTrade’s streaming stock quotes, and early smart home products were surprisingly similar — all “live” experiences where “always-on” systems allowed people and devices to interact in realtime.

Both my co-founder Stephen and I had built websites and apps that needed realtime infrastructure, from games, to social and business apps. The end user experiences were awesome, but we never could budget enough time to make the realtime infrastructure as reliable, scalable or as secure as we wanted.

Other companies had similar problems. It was a lose/lose — either you’d spend all your time and budget on the realtime plumbing and never launch the product, or cobble together some realtime hack, and risk crashing and burning if your product was successful.

Even larger companies with dedicated infrastructure teams weren’t always successful (the Twitter fail whale, Pokemon Go’s launch, and the security issues of TRENDnet’s nanny cams come to mind).

We wanted to build the world’s first global realtime infrastructure to make these apps easy to build, secure, and scale; technology that would work across any industry, from financial services to gaming, retail to dating apps.

We designed PubNub with a mantra of it just works. Ideally, that’s what people would say when they tried to build on our APIs. That philosophy has worked well for us; we attracted over 150,000 developers to our network.

The early days at PubNub

Demand for Chat

By 2012, our “Data Stream Network” was doing everything from controlling light bulbs, to making phones ring, and powering multiplayer games.

But there was one use case significantly more popular than the rest — chat.

“How to build chat” tutorials on our website got almost 10x the traffic of other posts. The demand for building chat into apps was high. Chat customers, on the other hand, were a different story.

“We have to pay for this?” was a common complaint. “We don’t need your 99.999 percent uptime guarantees, security benefits, or 0.25 second latency either,” was another objection.

Back then, chat was a disposable feature; it didn’t make money, and had little perceived value in most applications. That is, until the unicorn-style success of Slack, Periscope, Snap, WhatsApp, and the increasing inclusion of chat into virtually every business and consumer mobile, web, and desktop application.

The Chat Imperative

Times have changed. Fast forward five years, and companies like HubSpot, Periscope, Yelp, athenahealth, Autodesk, Pocket Gems, eBay, Hinge, and many others have powered chat with PubNub.

Our chat customers send and receive hundreds of billions of chat actions per month through PubNub. That’s about equivalent to the U.S. volume of SMS messages sent each month across all telcos combined. Over five percent of all IPv4 addresses in the world use PubNub for chat monthly.

Chat functionality now drives purchases, relationships, key decisions, entertainment, health, triage, and collaboration. Chat needs to work all the time, be secure, fulfill legislative requirements, and (in some use cases) support chat rooms with hundreds of thousands of people. Even short downtimes mean lost dollars, lost relationships, and can even risk a patient’s health.

Chat has become mission critical.

Enter ChatEngine

Our it just works mantra continued, even as we added more APIs and features to our network. But as chat requirements matured, we saw customers spending a lot of time piecing together our many APIs to implement all their chat features.

We were providing all the core building blocks, but there was still a lot of work left to the developer to launch chat. Our customers started asking us whether we could make their chat implementations easier and faster.

Enter ChatEngine, a framework we’ve launched to address the various flavors of chat (eg. secure mobile chat, customer support, mega-sized chat rooms, in-game), built on top of the core PubNub Network.

But it’s more than a framework: it’s built with our PubNub Functions infrastructure so that all the server-side logic is deployed as microservices in our network.

There’s no need to run servers for authentication, chatbots, chat routing logic, or anything else. It’s designed with the same it just works mantra to get any kind of chat up-and-running quickly.

ChatEngine is also plugin-based, so everything from typing indicators to language translation, sentiment analysis to unread message counts, are simple modules that can be added to any chat implementation. We launched it with over 30 plugins, with a roadmap of many more to come.

Finally, ChatEngine is a great stepping stone to creating realtime features beyond chat. Over 30 perccent of our chat customers add other “realtime” features within the first year: Realtime charts, graphs, maps, inventory, and remote-controlled devices (lights, locks, valves, etc.) are popular next steps.

But we’re also looking forward to the future of chat.

Chatbots and the Next Generation of Chat

Another year, another well-hyped trend. Chatbots can indeed be true AI, with experiences that pass the Turing Test. But useful chatbots can come in all shapes and sizes.

Chatbots can assist customers directly, or route them to the right human representative. Simple chatbots in games can let players control gameplay inside the chat with a few simple phrases. Brands can strip chat references to their competitors, and COPA apps can use chatbots limit chat to canned responses.

The use cases are endless, and chatbot capabilities and adoption continues to grow.

Over the years, we’ve watched customers build these kinds of features on their own, and inevitably, they get bitten by the operational challenges of putting their servers into the chat flow, intercepting every chat message in flight. Chat slows down, servers go down, and the chat experience breaks.

Those challenges are a primary reason we launched PubNub Functions in 2016, so people can add chatbot logic right into the network, and so that they don’t need to launch and maintain any servers to get chatbot functionality. And as a bonus, PubNub Functions can also serve as an integration point between any Chat AI Engine.

What’s Next?

Ultimately, we’re incredibly excited to help shape how new software is developed. Early in my career, I got to be part of the move to app servers, when developers had to make the mental shift from client/server development to 3-tier web apps.

It took over 10 years before the LAMP stack and its commercial variants became the defacto standard.

Today, new app requirements for realtime updates, collaboration, and device control are again requiring that software be developed differently.

It’s not just stylistic: but when apps are “live”, constantly emitting and consuming data, we need to think differently about how we build, deploy, and scale our software.

Chat is just another example of this. We’re eager to see how event-based, data stream software evolves, and to help drive the technology that powers that evolution.

--

--