nodejs.org icon indicating copy to clipboard operation
nodejs.org copied to clipboard

Re-integrate Sentry's Session Replay to the Website

Open ovflowd opened this issue 7 months ago • 14 comments

I believe Session Replays provided valuable information on what users are doing, and I think it is worth to re-add Sentry on the Website, even if it is just for Session Replay.

It needs to be done in a way that it bootstraps in a separate chunk and after page-load, we can't have user experience being affected by this + I'm fine only integrating Session Replay and nothing more.

I want to better understand how many users are going to the ESP/EOL page in Node.js Releasdes + what download options people are choosing. We might update the Dropdown of download options to give unique classnames or IDs btw.

One of the reasons are that the DevBox option on Downloads is scratching my head. I've never seen anyone using this option (in the sense that I don't know anyone that uses DevBox) and I do believe we should have some criteria or say on what should be added there even if it passes all community critera.

Better understanding the numbers will provide a better case to add part of the community criteria something like "the community critera needs to pass at leasy lazy-consensus when requested to be added through an issue; and any website team member can raise an issue to remove it at any given time at their discretion if it passes also the consensus seeking process" -- for me this is a path to protect ourselves from overbloating the download dropdown options + from edge cases that could misleadingly be passing all communinity criteria (not official ones, although IMO official ones should ALSO be approved by a consensus seeking process)

I'm fine proposing an amend to that. As @ljharb said once, we should avoid bloating the dropdown with whatever that appears. This is a way to protect ourselves in a democratic manner.

cc @nodejs/nodejs-website @nodejs/web-infra

ovflowd avatar Jun 01 '25 00:06 ovflowd

I'm not sure I understand how it works, but if it's how I think, that it records what the user does, I'm -1. I'd prefer to use something like Vercel's own Tracking Custom Events, it seems less intrusive to the user IMO.

bjohansebas avatar Jun 01 '25 01:06 bjohansebas

+1 to what @bjohansebas said, Session Reply (from what I understand of it) feels like the wrong tool for the issue being described here -- we want to track and aggregate interactions, not watch back individuals exploring the page. An analytics tool is far better suited to this, and is a lot less invasive.

MattIPv4 avatar Jun 01 '25 01:06 MattIPv4

I'm not sure I understand how it works, but if it's how I think, that it records what the user does, I'm -1. I'd prefer to use something like Vercel's own Tracking Custom Events, it seems less intrusive to the user IMO.

We used Session Replay before, and no, Session Replay is non-intrusive. It is all anonymized, and there's no PII or user data to even be tracked on Node's website, hence why we don't even have a cookie banner.

ovflowd avatar Jun 01 '25 01:06 ovflowd

we want to track and aggregate interactions, not watch back individuals exploring the page. An analytics tool is far better suited to this, and is a lot less invasive.

I don't want to introduce usage tracking on our website. I want to add Session Replay because it allows us to better understand how users are interacting with the website (from frustration, session drops, understanding usage patterns), custom tracking events or analytical events give a very partial and imprecise story. + coding usage events requires us adding these tracking calls all over the website, and I don't want to add "user tracking". Think of Session Replay as a way to reconstruct the DOM and better understand UX.

Note that this was here before, and we only removed due to the large bundle-size addition Sentry was doing to the website and I was too lazy at the time to want to meddle with optimizing it.

ovflowd avatar Jun 01 '25 01:06 ovflowd

BTW @bjohansebas and @MattIPv4 there are two points this issue is covering actually:

  • Re-integration of Session Replay
  • Consensus Seeking process behind adding/removing download options from the Dropdown of Version Managers within the Downloads page.

ovflowd avatar Jun 01 '25 12:06 ovflowd

I still feel that we shouldn’t have this, it’s more than what an open source project should have for tracking. I won’t be a blocker if others think it would be a good idea.

bjohansebas avatar Jun 01 '25 18:06 bjohansebas

there are two points this issue is covering actually:

* Re-integration of Session Replay

* Consensus Seeking process behind adding/removing download options from the Dropdown of Version Managers within the Downloads page.

I think we should split those up as I think we're conflating things that shouldn't be conflated. I can see Session Replay being useful for user research, and I agree with your points around that. I don't think Session Replay is the right tool for the job to determine at an aggregate level whether a feature/interaction happens often or not, unless I'm misunderstanding how Session Replay works and the data it gives us?

MattIPv4 avatar Jun 01 '25 18:06 MattIPv4

I don't know anything about Sentry's tools, but if it's the same as Google Analytics, then that seems perfectly acceptable for anything, open source project or not.

ljharb avatar Jun 02 '25 04:06 ljharb

I still feel that we shouldn’t have this, it’s more than what an open source project should have for tracking. I won’t be a blocker if others think it would be a good idea.

I'd like you to expand on, why you believe this is not something an Open Source project should have?

ovflowd avatar Jun 02 '25 11:06 ovflowd

I think we should split those up as I think we're conflating things that shouldn't be conflated. I can see Session Replay being useful for user research, and I agree with your points around that. I don't think Session Replay is the right tool for the job to determine at an aggregate level whether a feature/interaction happens often or not, unless I'm misunderstanding how Session Replay works and the data it gives us?

I see. I gave Session Replay being re-added as an example of data source for the decision making process I've mentioned above. To be clear, I do think we should reintegrate Session Replay for the sake of UX research and providing a better website for our userbase, legit honest intent. But I also felt that now it is a good opportunity due to what I mentioned above (community version managers)

ovflowd avatar Jun 02 '25 11:06 ovflowd

I don't know anything about Sentry's tools, but if it's the same as Google Analytics, then that seems perfectly acceptable for anything, open source project or not.

Sentry's Session Replay uses the Open Source rrweb (https://github.com/rrweb-io/rrweb) for recording the DOM tree and then it sends to our Node.js project in Sentry. That's pretty much it, it doesn't track anything (breadcrumbs or user information) besides the very basic (user agent and anonymous session ids, etc)

ovflowd avatar Jun 02 '25 11:06 ovflowd

FYI @nodejs/nodejs-website @nodejs/web-infra do we want to make a decision here? Collecting said data would make sense for us to better understand the pay-offs of any change on the homepage related to the ESP program/EOL versions.

ovflowd avatar Jun 28 '25 17:06 ovflowd

I thought for the homepage, the intention was to make use of Vercel's basic click tracking, to avoid collecting extra data we don't need?

MattIPv4 avatar Jun 28 '25 17:06 MattIPv4

Sentry's Session Replay helped us better understand unexpected issues and improve UX in a sustainable way. +1 from me

canerakdas avatar Jul 20 '25 11:07 canerakdas