Day 235: IFrames and Priorities

I haven’t made any significant progress on Browserflow since coming down to my parents’ place, and this is probably the longest stretch of time that I haven’t worked on Browserflow since I started the project three months ago.

I want to stop being a gaming slug and start doing something with my life again, so I’m going to direct my thoughts back to what I was last working on.

Here’s my dilemma: I know that the most important thing to do is to help people understand what you can use Browserflow for, but I recently thought of a way to fix an issue with Browserflow not working with iframes. Currently, when you click on an element inside an iframe, Browserflow is able to click on the iframe itself but not pierce the iframe and click on the actual element. I thought of a potential solution where I inject a script into every single frame on the page and have them receive and pass messages to coordinates with the main frame, but it’s fairly involved and I’m sure there will be some unexpected hurdles.

Now, given that this has nothing to do with the Most Important Thing and that it’ll be time-intensive to implement, I’d rather put this off until later. I imagine that the vast majority of flows won’t interact with iframes at all, so it doesn’t seem like a high-priority issue to fix. Even Puppeteer, the golden child of browser automation, didn’t support iframes correctly until hundreds of issues in.

So why the dilemma? I’m concerned that if I don’t ride whatever momentum I’ve built up from thinking about the solution, I might punt it for a very, very long time. And by the time I decide to work on it, I might not understand what I had been thinking even after reading my notes simply because the context is gone.

This issue is important enough to fix (iframes are not uncommon) but not so important to prioritize right now. Maybe a way to give it a go without burning too much time on it is to give myself a window of time where I have to stop at the end of it if I haven’t fixed it by then. But knowing myself, I’d want to keep going until I’ve conquered the problem so that might not work in practice.

I’ll spend up to two days on it and reevaluate if I haven’t solved it by then.

Choosing what to work on is hard.