Hacker News new | ask | show | jobs
by mikewarot 751 days ago
Thanks to Moore's law, and this excellent essay by the late, great Michael O'Connor Clarke[1] and our largely successful KillSave campaign, we at least have autosave as a widely adopted measure of sanity. It's better than nothing.

[1] https://web.archive.org/web/20080621173441/http://killsave.o...

2 comments

Ugh, I loathe autosave popping up in more and more places, particularly webapps. I've messed up the working copy of my wife's business website and various docs more than once because she's asked me to fix or tweak something. I automatically change some random things around in Squaredpace/Webnode/Canva just to get a feel for a tool I've never used and discover how the workflow might compare to something I'm familiar with. Then I find out there's no undo or it doesn't revert everything, I have no idea what changes I've made vs the original, and it's autosaved. Terrible UX!

Autosave has no place outside anything more complex than a simple text form, unless it's solely a backup solution for crashes, or paired with a very solid version control system.

Agreed, autosave is wrong, because save is, among other things, a destructive operation: it obliterates the old version of what you save. That should require a decision by the user.

What macOS native apps all do, and have for years, is the right thing. They save your work, but not in your file. Open something, make modifications, close the program, open it: the modifications are still there. Crash? When you reboot, you still have your work. You save when you're ready to replace the old version with the new one, the program doesn't make that choice for you.

Mostly they don't save undo history between boots, though, and that's too bad. Ideally every format in which people actually do the work would be non-destructive, preserving an undo history back to whatever the initial state of the file was. Photoshop got this right, so it's common in image editing, but it should work everywhere.

Clearly you don't usually want finished work to contain the complete edit history, so exporting a rendered version is essential. But this isn't a difficult problem.

We basically need the concept of quicksave and discrete save slots from video games.

The system should regularly quicksave, but when I want to make a conscious checkpoint, let me do so. Perhaps use a VMS-style versioned-file system if you want a seperate channel of undo history.

That seems to be an odd formulation of a call for crash-only software.

https://dslab.epfl.ch/pubs/crashonly.pdf