We are in the process of converting a desktop application to a web application, and one of the challenges we are facing is the fact that when you make a change to the desktop application, it regularly persists those changes to memory in case of crashes (which were at one point frequent).
We had intended to shift that ideology away from constant saving to the user taking an action to save, to minimize impact and performance hits from constantly saving. However, the PO is having none of that and wants nearly constant saves whenever form data changes (I'm trying to get a better answer than that, because I don't want to send an update on every character).
How do "live saving" applications like google docs and similar handle this? I'm especially worried about performance because if we save too often, we're going to have a lot of saves firing off and overwhelm our services. Is there a design that will give us data integrity and performance?