Heh, the last company I worked for had a (very popular, very successful) 20 year old desktop app that worked by downloading the client's entire database on login, then doing regular syncs with the back end and sending batch updates as the user made changes. It was an awful system that everyone hated, and the company was desperately trying to figure out how to move away from it without doing a complete rewrite. Maybe I should let them know that they're actually ahead of the curve if they can just hold out for a few more years...
Re:Skip the API, Ship Your Database
by throwawaaarrgh on Wednesday September 13, 2023 @09:39PM
(#37503899)
Hell, even with word processors we have auto save enabled by default for at least a decade.
Re:Skip the API, Ship Your Database
by Freedom2 on Wednesday September 13, 2023 @10:46PM
(#37504345)
I feel like I'm taking crazy pills. As HNers, we should want more control, not less over our work. Auto-save means that the company, no matter how nefarious, decides on their terms when my work is saved - regardless of what I've entered into the document (I write documents in a very stream of conscious manner).
I want to decide when to save, and how, not the application. I am not a product, I am a user!!!
Re:Skip the API, Ship Your Database
by kristianp on Wednesday September 13, 2023 @10:50PM
(#37504373)
This makes me smile, because it's satire, right?
No. I value a meaningful "Last updated at" timestamp.
If I open a word document, redact a few bits, save to PDF and close it - I don't want my changes saved but they are (real scenario from last week. I'd only just moved the file into Onedrive so autosave had turned itself on)
Ditto sorting and filtering spreadsheets.
Software engineers: By all means save in the background so I never lose anything, but don't assume I want the latest changes.
What you want, then, is versioning of your documents. MS Office and Google Suite do that.
This is not trivial to implement, though. Complexity will depend a lot of the application and the data. I'd say it'll only make sense for mature apps. A startup will most likely don't consider this in its roadmap.
Seems like on-by-default auto save with the option to disable, and a separate save button, satisfy all your requirements. That’s a pretty common set of customizations on saves from what I’ve seen.
You might remember horror stories from the late 1900s when people would lose critical data and documents because they "forgot to hit Save and the computer crashed." Or, maybe you've never experienced this — because a couple decades of distributed-systems engineers and UX researchers made that problem obsolete.
So now we've... reinvented the Save button, but somehow needed a Paxos implementation to do it?
Everything old is new again, I guess.