Ably vs. PartyKit: Realtime collaboration platforms compared

Discover why Ably is the better choice for building scalable, multiplayer collaboration experiences with superior quality of service guarantees.

Copy link to clipboard

What is Ably?

compare-page-ably.svg

Ably is a realtime experience platform. Founded in 2016, our realtime APIs and SDKs help you create multiplayer collaboration and a host of other realtime experiences ‘in-app’, without having to build the underlying infrastructure.

Our collaboration product Spaces is built to work with Ably’s other realtime products like Pub/Sub Channels to unlock end-to-end realtime messaging throughout your app. While Spaces powers the features you need to enable synchronous collaboration for teams and manage their participant state, Pub/Sub Channels allows you to flexibly broadcast and sync app state changes between members, your backend, and any other pieces in your system design.

With this mix of building blocks, you can add any feature you want, including: live avatar stacks, live cursors, member locations, live updates, component locking, annotations, chat, comments, notifications and more.

Learn more about SpacesGet started with a free account

Copy link to clipboard

What is PartyKit?

Founded in 2023, PartyKit is an open-source deployment and hosting platform for globally distributed, stateful, on-demand, programmable web servers. Developers implement the server code using the PartyKit API, deploy the server to the PartyKit runtime (JavaScript environment built on top of Cloudflare), which they host. A number of low-level APIs are available for developers to build their own features.

Copy link to clipboard

Ably vs PartyKit: Platform and feature comparison

Copy link to clipboard

Performance, reliability, scalability, and messaging guarantees

Before considering anything else, you need to trust your realtime collaboration platform provider can deliver a dependable user experience at scale. Performance, reliability, scalability, and superior messaging guarantees are critical factors for any solution that enables the building of collaborative applications. These characteristics directly impact the user experience and can make or break the success of any realtime collaborative experience.

Feature/Capability

Ably

PartyKit

Uptime guarantee

99.999% uptime SLA for all paid pricing plans.

See the Ably service status page.

Runs on Cloudflare which has a 100% uptime SLA for Business and Enterprise customers.

Multi-region data replication

All data is stored in at least three datacenters across at least two regions ensuring data availability through any imaginable failure.

Yes.

PartyKit state that they offer “a globally distributed coordination API with strongly consistent storage.” There is no mention of replication, but there is suggestion this is just abstracted away for you.

Global edge network

Ably runs in over 7 regions and 307+ edge acceleration points-of-presence globally. This true mesh distributed system ensures that there is both no single point of congestion and no single point of failure.

Learn more on our global edge network.

Uses Cloudflare’s global edge network.

Latencies

<65ms round-trip latency (P99).

Learn more about Ably’s predictably low latencies.

Use Cloudflare Workers.

Within ~50 ms reach of about 95% of the world’s Internet-connected population.

Scalability

We are only limited by the amount of capacity that Amazon AWS can provide us, which is practically limitless. 

That’s why Ably is able to send billions of messages to millions of concurrently-connected devices, over millions of pub/sub channels. 

Note that every component of the Ably service affected by increased load is designed to automatically scale pre-emptively to meet demand.

Learn more about using Ably at scale.

Use Cloudflare Workers.

Workspace capacity

200 presence members per channel - expandable upon request.

Can only support up to 100 connections per party instance. For more, they recommend using their Hibernation API, which offloads the memory burden from the party instance process to the PartyKit platform.

Guaranteed message ordering

The order in which subscribers receive messages on a channel anywhere in the world will always be the same order that the messages were originally published.

Yes.

Explore Ably's guaranteed message ordering implementation.

No.

Guaranteed message delivery (exactly-once)

Ensures the message can neither be lost nor delivered twice (or more times).

Yes.

Learn how you can achieve exactly-once semantics with Ably.

No.

Automatic reconnections with continuity

Yes.

Explore Ably's implementation of automatic reconnections with continuity.

Yes.

Automatically reconnect if the connection is closed.

Copy link to clipboard

Collaboration features

End-users are coming to expect a number of core multiplayer features to facilitate ‘in-app’ collaboration and enhance the team-work experience - live avatar stacks, live cursors, live locations, live updates, field locking and more.

You’ll want to make sure the platform you choose has through the architectural challenges of integrating these features, so you can focus on the UX.

Collaborative features

Ably

PartyKit

Create a collaborative space

A space is a virtual area of your application defined by you. Realtime collaboration between users takes place in the space, and any number of spaces can be defined in your application. A space can be anything from a web page, a sheet within a spreadsheet, an individual slide in a slideshow, or the entire slideshow itself.

How to create or retrieve a Space.

It is possible using their Websocket APIs but PartyKit doesn’t appear to provide a purpose-built API for creating “spaces” or “rooms.

Avatar stack

Display an avatar stack to show the online status of end-users within a space - online and connected.

How to show online status of members.

It is possible but PartyKit doesn’t appear to provide a purpose-built API for avatar stacks.

Live cursors

