What is hard about debugging today?
Most software is debugged with print statements. Print statements make it easy to see the order your code was called in, but can take a while to update because every time you add a new print statement, you need to refresh and reproduce the problem. And you can never be certain that the next time you re-run the program, it will run the same way.
Time-travel debugging is like Instant Replay for your software. You can record your software once and replay it as often as you like. This means when you add print statements in Replay, you no longer have to edit, refresh, or attempt to reproduce the bug. Replay will simply show the associated logs in the console.
We’ve all been adding print statements since our first “Hello World” so it is hard to imagine what it would feel like for them to be any different. If you give yourself five minutes in Replay, you’ll never go back.
The Maintenance Tax
The most difficult aspect of fixing a bug is often reproducing it in the first place. Bugs can also be incredibly distracting, requiring developers to context switch off of existing work in order to investigate the new problem.
Replay helps teams maintain their evolving software stack because anyone can record the problem and developers have all of the context they need to fix the problem. No reproductions needed.
We’ve been able to use Replay for customer support since day one because all of our users have Replay. For example, Mark, CTO of Glide, recorded a bug he was seeing and Holger, an engineer on our team, found the problem. It sounds simple, but the ability for Holger to debug Mark’s problem as if he were experiencing it in real time is magical!
Runtimes should be replayable
It would have been simpler to focus on one browser, but we designed Replay’s recorder to work across a range of runtimes and platforms from the start. We are also releasing Replay for Chrome and Node in Beta today. Join our Discord channel to share feedback.
Our goal is for runtimes to be replayable: we should be able to thoroughly understand our software no matter where it is running or what language it is written in. We explain how Replay works here and encourage you to check out our Firefox, Chromium, and Node forks on GitHub.
Launching today is our opportunity to open Replay up to a larger audience and learn from the community. We strive to make debugging more visual, exploratory, and fun. We can only do that with your help.
Our goal for 2021 is to help teams file debuggable bug reports. We have focused on JS bugs up to this point, but we will be turning our attention to vi