Liveblocks overview
Liveblocks is a realtime collaboration infrastructure for developers, first launched in 2021. It provides a set of APIs and tools to add collaborative features to applications. Developed purely for collaboration, they offer a fully hosted solution and toolkit to modularly embed collaborative experiences into products.
Liveblocks’ products
If you are looking to build a small-scale collaborative application, Liveblocks offers four core products to help you build what you need, these include:
- Presence: To build features such as avatar stacks, live cursors, etc.
- Broadcast: To push updates to clients.
- Document: Data types for co-editing.
- Comments: Currently in beta.
Why consider an alternative to Liveblocks?
Although Liveblocks offers a good set of features for small-scale applications in a range of frameworks (Next.js, React, Redux, and Zustand), it has some shortcomings to be aware of:
- Need to architect and build APIs from scratch for collaborative features: Liveblocks doesn’t come with purpose-built APIs for collaborative features, you need to architect and build from scratch using a combination of their four products.
- Limited messaging architectures: Restricted to P2P. Liveblocks doesn’t support backend systems except for token auth.
- Not a fit for other realtime functionality: Liveblocks is suited to multiplayer collaboration only. To add other realtime functionality, such as chat and notifications, you’d need to use a different system which adds extra complexity.
- Not built for global scale: Limited detail available on global network. They only offer a four nines SLA, available to enterprise customers only.
- No data integrity guarantees: Messages can arrive out of order, more than once, or not at all, creating poor user experience.
What to look for in a realtime collaboration solution
Miro, Google Docs and Figma have set the experience users now expect. To meet these high expectations you should consider which of the solutions available deliver not just the functionality required but is also high performing. Here are some evaluation criteria to consider:
- Great developer experience: From docs, to example code, intuitive APIs to support everything should go towards creating a smooth, developer experience.
- Feature flexibility: Have your cake and eat it! A balance between purpose-built, opinionated APIs and flexible Pub/Sub channels for building collaborative environments around applications, plus flexible realtime APIs to add a host of additional features and deliver realtime sync throughout.
- Integrations: Will easily slot into your existing tech stack, with a number of front and backend integrations.
- High performing: Built for scale. Reliable, highly available, and ensures data integrity out-of-the-box. In short, it just works!
5 alternatives to Liveblocks
For anyone looking to provide a reliable collaborative experience at a global scale, the limitations of Liveblocks make it worth evaluating alternatives. Here’s our pick of the top five to consider!
- Cord
- Partykit
- Replicache
- PubNub
- Ably
1. Cord
Founded in 2020, Cord describes themselves as “a toolkit for adding chat and live collaboration to your product.” They offer pre-built components for chat, messaging, commenting and user interactions that you can drop-in to your application. They also have an SDK and APIs for building your own features.
Best fit for
If you're looking to drop-in collaboration features, where you can tweak the UI to match your brand, then Cord is worth exploring. Their pre-built UI components for things like comments enable you to easily add features to your application, with the option to change elements like colours, and fonts, etc. to match your brand.
Advantages
- Integrations available: Templates are available for Next.js and Remix.
- Drop-in components: Add out-of-the-box capability and tweak the UI to match your brand.
- Lower level APIs add flexibility: Have the option to tailor functionality of UI components further using their JS SDK.
- Good number chat features: If the primary goal is to enable collaboration via chat, comments, annotations. Cord has built a number of dedicated components and examples.
Disadvantages
Need to architect and build APIs from scratch for collaborative features: Because Cord is largely focused on asynchronous chat, comments, and annotations you need to work through implementation using their lower level APIs in combination with feature components to build collaborative features such as avatar stacks.
Not a fit for other realtime functionality: Cord is very focused on helping developers to add chat as a means to collaborate. To add additional realtime functionality you’d need to use a different provider which adds extra complexity.
Not built for global scale: Three nines SLA for enterprise customers only.
No data integrity guarantees: Messages can arrive out of order, more than once, or not at all.
2. Partykit
Founded in 2023, PartyKit is an open-source deployment and hosting platform for globally distributed, stateful, on-demand, programmable web servers. Developers build using the PartyKit API and deploy to the PartyKit runtime server (JavaScript environment built on top of Cloudflare). A number of low-level APIs are available for developers to build their own features from comments to avatar stacks.
Best fit for
If you are looking for an open-source solution to work through some collaborative ideas, then PartyKit is worth looking at. Not only is it free to use, but they also have a number of example apps to copy - ideal if you want to develop a basic POC or benchmark other providers.
Advantages
- Open source: Partykit is free to use.
- Available offline: Partykit can support local-first (offline) applications.
- Platform-agnostic: PartyKit integrates with your current setup. Plays nicely with Vercel, Netlify, AWS, Cloudflare, fly.io, or wherever you host your app. No big rewrite needed.
- Example apps: Broad selection of apps to gain inspiration from - from live cursors, to AI chat apps.
Disadvantages
- Documentation: Limited information available on APIs.
- Lack of support: Partykit support is only available through the community.
- No SLAs or proprietary realtime infrastructure: Partykit don’t have their own realtime infrastructure. It is based on Cloudflare Workers, so it is unclear what happens if there are issues/ outages and who you should reach out to. There are also no SLAs in place.
- Limitations on concurrent user volumes: Partykit can only handle 100 concurrent users, and rooms can start struggling above volumes of 30-40 people.
3. 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 a backend (third party or your own) that takes care of handling data transactions. By doing so updates are handled quickly, eliminating the need for any kind of waiting indicator or ‘spinning wheel’.
Best fit for
Replicache is best in scenarios where you are creating an application from scratch. This is because to run, it requires an infrastructure that normal web apps don’t have. If you decide to use it for an existing application, you will have to refactor all of your business logic.
Advantages
- Realtime updates: Users see each others’ changes live, as they happen. No refreshes, no locking.
- Instant UI: All reads and writes are “optimistic” by default. No more waiting indicators or progress bars.
- Offline support: Applications can go offline and sync up when they come back online.
Disadvantages
- Have to bring/build your own backend: Whilst this offers a great deal of flexibility, it also greatly adds to the build time as you will have to work out the implementation of a number of features required for an end-to-end collaborative solution. Plus you then have the ongoing management overhead.
- Not suited to use in existing applications: Replicache requires a very specific way of modelling your application state. That means that if you’re thinking about integrating Replicache into your existing application, you’ll probably have a hard time doing it, because you’ll have to refactor all your business logic.
- Need to architect and build APIs from scratch for collaborative features: Replicache doesn’t come with ready made APIs for collaborative features, you need to architect and build from scratch.
- Not built for global scale: There is no backend and therefore no SLA - reliant on third party SLAs.
- No data integrity guarantees: Have to bring your own backend - so dependent on chosen stack.
- Lack of integrations: No formally supported integrations.
4. PubNub
PubNub is a realtime communication platform that can be used to support a range of applications, including collaborative apps. It is compatible with various platforms across web, desktop, mobile, and IoT, with various SDKs for rapid development of clients and servers.
Best fit for
PubNub is best for those looking to introduce realtime functionality other than just collaboration features (e.g. chat). It does require you to invest the time in architecting the collaboration features you need, but it offers greater flexibility.
Advantages
- Realtime platform: PubNub can be used to build a range of realtime features, not limited to multiplayer.
- Good variety of client, server, and IoT SDKs: support for popular languages and platforms such as JavaScript, Android, Swift, Unity, Python, Dart, Swift.
- Globally-distributed infrastructure: 15 data centers, with data replication in multiple regions to protect against single points of failure.
- Multiplayer gaming: Lots of docs and tutorials for multiplayer gaming if this is your use case.
Disadvantages
- Need to architect and build APIs from scratch for collaborative features: PubNub doesn’t come with purpose-built APIs for collaborative features, you need to architect and build from scratch using their presence and broadcast APIs.
- No data integrity guarantees: Messages can arrive out of order, more than once, or not at all, creating a poor user experience.
- They use long-polling instead of Websockets: Long-polling can mean less reliability, more latencies and overhead.
- No data center fallback support for SDKs: A regional outage will impact users in that region.
5. Ably
Ably is a realtime experience platform. 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. Whilst our Pub/Sub channels product offers the flexibility to build any realtime experience required, we also offer a purpose-build product for building collaborative environments (Spaces), and will be releasing a product to help with state management (LiveSync) soon. All products come with unrivalled guarantees around performance, data integrity, reliability, and scalability through our globally-distributed, multi-region network.
Best fit for
Building a large scale, fully featured collaborative app with realtime sync throughout. 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 from: avatar stacks, live cursors, member locations, live updates, component locking, annotations, chat, comments, notifications, and more.
Why Ably
- Feature specific APIs: Spaces is the only product that comes with purpose-built, realtime collaboration APIs for adding avatar stacks, member location, live cursors, and component locking. All APIs are optimized for top performance. For example, the live cursors API automatically batches pointer position events to avoid unnecessary streaming of messages whilst ensuring negligible latency.
-
High performing: Powered by our market-proven, realtime infrastructure that’s built for reliability at scale, backed by five nines SLAs and messaging guarantees.
- <65 ms median latency.
- Guaranteed message ordering and (exactly-once) delivery, even in unreliable network conditions.
- Redundancy at regional and global levels.
- Dynamic elasticity, built for scale.
- A range of integrations: From Webhooks and React Hooks to Lambdas and streaming processors like Kafka, Ably has built front and backend integrations for a range of protocols, frameworks, databases and cloud services.
- Realtime platform: Our collaboration product, Spaces, is built to work with Ably’s other complementary products like Pub/Sub Channels to unlock end-to-end realtime messaging throughout your app. More specifically, our upcoming LiveSync product will help you deal with app state management between the frontend and your own backend systems with ease.
Which is the best realtime collaboration solution for your use case?
Like everything in software, the answer is “it depends” - what realtime and collaborative features do you need? How do you envision users engaging with your application? Are you looking to save time upfront with a turn-key solution at the cost of flexibility later?
It's critical to try and answer these questions early on so you don't end up locked in with a vendor. And consider your appetite for sourcing and managing multiple vendors if you start with a solution that’s built just for collaboration but doesn’t support the implementation of other realtime features like chat, broadcast, Pub/Sub, data sync, notifications, and more.
If you are looking for a solution that can support you now - as you integrate collaborative features - and as you scale, and introduce new features, you can try Ably for free (no credit card required) and make your own assessment.
Top comments (0)