Display the location of end-users' cursors in realtime, within a space.

The live cursor API automatically batches messages and provides the message rate required for smooth performance of 100s of simultaneous cursors.

How to track the cursors of members.

It is possible but PartyKit doesn’t appear to provide a purpose-built API for live cursors.

Member location

See which part of a space end-users are interacting with by displaying which component they have selected, or are viewing. A location could be a cell, a field, a slide or anything else in your application.

How to track member location.

It is possible but PartyKit doesn’t appear to provide a purpose-built API for member location.

Component locking

Ably’s component locking API enables end-users to optimistically lock specific UI components while making their edits, so there’s no confusion with other collaborators or disruption to overall collaboration in the space.

How to lock UI components.

It is possible but PartyKit doesn’t appear to provide a purpose-built API for component locking.

Copy link to clipboard

Realtime features

Creating a collaborative environment around your applications is often just one of the many realtime experiences users have come to expect.

If you are looking to incorporate realtime chat, broadcast updates, sync data and more, you need to select a platform that can support what you need.

Realtime features

Ably

PartyKit

Presence

The essential magic ingredient of a number of collaborative features.

Ably’s presence feature allows you to be aware of other clients that are currently “present” on a channel, synchronizing online user state across devices.

It supports a configurable number of presence members and supports 200 members by default, with many more upon request.

Ably automatically deals with connection states of clients. If I disconnect it will automatically tell people “I am no longer here.”

Member state updates such as GPS device location are supported.

Platform efficiencies gained through support of granular presence subscriptions.

Presence docs.

You can create a presence system using the PartyKit client & server APIs.

Flexible Pub/Sub messaging

Yes

Ably offers reliable, low-latency pub/sub messaging that can enable serverless communication - with guaranteed message delivery.

You can create a pub/sub system using the PartyKit client & server APIs.

 

History

We retain two minutes of message history as a default, so if clients disconnect they can properly catch up upon reconnection. Useful for chat or live feeds. You can choose to persist the last message for up to 365 days. Persisted messages retain ordering.

We also enable customers to plug in their own database to get messages beyond what’s retained in our history.

History docs.

No.

PartyKit comes with persistent storage so maybe possible to build.

Channel rewind and persistence

Channel rewind and persistence simplify the problem of joining a collaborative session “late” and needing to catch up on edits.

Persistence and rewind docs.

No.

PartyKit comes with persistent storage so maybe possible to build.

Connection state recovery

Automatic reconnection and event replay ensure a good user experience through connectivity blips and avoid unnecessary reads. On disconnect, we automatically keep state and retry the connection every 15 seconds for two minutes. Once the connection is re-established, any missed messages will be sent to the client.

Docs technical explainer.

Yes.

Using the PartySocket Client API.

 

Push notifications

Send push notifications directly to collaborator's devices, regardless of whether they are currently active in the app or not.

Push notifications docs.

No.

Message interactions

Makes it very easy to interact with messages previously sent to a channel. This comes in handy if you’re building in a comment feature where users can interact with a message – for example by ‘liking’, replying, quoting, or adding an emoji reaction.

Message interactions docs.

Possible - but would have to be implemented by the developer.

Conflict‑free data types

No

Avoid conflicts through field locking, using presence. Enables multiple users to edit the same document at the same time - locking cells, fields, and sections.

Have an add-on library to use with Yjs.

Copy link to clipboard

Supported languages and integrations

Look for platforms that offer SDKs in your preferred language and seamless integrations with your backend.

Feature

Ably

PartyKit

SDKs

Every major language and development platform supported (25+):

- Android

- Flutter

- Java

- Scala

- Objective-C (iOS)

- Swift (iOS)

- MacOS

- tvOS

- JavaScript

- Node.js

- NativeScript

- React Native

- Clojure

- Cordova/PhoneGap

- Go

- Kotlin

Laravel

- PHP

- .NET

- Mono

- Unity

- Xamarin and Xamarin forms

- Python

- Ruby

In addition, we also provide MQTT, message queue (AMQP), and STOMP client libraries. 

Download an Ably SDK.

PartyKit provide libraries/SDKs that allow you to create a PartyKit server and client. The following languages are supported:

- TypeScript

- JavaScript

 

3rd party integrations

We offer a wide variety of integrations, so you can easily connect Ably to your preferred tech stack.

- Webhooks

- Custom

- IFTTT

- Zapier

- Serverless platforms

- AWS Lambda

- Cloudflare Workers

- Google Cloud Functions

- Azure Functions

- Streaming and queuing platforms

- Apache Kafka

- Apache Pulsar

- Amazon Kinesis

- Amazon SQS

- RabbitMQ

- AMQP

You can also automate the provisioning, management, and testing of Ably realtime infrastructure via our Terraform integration.

Explore Ably's library of integrations.

PartyKit states that it "Works well" with popular collaboration frameworks and libraries including:

- Yjs

- Automerge

- Replicache

- XState

- tldraw

- TinyBase

Protocols

