Day 358: Browserflow Stability
First work-related post in a very long time! I’ve basically only made personal posts this entire month:

I onboarded my friend Taylor to Browserflow today, and there were issues with two out of the three flows that I normally walk people through.
One was due to an edge case that most users wouldn’t encounter (Browserflow didn’t properly handle coordinates when the browser’s zoom level isn’t 100%), but the other one was due to a regression. That is, it’s a bug that I introduced when fixing something else.
Currently, Browserflow only has unit tests for certain parts of the application — things like URL matching, fuzzy search, and CSS selector generation. The only other testing that happens is when I run some flows as sanity checks before pushing a new build. Manual testing has been a fine solution for the projects I’ve created so far (Intention, Hide Likes, etc.), but I don’t think it’ll work for Browserflow.
There are two reasons why:
-
Browserflow needs to support mission-critical workflows
If Intention were to break, it’d be annoying but not the end of the world. But if people are using Browserflow for their day-to-day work (which is the goal to make this something worth paying for), it’d be much worse to have things stop working.
-
Browserflow needs to work on every website
Sometimes, when I think about what I’m attempting to do — allow automating any workflow on any website — I wonder if I’ve bitten off too much. It’s a monumental task because there are so many kinds of websites and patterns that Browserflow needs to support. Consider the “Type Text” command where Browserflow types into a text field. Sites often customize their text box, so when I make a change, I end up opening up tabs for Gmail, Notion, Roam Research, Messenger, and a plain textarea in Bootstrap to test out whether a change in how text is entered behaves strangely on any of them.
I need to invest in testing so that I don’t accidentally break something every time I change how a command works.
It’s kind of nuts that I’ve spent most of this year working on an application that I still haven’t launched yet. It’s somewhat understandable given the scope of the project, but returning to it after taking weeks off is making me realize just how big of an undertaking this is. And I think I want help so that things keep on moving along even if I’m not personally making those changes.
In 2021, I want to make Browserflow revenue-generating and use that to bring on at least one other person who can help me make sure that this is a tool that people can rely on and use for years to come.