Day 453: brainmush

13 hours of coding today and my brain is oatmeal

so why

this is gonna be me babbling about browserflow’s data architecture so if you’re not me, it’s gonna be hella boring ok that’s ur warning

the problem has to do with browserflow being a little bit too real-time

currently, browserflow saves every edit automatically so that you never lose your work

this is great for preventing data loss and for real-time syncing (say, if there are multiple people working on the same flow), BUT

this doesn’t work if you have stuff running in the cloud

imagine you write a flow, get it working, and then decide to tweak what you have to make some changes

well, since every edit is being automatically saved, it means the flow running in the cloud now has a chance to run some half-baked flow that’s not going to work

that’s not gonna fly, so the solution is to keep two copies: one for editing, and one for running.

this leads to some confusing ux though because when you edit something, you need to take an additional step to upload it to the cloud

a better solution: get rid of the real-time saving and add a save button

when the user saves, it would confirm that they want to keep those changes and it could be automatically deployed to the cloud and also update the flow if it’s published (instead of having to do it manually)

but this raises a whole host of other problems

when do i sync changes from the server back down to the client? this wouldn’t be a problem if it’s a website or something that’s refreshed but browserflow is running as an extension that’s there all the time

ok i can’t think straight anymore

time 2 sleep

programming is super fun until it’s hard and then i’m like why