Analysis / Technology /

Pusher Helps Bring Real-Time Apps to the Masses

25 Apr 2017 9:00am, by

Sure, you could build your own real-time functionality such as multiplayer games, chat and dashboards for web and mobile applications, but do you really want to? And maintain it? London-based Pusher’s hosted platform aims to take that off tech teams’ plate.

“You can integrate it with a few lines of code. With the server-side API, you can deliver it to clients very quickly. And you don’t have to worry about managing, scaling, resilience,” said Sam Stagg, vice president of engineering.

“When there are thousands of customers, it can become a real scaling issue. We take all that away from our customers through the API.”

Since launching in 2010, Pusher has attracted more than 100,000 developers, according to the company.

  • The New York Times uses it to push live election results — Pusher maintained more than 250,000 connections there — and DraftKings for fantasy scoring results, but Pusher’s capabilities go beyond push notifications.
  • It enables the Financial Times’ experts to provide real-time commentary on the news and real-time trading tables. Registered users can chat in a separate stream.
  • Lyft uses Pusher to track a car on the map, sends you notifications as it approaches and enables chat with the driver.
  • It also powered an interactive game for the TV show “Wie is de Mol?” (Who is the Mole?), popular in the Netherlands, for the Belgian company Small Town Heroes. More than 300,000 people played along trying to solve the Mole mystery.
    And PrePlay uses it for second-screen commentary and social media apps to enhance the experience of watching sports or TV shows.

Pusher is designed to be a massively scalable and resilient pub-sub message bus.

It uses Redis in the middle and connects to more than 30 client and server libraries. An API service connects on the server side and uses a web-socket service on the client-side. While the client API is available in multiple programming languages, it provides a JavaScript implementation as a fallback if it’s not possible to connect over the web socket.

It offers a queryable API, webhooks and a debug tool. It recently added integration with DataDog for monitoring of 19 metrics and provides alerting through Slack. Most customers use a multitenant cluster on Amazon Web Services, but the largest customers get a dedicated infrastructure. It touts being able to help developers create apps that comply with European and other local data protection regulations.

Its primary competitor is the DIY mindset, Stagg says, though when people use open source options, they don’t realize the challenges that come from managing them in production.

Yahoo open sourced its Pulsar pub/sub messaging system, with Kraken from Asana, and Google offering other options. Projects covering open sockets include SocketCluster for Node.js and RudeSocket for C++.

Meanwhile, there’s an array of competing hosted providers, such as Socket, Ably and PubNub.

Last fall, the company launched Pusher Labs, providing a place for a dedicated team to create its next-gen platform separately from its day-to-day operations, to help its clients improve their applications with less code. Stagg said the company’s not ready to talk about that initiative, but there will be announcements later in the year.

In a blog post, Ph.D. student Michael Walker said he spent last summer at the company working on is a distributed message bus written in Go using Raft consensus. The company previously scrapped a Haskell-based replacement system due to poor garbage collection performance.

Feature Image: “Message in a Bottle” by Shannon Doyle, licensed under CC BY-SA 2.0.


A digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.