-
Notifications
You must be signed in to change notification settings - Fork 46
Adds USPs to chat docs #3056
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
base: main
Are you sure you want to change the base?
Adds USPs to chat docs #3056
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
* Add relevant platform guarantee asides to chat documentation pages * Standardize aside format to use "See evidence here 🕵️" consistently * Fix Admonition component fallback for undefined dataType * Resolve merge conflict in Aside component Pages updated: - Chat index: Added scaling guarantee - Chat setup: Added connection recovery guarantee - Chat connect: Added edge network failure resolution - Chat integrations: Added throughput capability evidence - Messages: Added message ordering guarantee with improved context - Typing indicators: Added latency guarantee for real-time feedback - Presence: Added connection recovery for online status reliability - Room reactions: Added latency guarantee for ephemeral reactions - Replies: Added state integrity guarantee for reply chains - Media sharing: Added fault tolerance for media references - Message reactions: Added state integrity for reaction persistence - React UI Kit index: Updated format consistency - History: Updated format consistency - Rooms index: Updated format consistency 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
GregHolmes
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Fran, I've gone through each addition and feel there may need some changes to be made to further improve these.
|
|
||
|  | ||
|
|
||
| <Aside data-type='see-evidence'> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand the relevance for the Aside in this page. Plus the space between the image and the Aside doesn't exist.
|
|
||
| The history feature enables users to retrieve messages that have been previously sent in a room. Ably stores chat messages for 30 days by default. You can extend this up to 365 days by [contacting us](https://ably.com/support). | ||
|
|
||
| ## Retrieve previously sent messages <a id="history"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why have we removed the header here?
| | limit | Maximum number of messages to be retrieved per page, up to 1,000. | | ||
|
|
||
| <Aside data-type='see-evidence'> | ||
| Ably maintains message continuity for up to 2 minutes during disconnections. The SDKs automatically handle reconnection and deliver all missed messages. [See evidence here 🕵️](/docs/platform/architecture/connection-recovery) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not relevant to chat. Messages in Chat are stored for 30 days by default, which can be extended for up to 365 days.
That said this Aside is just repeated what's stated in the first 3 sentences (first paragraph) of the page. I'd recommend removing it from this page.
src/pages/docs/chat/rooms/index.mdx
Outdated
|
|
||
| To start receiving messages and events from a room, you need to attach to it. Attaching to a room tells Ably to start streaming messages to the client, and ensures that events are not missed in case of temporary network interruptions. | ||
|
|
||
| <Aside data-type='see-evidence'> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not too sure this Aside is where it should be. It's disconnecting the feature discussion of how to attach to a room.
src/pages/docs/chat/rooms/media.mdx
Outdated
| Upload the media to your own storage service, such as AWS S3, and then use the `metadata` field to reference the location of the media when a user [sends a message](/docs/chat/rooms/messages#send). On the receiving end, display the media to [subscribers](/docs/chat/rooms/messages#subscribe) that received the message. | ||
|
|
||
| <Aside data-type='see-evidence'> | ||
| Every message is redundantly stored across multiple isolated datacenters within your region before acknowledgment, preventing data loss. [See evidence here 🕵️](/docs/platform/architecture/fault-tolerance#core-layer) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm afraid I'm not too sure what is the point being gained here by talking about messages being redundantly stored on a share media page.
If it were relevant, it's unfortunately not really helpful as it's the first thing people will see when loading the page. They're here to learn about sharing media in a chat room.
| Room reactions are ephemeral and not stored or aggregated by Ably. The intention being that they show the overall sentiment of a room at a point in time. | ||
|
|
||
| <Aside data-type='see-evidence'> | ||
| Ably achieves a global median message delivery latency of 37ms, continuously monitored through over 6 million measurements daily across all regions. [See evidence here 🕵️](/docs/platform/architecture/latency#how-latency-is-measured) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think latency talk is relevant for this page. But the positioning of the Aside may not be the greatest at the top of the page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will move to the bottom of the page where it says "Send a room reaction".
| Message replies are implemented using the `metadata` field when you [send a message](/docs/chat/rooms/messages#send). | ||
|
|
||
| <Aside data-type='see-evidence'> | ||
| Applications maintain their state during disruptions. All messages are received in correct order with no message loss. [See evidence here 🕵️](/docs/platform/architecture/connection-recovery#message-identification-with-timeserial) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this may be relevant to the page, but the positioning may need to be rethought.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move to the bottom of this section, below the code samples.
src/pages/docs/chat/index.mdx
Outdated
| * [Getting started: Chat in Kotlin (JVM)](/docs/chat/getting-started/jvm) | ||
| * [Getting started: Chat in Swift](/docs/chat/getting-started/swift) | ||
|
|
||
| <Aside data-type='see-evidence'>Ably monitors resource headroom and triggers automatic scaling when load approaches capacity, absorbing traffic spikes without degradation. [See evidence here 🕵️](/docs/platform/architecture/platform-scalability#monitoring-and-auto-scaling)</Aside> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this page really needs an Aside. I'd recommend removing it from this page for now. The page needs a redesign (something on my list) and I think any stats you put in there may not be needed.
|
|
||
| Ably is trusted by organizations delivering chat to millions of users in realtime. Its platform is engineered around the four pillars of dependability: | ||
|
|
||
| <Aside data-type='see-evidence'>Ably delivers over 500 billion messages monthly, demonstrating massive throughput capability. [Click here for evidence 🔬](https://ably.com/docs/platform/architecture/scalability)</Aside> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure the positioning of this is great. We're leading to the bullet points in the paragraph above, and then we place an Aside in the middle. cutting the flow of the experience in reading this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move to the bottom of this section, below all the text on the diagram.
| * **Server-side batching:** Reduce costs and network overhead by grouping messages before delivery. As shown in the [example](#server-side-batching), [batching messages](#server-side-batching) reduces the number of outbound messages such that it increases linearly with the number of users in the chatroom. | ||
| * **Rate limiting:** Control the flow of messages per user to maintain readability and prevent spam. Choose between per-connection rate limits or global throttling. | ||
|
|
||
| <Aside data-type='see-evidence'>With 50% capacity headroom built in, Ably instantly absorbs traffic spikes without degradation or pre-provisioning. [Click here for evidence 🔬](https://ably.com/docs/platform/architecture/infrastructure-operations#resource-implications)</Aside> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this would be better further down the page at the end of this section and above the Authentication header. What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have moved to the bottom of the bullet points in this section.
- Keep USP callout about edge network failures - Add jetpack language support to connection status docs 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
|
I think we may need to re-think what these USPs are for. Currently the ones being added to the pages don't really make sense in the page they're in. It may be worth compiling a list of USPs we want to have. Then going through page by page to see whether any of these USPs actually fit in that page or feel relevant for that page. With key questions being asked each time:
I'd also recommend that you get the new design ready in a new branch first and remove the ones in this PR (and the other PRs). The table changes, although would be greatly welcome, do not belong in this PR, they just muddy the review and purpose of the task. I'd recommend cherry picking the changes out (as long as they're in their own commits), and putting them into a separate branch for a separate review. |
I will agree with the fact that these two can be removed, as we are really trying to push the architecture here and maybe are a little bit light on content:
and maybe:
However, I would say that the others are in a reasonably good spot, and we are backing up the claim that we make with evidence in the architecture section... In terms of supporting the actual documentation, I think that these have a slightly different purpose and it is more backing up. Therefore, a little bit of repetition is to be expected. The purpose of this, it leans more into marketing and drawing people towards the architecture docs rather than adding more information about the functionality of the features that we're describing on the page... Yes, we can remove the table fixes, although they were in a pretty poor state when I saw them. And thought I would just fix them here as i go.. |
I understand this but copying and pasting a couple sentences from another page doesn't really give you the understanding of how that supports or is relevant to the page in question. For example , on /docs/chat/rooms/reactions (room reactions), at the bottom you've got: Now, looking at it from someone who doesn't work at Ably, how does talking about 37ms latency help me understand or make my decision on using this feature within my chat app? Rewrite the sentence from a reactions perspective and then it makes sense. I prompted Claude as possible ways to rewrite that sentence: Specific usecase: More concise: My point is they feel exactly how they are.. Copied and pasted from another section of the docs, with no context as to why they're here. I think the first example above could possibly be too fluffy for our docs. Personally I prefer the second quote. What do you think? |
Thank you for your feedback Greg.. I will rework these a bit more (without them sounding marketing) |
Keep only USP aside additions and removals.
This PR:
Note that once the copy has been confirmed, I will then add the finished components designed by Lenker.
Checklist