Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

State Persistence docs #1959

Open
mattheworiordan opened this issue Aug 1, 2023 · 0 comments
Open

State Persistence docs #1959

mattheworiordan opened this issue Aug 1, 2023 · 0 comments
Labels
content-request A request for new content, as opposed to changing/fixing existing content

Comments

@mattheworiordan
Copy link
Member

mattheworiordan commented Aug 1, 2023

When we launched last message on channel functionality, it was designed so that developers could persist the last known state of their component/object/app on a channel, and then broadcast those changes out efficiently using Deltas. Conceptually this is a completely different way of using channels, instead of it being a stream of events, a channel now represents the state of an object, and the channel provides a means to distribute updates to subscribers. Examples are you could have a score board, where you publish the complete scoreboard, and all clients subscribe to that with rewind=1 to hydrate the state into their views, and then subscribe for new state updates with deltas enabled to make it binary efficient. This is covered in https://ably.com/blog/from-message-history-to-state-persistence.

However, when you go to our docs on this, https://ably.com/docs/channels/options/rewind?lang=javascript, you can see that the conceptual model has been completely lost. As such, we're not communicating the benefit of why we created this functionality. It is up to us to share the conceptual patterns that we envisage and how customers can use our APIs, instead of just detailing what the API does. What the API does and how it works is really an API reference+, whereas I believe the docs should be talking about concepts and patterns we recommend, and showing people why those patterns are powerful and how to use them.

Note there is a new related ticket to this - see https://ably.atlassian.net/browse/REA-1622. We currently don't support limit=1 for last persisted message functionality via the REST API, and this needs to be fixed.

┆Issue is synchronized with this Jira Task by Unito

@mattheworiordan mattheworiordan added the content-request A request for new content, as opposed to changing/fixing existing content label Aug 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
content-request A request for new content, as opposed to changing/fixing existing content
Development

No branches or pull requests

1 participant