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.
What is Ably?
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.
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.
Ably vs PartyKit: Platform and feature comparison
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. | 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. | Uses Cloudflare’s global edge network. |
Latencies | <65ms round-trip latency (P99). | 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. | 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. | No. |
Guaranteed message delivery (exactly-once) Ensures the message can neither be lost nor delivered twice (or more times). | Yes. | No. |
Automatic reconnections with continuity | Yes. Explore Ably's implementation of automatic reconnections with continuity. | Yes. Automatically reconnect if the connection is closed. |
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. | 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. | 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. | 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. | 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. | It is possible but PartyKit doesn’t appear to provide a purpose-built API for component locking. |
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. | 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. | 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. | 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. | 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. | 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. | 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. |
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. | 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. | 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 | Websocket-based platform. Use Cloudflare Workers. |
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). | 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. | 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). | 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. | 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. |
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. | 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. | 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. | 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.
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.