from Hacker News

Firefox Replay

by nachtigall on 11/28/19, 9:59 AM with 286 comments

  • by darshan on 11/28/19, 8:26 PM

    Mods: the link should perhaps be changed to: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/We...

    This currently has 1215 points, and the link is no longer valid. It now just shows an image of Firefox's devtools and the sentence "Replay is an early experiment. We'll let you know on @FirefoxDevTools when it's ready for input." That's not useful, interesting, or informative. The MDN docs seem like an appropriate replacement.

  • by inglor on 11/28/19, 10:51 AM

    This is a pretty nice comment from the source that explains how it works: https://github.com/mozilla/gecko-dev/blob/11d9c7b7fa82fdfb8a...

    ``` // Recording and replaying works by controlling non-determinism in the browser:

    // non-deterministic behaviors are initially recorded, then later replayed

    // exactly to force the browser to behave deterministically. Two types of

    // non-deterministic behaviors are captured: intra-thread and inter-thread.

    // Intra-thread non-deterministic behaviors are non-deterministic even in the

    // absence of actions by other threads, and inter-thread non-deterministic

    // behaviors are those affected by interleaving execution with other threads.

    ```

  • by strombofulous on 11/28/19, 10:14 AM

    Ooooh wow. This might be enough to get me to use Firefox to develop with. This could be huge for its market share, a big part of the reason chrome was able to become so popular was because of how good its devtools were (compared to the competition at the time).

    Firefox definitely managed to catch up but not before lots of devs switched to chrome and stopped checking for compatibility with Firefox.

  • by Roark66 on 11/28/19, 11:28 AM

    They should've put this note at the very top of the page: "Mac OS only for now!".

    What is the point of promoting this to everyone at this stage?

  • by Etheryte on 11/28/19, 12:23 PM

    If this works well, it could eventually be a very big boon for Firefox in the business world. Q&A can now send reproducible bug demos to development. Technical clients can do the same. I wouldn't be surprised if someone built tooling to map these recordings into automated tests either: expect the given recorded workflow to not throw errors.

    I can't quite remember when I had a bug where a tool like this would've been useful, but I'm sure I would've been (and will be) very thankful for it.

  • by devit on 11/28/19, 10:14 AM

    Why "Download Firefox Nightly for macOS"?

    Is it not supported on Linux and Windows? Why?

  • by jasonlaster11 on 11/28/19, 6:59 PM

    Thanks for the feedback!

    Replay is in the user-research and validation phase and still quite experimental.

    firefox-replay.com is a work in progress. We're still sorting out the best way to communicate record and replay debugging and the new use cases.

    We'll share more on @firefoxDevTools when we have something to report.

  • by ihuman on 11/28/19, 7:12 PM

    What's going on? I just see a block of text next to a static image.

    "Replay is an early experiment. We'll let you know on @FirefoxDevTools when it's ready for input."

  • by kevsim on 11/28/19, 10:19 AM

    The biggest benefit for me (I think) would be if the product/design people I work with could find issues and send their recordings to me. Don't think I'll be able to convince them to switch to FF though.
  • by tenryuu on 11/28/19, 12:22 PM

    Regarding Mac OS: looks like, on Windows FF Developer Edition I can access it's UI from creating a boolean in about:config named devtools.recordreplay.enabled

    A new option in settings will be added to enable a Toolbox Button named "Enable WebReplay", but pressing that button will replace the entire tab content with an about:blank

  • by danShumway on 11/28/19, 2:36 PM

    My first thought is I'm mildly skeptical that this will end up being granular enough or detailed enough to actually be useful in practice, but if it does, it could be very useful.

    I'm pretty happy to see Firefox pushing its dev tools in this direction. They've done a really great job with layout and styling tools, but their JS dev tools have lagged behind Chrome's. So even if this particular effort doesn't pan out for some reason, it's still very encouraging.

    They're not just carbon-copying Chrome, and they're not just sitting back and ignoring the dev tools; they're trying to push them forward in some interesting ways.

  • by inglor on 11/28/19, 10:39 AM

    Is there any way to make this work in automation? This could really help with debugging failed e2e firefox tests.
  • by mattfrommars on 11/28/19, 6:27 PM

    This is quiet cool! They did far better job then I would have imagined in doing myself! Ha!

    [Link to the editor](https://github.com/abdusamed91/realtime-codeeditor)

    I implemented it in my real time code editor coursework project where I made use of [Ace Editor](https://ace.c9.io/)'s CRDT. The time machine slider does the job and looked remarkable when it ran.

  • by brna on 11/28/19, 10:40 AM

    No Linux support :(
  • by ga-vu on 11/28/19, 10:44 AM

    For those interested into how this works, look into Time-Travel Debugging and the WebReplay API
  • by saimiam on 11/28/19, 10:34 AM

    This didn't work for me.

    1. I installed the nightly build as told.

    2. Open nightly build

    3. Went to the "Save Recording" option

    4. The first two times, I got a [javascript error] saying I could not record.

    5. The remaining couple of times - after I open a "New Recording Tab", whatever that is - I didn't see the javascript error but the website whose clickthru I wanted to record using this tool didn't even load in that new recording tab.

    Just this morning I recorded a clickthru like caveman using Quicktime. Can't wait for FF to iron out the kinks in this feature.

  • by sdan on 11/28/19, 11:16 AM

    How is this different from recording in Chrome Web Dev tools?

    To be clear, I use both Chrome and Firefox for development but just to the surface level, so I'm probably missing the point here.

  • by ManlyBread on 11/28/19, 11:26 AM

    This looks pretty good. Are there any other tools like this for different platforms? I'd be especially interested in something like this for the .NET ecosystem.
  • by swsieber on 11/28/19, 9:24 PM

    Oh, oh, oh! This is so exciting!

    I had built a poor mans version of this where I worked with puppeteer for automated tests. It'd basically record the full dim any time it changed, along with console logs, network request metadata, images and css and output it as a test recording. You could then view that and walk through it in an Electron app.

    This'll blow it out of the water. I hope for e2e testing's sake that linux support comes soon.

  • by empressplay on 11/29/19, 12:06 AM

    Tangentially, our Apple II emulator [1] has a recording reverse-debugger, should you want to do similar to debug 6502 code... ;) Developers of recent Apple II games have been using it to resolve pesky bugs.

    [1] https://paleotronic.com/software/microm8/help/web-debugger/

  • by Blaiz0r on 11/28/19, 10:18 AM

    This looks great, it's good to see that Firefox is pushing new dev features, instead of playing catch-up to Chrome.

    Does Replay work on the Firefox Dev build?

  • by asaddhamani on 11/28/19, 12:28 PM

    I would love to give Firefox a shot, but there's one thing I've had issues with, when working with projects using things like webpack, when there's an error, Chrome links me back to the original file and line, I never seem to be able to do this in Firefox. Makes it so much harder to debug things. Am I doing something wrong, or is there a way to fix this?
  • by aedron on 11/28/19, 11:48 AM

    I am not primarily a web developer, but I guess I don't really see it.

    I suppose 'rewind' would mostly be useful for Javascript applications? But in Javascript you can already debug pretty well. It's been a while, but I suppose Javascript debuggers can drop frames, like debugging other languages, so you already have a kind of rewind?

    Does anyone have a good example use case for this?

  • by Karupan on 11/28/19, 10:29 PM

    This will be an absolute game changer for web development. I am currently working on a really simplified version of this, but as a chrome extension. We deal with a lot of real time data and have been facing some timing issues (network and user input) which is really hard to reproduce.

    I’m going to give this a shot today!

  • by foobaw on 11/28/19, 6:59 PM

    I wonder how this is positioned compared to Bird Eats Bug and LogRocket/FullStory
  • by jv22222 on 11/29/19, 2:34 AM

    I've been working on a slightly related idea - https://speakhq.co - I did submit as a Show HN, but didn't get too much traction.
  • by hyt7u on 11/28/19, 5:09 PM

    Just tried it out, and performance seems really bad at the moment, to the point where I couldn't tell if it was working properly. Does anyone have any suggestions of sites to try this on?
  • by jrm2k6 on 11/28/19, 3:38 PM

    It might just be me but enabling the option and clicking and the recording button just attempt to reload the page and I get a blank page. Not sure what is supposed to happen.
  • by 8bitsrule on 11/28/19, 6:34 PM

    Firefox is (mostly) a wonderful, free application. Linux is a wonderful, stable, free desktop.

    Strange days indeed. Just giving some thanks where it's due.

  • by mimischi on 11/28/19, 10:37 AM

    So in its scope this somewhat similar to Cypress.io?

    https://www.cypress.io/

  • by Abishek_Muthian on 11/28/19, 2:13 PM

    Must admit, I've used screen recording during web development for some edge cases; this might address those situations
  • by deedree on 11/28/19, 4:56 PM

    What would apple have to do to let us have this on iOs? I would love to have a choice of browser on my phone.
  • by shepardrtc on 11/28/19, 5:03 PM

    Is it not appearing for anyone else? I downloaded it (for MacOS), and that option does not exist.
  • by meerita on 11/28/19, 7:44 PM

    I can't see it.

    > An error occurred when connecting to firefox-replay.com. PR_CONNECT_RESET_ERROR

  • by smnrchrds on 11/28/19, 3:31 PM

    Is there a replaying debugger for reverse-engineering dotNet programs?
  • by markdog12 on 11/28/19, 1:37 PM

    Really hope they can get this working with WebGL
  • by softwarelimits on 11/28/19, 12:22 PM

    Can I add a little bit of randomness to this?
  • by OrgNet on 11/29/19, 4:27 AM

    Is this a rebranded Firefox Focus?
  • by kyriakos on 11/28/19, 6:34 PM

    Macos only for now
  • by bogwog on 11/28/19, 4:15 PM

    Maybe once they figure out how to monetize the data
  • by wruza on 11/28/19, 12:10 PM

    As a former gnu/linux user, I see no point to have it on a desktop. Gnu is happy to live under c:/MSYS2, and ‘linux’ part was never good at desktop-home hardware anyway. These 1.77% are barely justified as an option, imo.
  • by sandGorgon on 11/28/19, 10:54 AM

    is this like Postman ?
  • by Shaaaaaaare on 11/28/19, 11:03 AM

    Looks interesting but too bad it only supports overpriced macs making it useless
  • by bdibs on 11/28/19, 10:21 AM

    Looks potentially really useful, but is it normal for them to create a whole site just for one new feature?
  • by _bxg1 on 11/28/19, 3:21 PM

    Very cool, but I'd much prefer they spend their time bringing Firefox's dev tools up to par with Chrome's first. I've tried several times to switch to FF completely, but every time I end up switching back on my work computer because of the dev tools.
  • by inglor on 11/28/19, 10:40 AM

    We actually have something similar for this for tests at Testim (https://testim.io) but only for tests with screenshots and state.

    Would people be interested in us open sourcing that part for regular debugging? I have considered it but I didn't think people would be interested in using this in a non-test case.

  • by aphroz on 11/28/19, 11:05 AM

    While Microsoft is making great effort towards opening, it is sad to see Firefox develop a feature working on Mac OS only. This is terrible because you might argue that this is the same as a feature working on Windows only, but Windows can run on different hardware manufacturer. This is like a double closing. I am on Linux and I will uninstall Firefox as a repercussion hoping it will have an impact. Too bad for the last hope for a chrome alternative.