The Ably protocol, which is used for realtime communication between the Ably servers and client SDKs is WebSocket-based. Note that we offer fallback transports such as XHR Streaming and XHR polling, for environments where WebSockets aren’t supported.

We believe interoperability is key, so we also support additional protocols:

- HTTP

- Server-Sent Events

- MQTT

- AMQP

- STOMP

Explore the protocols supported by Ably.

Websocket-based platform. Use Cloudflare Workers.

Copy link to clipboard

Security and compliance

Security and compliance are front of mind for many collaborative use cases. Encryption, authentication, roles and permissions, and compliance with standards like SOC 2 are essential requirements for any collaborative multiplayer solution.

Feature

Ably

PartyKit

Encryption

TLS encryption. 

256-bit AES encryption using private keys. This way, message payloads are opaque, can never be decrypted by Ably, and can only be decrypted by other clients that share your secret key (end-to-end encryption).  

Learn more about Ably's encryption.

Support TLS.

Authentication

Yes.

Ably authentication capabilities:

- API keys (basic authentication). Recommended to be used server-side. 

- Tokens with fine-grained access controls for the client-side. Note that Ably supports ephemeral, revokable tokens, and JWTs. 

Learn more about Ably’s authentication mechanisms.

Yes.

Authentication using JWTs.

Configurable roles and permissions

Yes.

Ably allows you to set various permissions for API keys and tokens (e.g., right to subscribe to channels and presence events, right to publish, right to retrieve message history).

Explore Ably's configurable rules and permissions.

Any roles and permissions would need to be implemented by the developer.

Compliance

SOC 2 Type 2, HIPAA, GDPR, EU and US-only data storage.

Learn more about Ably’s security and compliance.

 Unknown.

Data governance

Data governance is not a concern with Ably. We only store data such as chat messages for short periods of time (2 minutes in case persistent data isn’t enabled, and up to 72 hours if it is enabled). 

We offer integrations with tools like Kafka, Amazon Kinesis, Amazon SQS, and we support queues and webhooks, so you can easily move your chat data into your own long-term storage, and govern it as you see fit. 

Matches Cloudflare’s durable objects.

Copy link to clipboard

Pricing and support

Is the pricing model flexible, scalable, and clear? What support options are available?

Feature

Ably

PartyKit

Free package

Our free package allows you to build a proof of concept and explore Ably’s features.

The free package comes with:

- 6 million monthly messages

- 200 peak concurrent channels

- 200 peak concurrent connections

- Supports 200 connections per space

No credit card required.

Get started with a free Ably account.

Open-source.

Pricing model

There are 2 paid tiers: Pay As You Go, and Committed Use. 

Pay As You Go pricing is calculated as follows:

- $2.50 / million messages.

- $15.00 / thousand peak concurrent channels.

- $15.00 / thousand peak concurrent connections.

- Supports 200 connections per space

Compared to the Free tier, the Pay As You Go plan offers a couple of extra benefits, such as data replication across regions, and a 99.999% uptime SLA.   

Similar to the Pay As You Go tier, Committed Use offers a 99.999% uptime SLA. In addition, it comes with volume discounts and add-ons like:

- Premium support.

- Active traffic management.

- Dedicated private cluster.

- HIPAA compliance.

- EU/US-only traffic.

- PrivateLink.

- SSO.

- Customized rate limits.

Learn more about Ably’s pricing.

Open-source. Hosted on Cloudflare - no cost currently.

 

Customer support

Customer support is included in the package you choose - Free, Pay As You Go, or Committed Use (we don’t charge extra specifically for support).

Live chat and email support are available for all Aby users, irrespective of their plan. 

The Committed Use plan comes with additional support channels and benefits, including:

- Full architectural review and guidance.

- Critical incident escalation pager facility.

- Direct access to Ably engineers.

- Support over Slack and phone.

- Dedicated customer success manager.

For the Free and Pay As You Go plans, support is available between 9 AM-5 PM (UK & US East business hours). Meanwhile, for Committed Use customers, support is available 24/7, all year round. 

Guaranteed response times:

- Best effort for users on the Free plan.

- 1 day for Pay As You Go customers.

- 1 hour for Committed Use customers.

View Ably support options.

Community-based support. Looking to provide enterprise support.

Note: This comparison was created based on documentation and resources freely available online. The content was last updated on 19th December 2023. Be sure to double-check everything before you make any decisions. If you do find anything incorrect or out of date, then please let us know.

compare-page-powered-by-ably.svg

Power not only collaborative features, but all your realtime needs with Ably

Unlike Replicache, Ably goes far beyond multiplayer experiences. We can help you with many other realtime use cases:

  • Broadcast realtime event data, such as live scores and traffic updates.

  • Enable conversations in realtime with live chat, from customer support to live streaming.

  • Deliver cross-platform push notifications at scale.

  • Keep your backend and frontend in realtime sync.

  • Add realtime asset tracking capabilities to urban mobility and food delivery apps.