Ably vs. Replicache: Realtime collaboration solutions 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.
Ably’s Spaces, Pub/Sub Channels and LiveSync (coming soon) products can be used separately or in combination to not only unlock end-to-end realtime messaging but to create a host of collaborative features including: live avatar stacks, live cursors, member locations, live updates, component locking, annotations, chat, comments, notifications and more.
Ably’s Spaces SDK powers the features you need to enable synchronous collaboration for teams and manage their participant state.
Our upcoming product LiveSync helps you deal with app state management between the frontend and your own backend systems with ease.
What is Replicache?
Launched in 2022, Replicache is a framework for creating multiplayer web applications. It allows you to connect your data model and your UI with your own backend that takes care of handling data transactions. By doing so updates are handled quickly, eliminating the need for any kind of waiting indicator.
Ably vs Replicache: platform & 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.
99.999% uptime SLA for all paid pricing plans.
You have to bring your own backend. This means guarantees are dependant on backend implementation.
<65ms round-trip latency (P99).
Benchmark figures are only available for client-side operations. In this regard they have and average push-pull round trip latency 100’s ms.
On the backend, their solution requires a) enforcing that mutations on a model are executed sequentially and b) requires an extra round trip (“pull”) with each change.
Practically limitless. We are only limited by the amount of capacity that Amazon AWS can provide us.
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.
Client-side it is practically limitless.
On the backend it is very much dependant on how it has been implemented.
Global edge network
Ably has data centers in 7 regions:
Our network also consists of 385 edge acceleration points of presence (PoPs) distributed all over the world.
You have to bring your own backend. Developers would have to build out global edge network.
The Ably service comes with a globally-distributed, multi-region mesh architecture, with no single point of congestion, and no single point of failure.
You have to bring your own backend. Developers would have to ensure multi-region data replication.
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.
You have to implement yourself in the backend.
Guaranteed message delivery (exactly-once)
Ensures the message can neither be lost nor delivered twice (or more times).
It's the developers responsibility to implement this in the backend.
Automatic reconnections with continuity
Can work in ‘offline’ mode - Applications can go offline for hours or days and sync up smoothly when they come back online.
However as per their docs: “Note that the potential for serious conflicts grows the longer users are disconnected from each other. While Replicache will converge all clients to the same state, it won't always produce a resolution users would be happy with.”
200 presence members per channel - expandable upon request.
N/A - no concept for creating rooms/workspaces for members to join.
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.
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.
Replicache doesn’t provide APIs for any specific features.
Display an avatar stack to show the online status of end-users within a space - online and connected.
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.
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.
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.
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.
Presence provides the functionality to identify and communicate individual behavior in realtime. It allows you to be aware of other clients that are currently “present” on a channel, synchronizing online user state across devices.
You’d need to use a third party like Ably or implement in the backend model.
Flexible pub/sub messaging
Ably offers reliable, low-latency pub/sub messaging that can enable serverless communication - with guaranteed message delivery.
You’d need to build own backend or use a third party like Ably.
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.
With Replicache the developer is responsible for storing a version history of state in their backend which is used to construct a series of patches to send to the client when they request the latest changes.
So you essentially implement your own history.
Channel rewind & persistence
Channel rewind and persistence simplify the problem of joining a collaborative session “late” and needing to catch up on edits.
With Replicache the developer would need to implement this in their backend.
Send push notifications directly to collaborator's devices, regardless of whether they are currently active in the app or not.
No support for push notifications.
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.
There’s no specific concept of modelling messages/reactions in Replicache, it's more general purpose.
Conflict‑free data types
Avoid conflicts through field locking, using presence. Enables multiple users to edit the same document at the same time - locking cells, fields, sections.
You can integrate yjs with Replicache model but they have detailed some challenges.
Supported languages, integrations, and protocols
Look for platforms that offer SDKs in your preferred language and seamless integrations with your backend.
25+ realtime (and REST) client library SDKs targeting every major language and development platform:
In addition, we also provide MQTT, message queue (AMQP), and STOMP client libraries.
Supports the following:
- Can be anything - developers have to undertake implementation work.
3rd party integrations
We offer a wide variety of integrations, so you can easily connect Ably to your preferred tech stack.
Streaming & queuing platforms
(NEW) You can automate the provisioning, management, and testing of Ably realtime infrastructure via our Terraform integration.
Replicache has examples and docs for integrating with:
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:
Developers can choose. For push/pull this is a request/response model so typically HTTP. For ‘poke’ you need a realtime connection so need to integrate with a third party WebSocket platform like Ably.
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.
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).
Ably authentication capabilities:
No direct authentication support, this is something developers would do when implementing the backend (i.e. authenticate requests to push/pull endpoints in HTTP API).
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).
No - this is something developers would do when implementing the backend.
SOC 2 Type 2, HIPAA, GDPR, EU and US-only data storage.
Unknown - could not find any documentation on this.
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.
Developers can bring their own backend and use it with whatever database they want, with the caveat that the database must support serialisable transaction isolation.
Pricing and support
Is the pricing model flexible, scalable, and clear? What support options are available?
Our free package allows you to build a proof of concept and explore Ably’s features.
The free package comes with:
No credit card required.
Replicache is free to use for non-commercial projects, or for companies with < $200k revenue (ARR) and < $500k in funding.
There are 2 paid tiers: Pay As You Go, and Committed Use.
Pay As You Go pricing is calculated as follows:
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.
If you are looking to exceed 25.000 channels, 25.000 connections, or 2.5 billion messages, we recommend the Committed Use tier.
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:
For other commercial projects, the first two months are free, and then we charge based on the number of monthly active profiles.
Monthly Active Profiles:
You can have a source licence if you have over 10k monthly active profiles.
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:
For the Free and Pay As You Go plans, support is available between 9AM-5PM (UK & US East business hours). Meanwhile, for Committed Use customers, support is available 24/7, all year round.
Guaranteed response times:
Via email, Twitter or Discord only.
Note: This comparison was created based on documentation and resources freely available online. The content was last updated on 11th October 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.