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

Future plans #27

Closed
Yuyz0112 opened this issue Dec 31, 2018 · 9 comments
Closed

Future plans #27

Yuyz0112 opened this issue Dec 31, 2018 · 9 comments
Labels
feature request Things want to be added

Comments

@Yuyz0112
Copy link
Member

I have already described something we would like to add into rrweb in the README, but all of that is about the internal implementations. So I would like to share some high-level opinions about rrweb's future in this issue, and of course, any feedback is appreciated.

First I would not like to add too many built-in functions about analytics, maybe most of the feature requests can be done via a custom event option.

But some something like the heatmap may be added into rrweb-player soon because the currently recorded data is already enough to implement it.

Besides user analytics, I'm more keen on the scenarios like combine rrweb with some E2E test frameworks and use rrweb to implement some demo tooling.

For example, we can use rrweb to record E2E test cases in CI, so developers no longer need to configure something like xvfb, ffmpeg, etc to do that. And personally, I use Cypress to test some projects, and I think it can use rrweb to replace its current DOM snapshot which may save a lot of memory.

There are already some demo tools have a similar concept of rrweb, but may only work in some specific situations. With rrweb, we may make some toolings like asciinema but for the web.

@Yuyz0112 Yuyz0112 pinned this issue Dec 31, 2018
@Yuyz0112 Yuyz0112 mentioned this issue Dec 31, 2018
@TimoStaudinger
Copy link
Contributor

One major use case I can see and that I'd like to explore further is bug reproduction by our internal QA team.

We are currently in the situation that the communication between our mostly on-site dev team and our mostly off-site QA team is less than optimal, and reported issues mostly consist of more or less detailed free text descriptions of bugs. This is not a great situation, as it often leads to miscommunication and lost time.

Having our QA team record issues using rrweb and attach the recording to a bug ticket might make this process a lot more seamless.


To achieve this however, I see two points that could be improved:

  1. Usability for non-technical end users: I'd like to give any user the ability to start a recording of any web application, without explicitly integrating rrweb into said application (the repl approach seems to make this work), and without having to clone this project, without having git installed, and possibly even without explicitly having Node.js installed on their machine (potentially by writing a GUI around the repl or around a dedicated JS API? To ship it, maybe package the resulting bundle using pkg or something similar?)
  2. Notes and Highlights: Add the ability to manually add notes and highlights to a recording. Not quite sure how this can be achieved, both from a UX and from a technical standpoint. I think this might be very useful though. What I have in mind is something along the lines of what most screenshot tools offer:
    image

What are your thoughts on this? Is this something that might be useful from your perspective, or should I rather explore this as a separate project, based on this one?

@styfle
Copy link

styfle commented Jan 2, 2019

I too am interested in this tool for non-technical end users.

I wrote magnemite as a way to capture repro steps across page loads but it requires the end-user installing Electron which might not be possible if the user does not have administrative permissions.

rrweb looks like a really cool alternative!

@Yuyz0112
Copy link
Member Author

Yuyz0112 commented Jan 4, 2019

@timosta
I think the first part of a packaged tool for end users is something like rrweb + CLI or rrweb + electron or rrweb + browser extension.
And for the second part, the highlight is definitely worth to do.
Also, a flexible note tool is great. I'm wondering whether there is some open source canvas based annotation library we can use for this?

@Yuyz0112 Yuyz0112 added the feature request Things want to be added label Jan 22, 2019
@wolverine321
Copy link

wolverine321 commented May 19, 2019

Hi @Yuyz0112, This rrweb is a great library. Recording sessions works like a charm using record and Replayer. Eagerly waiting for heatmap integration inside rrweb. Heatmap integration will make rrweb more robust. When are you planning to release heatmap integration?

@wolverine321
Copy link

Hi @Yuyz0112, is there any way we can add clickmaps like fullstory using rrweb library?

@muaazrafi
Copy link

@Yuyz0112 can you please share some notes how we can implement clickmaps and heatmaps like services hotjar implements, defiantly this is possible the data we are collecting, need little bit help with the steps, any help will be appreciated.

@syffs
Copy link

syffs commented Mar 25, 2021

@Yuyz0112 can you please share some notes how we can implement clickmaps and heatmaps like services hotjar implements,

Hi @Yuyz0112 ! Would you be able to provide an update on this 2 years old ticket ? It seems like the recorder basically samples all the needed data to implement click/move/scroll heatmaps.

Functionally, this would be an amazing addition to complete the recording kit provided by the library !

@Yuyz0112
Copy link
Member Author

We've met the 1.0 milestone. Any future roadmap will be discussed in our slack channel. Welcome to join the channel and discuss with us!

lewgordon-amplitude pushed a commit to lewgordon-amplitude/rrweb that referenced this issue Oct 15, 2024
@fuzing
Copy link

fuzing commented Jan 8, 2025

Implementing heatmaps is far more difficult than most folks think.

For a single user device on a single page it's easy (even with rrweb) - simply build up the heatmap using clicks/hovers/scroll-positions etc. (a simple summation/radius technique will yield great results, and can be overlaid using a package like heatmap.js)

However most folks want heatmaps that span multiple visits (by multiple users) for the same page, and this is where things get tricky. The following must now be taken into account:
Different users will be using different devices, with different form factors (think about the difference between desktop, tablet, mobile, and then think about responsive pages that may not even be showing the same DOM content, depending upon the size/orientation of the screen).

To aggregate across multiple sessions/users/form-factors, there are essentially 2 strategies that can work:

  1. Partition the data into 'binned' form factors that closely approximate one another, then display the data using the x,y information from events (like those from rrweb) and you should get 'reasonable' approximations for a heatmap.
  2. Track hovers/clicks/scrolling by tagging some form of canonicalized representation of the underlying DOM elements, such that the data can be rebuilt across any form factor device........ this is the holy grail from a website analytics perspective, but far more difficult to achieve. Unfortunately, rrweb is not tagging the data sufficiently to achieve this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Things want to be added
Projects
None yet
Development

No branches or pull requests

7 participants