5 ms·
Is there now a generation of users who never worked with files?
- keikobadthebad 2y agoMightn't it be better to actually just autosave?
- emptiestplace 2y agoWhere?
- cassianoleal 2y agoWhat do you mean, where? It's just saved right? Right?
- Infinity315 2y agoYes, but the author (probably) implemented their save system where the client sends the entirety of the save data to the backend; meaning a lot of redundant information is sent. Ideally, the client should only push changes to the backend and thus avoid the issue of sending redundant data entirely. This means re-implementing their saving solution, which is probably not trivial to do as you also have to deal with the issue of migrating existing save data to your new solution (which might mean some significant upfront costs). The author didn't address this directly, but what they could do is just implement the autosave anyways and just deal with sending redundant data. But... this probably is quite expensive as the cost incurred per user is proportional to the size of the save data multiplied by the frequency of auto save.
- gvx 2y agoI work with files every day, and I'm not sure I would have realised I'd needed to save manually with the original MapHub UI either. A web-based interface that looks like that, I expect it to be transparent. If it'd had three icons (the classic blank page, open folder and floppy disk) in the top left, then I'd assume it would need manual saving. (I'm not saying that's what you need to do, just analysing my own intuitions)
- whstl 2y agoI 100% agree. This has nothing to do with files, but rather with expectations of how web apps work. Maybe current web apps implement auto-saving with bad feedback, sure, but this factor should be taken into consideration when building new web apps.
- hyperknot 2y agoThe interesting bit is that for years this wasn't a problem. Like for 5 years I got 0 support requests about missing Save. Also web apps were not auto-saving traditionally, many of them still don't do it today. Update, answered in detail here: https://news.ycombinator.com/item?id=42016231 https://news.ycombinator.com/item?id=42016231
- gvx 2y agoIt's very possible that if you showed me the MapHub UI eight years ago, I'd have intuited that I'd need to save manually---I can't tell for sure. I am definitely aware that the way I engage with software nowadays is very different than when I started using computers in the early 2000s, and I don't doubt it is still evolving due to the changing conventions in UI and functionality.
- crazygringo 2y agoNothing to do with generations. I simply expect a webapp to autosave. Period.
- flohofwoe 2y agoManual save-points are still useful though if you want to go back to a previous version and branch off a different experiment. Pretty much the same how (mostly PC-) games combine auto-save, manual quick-save and manual 'explicit' save (with a name chosen by the user), and where the last N auto- and quick-saves are preserved (where N is usually a fairly small number). It's less about not losing progress (for that, having only auto-save is fine), but being able to go back to a previous 'checkpoint' and branching off a new timeline.
- carwyn 2y agoAgreed, I'm seeing people of all ages not having to interact with the desktop metaphor at all any more. Typically people that manage to do all their "computing" on Android, iOS or sometimes ChromeOS (where they are email and SaaS based). The metaphor is more of containers/projects and save slots/objects. Far more like video games than the traditional model.
- donatj 2y agoI don't understand why the author believes auto save would be so difficult to implement. Just automatically click the save button for the user on a one minute timer. Done. setInterval(() => { document.getElementById("save-button")?.click(); }, 60000);
- hyperknot 2y agoHi, author here. I think it's not a good idea to auto save just at random intervals. I certainly don't want my any of my apps to auto save without me telling it to do so. Maybe I'm old fashioned in this regards. Update, answered in detail here: https://news.ycombinator.com/item?id=42016231 https://news.ycombinator.com/item?id=42016231
- donatj 2y agoCan I ask why? What is the harm in saving users work unexpectedly especially when I see a version history here? I have been working with computers for 30 years, and I would find lack of a timed autosave surprising. Autosave was common on desktop applications in the mid 1990s. See: Everything in the MS Office suite.
- hyperknot 2y agoThe simple reason is that MapHub doesn't have a Google Docs like "time-traveling" version control nor Undo implemented. Undo is _really_ complicated if you don't start your app with that in mind. So the way to work is Save, try something and if you want to revert then you just reload the page. Of course there is the "Previous versions" feature, but it still breaks my logic of Checkpoint-Experiment-Revert cycle. But I might be alone in this and users would be happier with autosave. Update, answered in detail here: https://news.ycombinator.com/item?id=42016231 https://news.ycombinator.com/item?id=42016231
- Brajeshwar 2y agoUnfortunately, the world now wants to be autosaved. One day, you might need to look at the usage pattern and AutoSave, perhaps when idle or after a set action is done (or fall back to the default timer). Otherwise, get a checkbox/radio that turns ON/OFF the options to "Autosave."
- INTPenis 2y agoI doubt it. Most school software still sends files over e-mail that you have to save as attachments, or upload your own document files. So they still learn that early, regardless of if they use it later in life.
- brainwipe 2y agoNot the case universally. My son's school in south-central UK does everything via Google Docs or apps specially built for distance learning. If it weren't for Minecraft mods, he'd have no concept of the file system.
- ghaff 2y agoWell, in Google Docs you have something that looks a lot like a hierarchical filesystem (whether someone actually creates folders or not). The fact that it's not actually a filesystem as traditionally understood is sort of irrelevant. The average filesystem user didn't know about inodes, journaling, etc. either.
- acdha 2y agoHow does that work for most people? Are they organizing the files on a traditional file system or clicking on an icon in the message to open them or picking uploads from a selector which blends cloud and and app boundaries? Based on my wife’s school and the one our son attends, a LOT of the areas which used to expose file system behavior have been removed or significantly de-emphasized.
- hn_throwaway_99 2y ago> The thing is, you can only offer this feature if your app's architecture is designed from the ground up to support it. Perhaps I'm misunderstanding something, but this makes 0 sense to me. The Save button itself must be able to save the current state. So at the very, very least you should be able to just check on a schedule what the current state is and determine if it differs from the previously saved state. There are much better ways to implement this that take more underlying work, but agree with the other comments, this has nothing to do with people not understanding files, it has to do with people expecting web editors to autosave.
- hyperknot 2y agoThe key is Undo-Redo information is lost. On Google Docs you can "time-travel" almost on a keystroke level, so that's when auto-save makes sense. Update, answered in detail here: https://news.ycombinator.com/item?id=42016231 https://news.ycombinator.com/item?id=42016231
- tempfile 2y agoI think you are exaggerating the importance of undo/redo. Even in google docs, if you restore from a savepoint you can only go backwards. And besides, the complaints OP got were "I'm losing all my work" - I doubt someone who had some recovery point would be in a worse position to recover than someone who had no recovery point at all. (in other words, it's not necessary at all to support this feature from the ground up - it just might be necessary in order to have a third, even better way than "no saves" and "imperfect saves")
- Ferret7446 2y agoWell, going forward is undefined (i.e., redo history loss), unless you implement "linearized" history [1], which anecdotally is very confusing for most people. [1]: https://www.felesatra.moe/blog/2019/08/04/emacs-undo https://www.felesatra.moe/blog/2019/08/04/emacs-undo
- bulatb 2y ago
- PaulKeeble 2y agoAnother option rather than complete rearchitecting the app is to autosave into an autosave slot. A lot of games do this to avoid the player having to choose a save name. Having many of them gives you some snapshot history every X minutes and its a reasonable trade off especially if on load you just pull the most recent save to start off again.
- makeitdouble 2y agoThe "files" mention in the title is misleading, the saves here are done server side, which is made clear in the explanation about version history. And that's where I think the author either doesn't have a mental image that matches what the user sees, or they like metaphors that don't really apply to their product. I don't think we'll have a generation that doesn't know what saving is anytime soon: gamers in particular will still be be familiar with juggling save points and restoring previous states. Even people spending most of their computing time on phones will still see commit and save buttons in photo editing applications for instance, or most edit screens. Pushing a button to commit changes is probably familiar to everyone, the chalenge is how to convey the need to push it, and visibly making the button text orange doesn't seem to be enough.
- deleted 2y ago[deleted]
- wslh 2y agoGreat question! Looking around, I notice that younger generations seem to assume ‘everything is stored’ automatically, without needing to do anything beyond creating content. For instance, in Google Docs, there’s no need to click ‘save’, that feels counterintuitive to the ‘save generation’ but works brilliantly! On the other hand, I find it frustrating that every popular OS and web app now offers multiple options when working with files: save to the branded cloud (e.g., Google Drive), the filesystem, external URLs, ‘share-to’ options, etc. While intended to add flexibility, this approach introduces unnecessary complexity and indirection to what used to be a simple load/save feature.
- hyperknot 2y agoAuthor here, I'll try to collect my thoughts into one comment here about why there is no auto-save. If you implement auto-save, users will expect every click/keystroke to be saved, like how Google Docs does it. Simply adding a 1-minute timer will make people lose work in the last minute, as they switch tabs, go offline, etc. and forget about it for days, when the browser clears tab state. The other reason is that there is no Undo-Redo implemented on MapHub. Implementing Undo properly in a web app is not trivial if you haven't designed the whole app around a time-traveling state management. It's actually a really difficult problem to solve, even though it looks simple on the surface. Combining it with real-time collaboration is even more complex. Short story: there is no Undo-Redo. So if you don't have Undo, then Save button plays the role of making a checkpoint, trying out something, reverting if needed. With autosave this could be ruined. Also, you write that you expect every web app to auto-save, but this is still not the universal case today and definitely wasn't the case a few years ago. I agree that most VC-backed startups with hundred-million-dollar valuations have autosave in their web apps. Again, the proper solution is to have a time-traveling diff system implemented, which can easily get really complicated with real-time multi-user collaboration. Have a look at Figma's technical blog post about this topic [1]. You might be right in saying that it's not a generation of users, but the same users being conditioned to web apps doing auto-save. I agree this is probably the case. The point of the article is this definitely wasn't the case all the time, and how I've experienced this on my side, during my 8+ years of running MapHub. [1] https://www.figma.com/blog/how-figmas-multiplayer-technology-works/ https://www.figma.com/blog/how-figmas-multiplayer-technology...
- solardev 2y ago> Short story: there is no Undo-Redo. OK, fair enough, but that doesn't have to preclude autosaving. > If you implement auto-save, users will expect every click/keystroke to be saved. [...] Simply adding a 1-minute timer will make people lose work in the last minute. I think a nicer compromise might be a simple debounced isDirty state. If it detects any changes, wait 5 or 10 seconds. If any more changes happen in that same time, wait again (up to some sane max, like a min or few). If no further changes, create a new automatic checkpoint. It's usually not a big deal if someone loses 10 seconds of work. It is if they lose a few hours. > Save button plays the role of making a checkpoint, trying out something, reverting if needed. With autosave this could be ruined. Only if you make the autosave overwrite user checkpoints. Can't they produce their own separate bin of autosave checkpoints? Word has done that for decades, as have video games. The user can choose to revert to "Blahblah save (10/31/24)" or "Autosave (3 min ago)". Even if it is a generational thing, it's also just good UX IMO.