About LiveObjects

Ably LiveObjects provides a serverless, durable, and scalable way to create, update, and synchronize shared state across large numbers of connected clients at any scale.

LiveObjects provides a global, durable, and conflict-free shared data layer built on Ably’s global platform, so your application state stays perfectly synchronized in realtime without the need to build or manage complex infrastructure yourself.

LiveObjects enables you to store shared data as “objects” on a channel . When an object is updated, changes are automatically propagated to all subscribed clients in realtime, ensuring everyone always sees the latest state.

LiveObjects provides a simple, purpose-built API that handles realtime synchronization, persistence, and convergence behind the scenes. The result is a single logical view of your data – distributed to the edge, updated in real time, and always in sync – no matter how many users are connected or where they are in the world.

You can use LiveObjects to build all sorts of powerful functionality in your applications that require realtime updates to shared data. It is useful when your application has data that:

  • Is shared by multiple users or devices
  • Needs to be synchronized in realtime
  • Can be updated concurrently from multiple places

Use Ably LiveObjects to build scalable realtime applications such as:

  • Voting and polling systems: Platforms that need the ability to count and display votes in realtime, such as audience engagement tools, quizzes, and decision-making applications.
  • Collaborative applications: Tools like shared whiteboards or content and product management applications where multiple users edit shared content simultaneously.
  • Live leaderboards: Multiplayer games or competition-based applications that require up-to-date rankings and scoreboards.
  • Game state: Applications that present dynamic in-game statistics or game state in realtime, such as player health, scores, and inventory changes.
  • Shared configuration, settings or controls: Systems where configuration parameters are shared or updated across multiple users or devices.

Ably LiveObjects provides the following key features:

LiveObjects provides specialized object types to model your application state. These object types are designed to be conflict-free and eventually consistent, meaning that all operations on them are commutative and converge to the same state across all clients.

LiveCounter is a numerical counter that supports increment and decrement operations. It ensures that all updates are correctly applied and synchronized across users in realtime, preventing inconsistencies when multiple users modify the counter value simultaneously.

LiveMap is a key/value data structure that synchronizes its state across users in realtime. It enables you to store primitive values, such as numbers, strings, booleans and buffers, as well as other objects, enabling composable data structures.

LiveObjects enables you to build complex, hierarchical data structures through composability .

Batch operations enables multiple operations to be grouped into a single channel message, ensuring atomic application of grouped operations. This prevents partial updates of your data and ensures consistency across all users.

Inband objects enables clients to subscribe to LiveObjects updates in realtime, even on platforms that don’t yet have a native LiveObjects Realtime client implementation.

LiveObjects durably stores all objects on a channel for 90 days by default.