Day 306: Features vs. Bugs
Yesterday, I made the following commitment:
I can’t ship a new version of Browserflow until I’ve collected payments from four people paying $50 to join the Browserflow beta.
No new features until I hit that milestone, but I’d make exceptions for bug fixes.
Turns out that telling the difference between the two is pretty hard.
Today, I onboarded my friend Parthi who wanted to use Browserflow to automate a task on Substack. It was going pretty smoothly until we clicked on a button that triggered a little dialog:

And that brought Browserflow to a grinding halt.
That dialog is created by calling window.confirm(), which was surprising to see here given that Substack is a 3-year-old startup with millions in funding and yet they’re using the browser’s default dialogs. Nothing wrong with that — it’s just rare to see. In general, I was taken aback by how sparse their design is. It looks like something an indie hacker would throw together over a weekend. But hey, if it works well, then it works.
There’s something peculiar about the browser’s dialogs. If you call window.confirm()
, window.prompt(), or window.alert(), the browser halts all Javascript execution until they’re dismissed. That made Browserflow’s “click” command freeze and be unable to continue. Womp.
So would Browserflow choking on these dialogs be a bug? Sure seems like it, since it’s not working as intended. But there are a ton of things that fall into that category. For example, Browserflow currently doesn’t support uploading files to file choosers. Is that a bug? Or is the ability to upload a file a feature?
These dialogs are rare enough on websites that I hadn’t come across them while working on Browserflow for the past 5 months. So it could be argued that supporting dialogs is a feature. But given that my friend is (1) trying to use Browserflow to help a client (as opposed to for some hobby project) (2) he’s my friend and (3) I imagine there will be more people who want to automate things on Substack, I decided to go ahead and fix this. Hours in, I’m still not done — dismissing these dialogs is much more involved than I thought.
Going forward, I can see how this blurry line between bug and feature might draw me back into coding and doing core product work instead of talking to people. Today’s experience felt like a nice balance though. I talked to someone who wanted to use Browserflow, came across a bug that stops Browserflow from satisfying his need, and worked on fixing the bug.
Finding the balance here is going to be tricky.