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