I develop a web application used internally at a mortgage company. We've been having problems with people filling out a form while talking with a customer and then clicking away from the screen before hitting Save, thus losing their data (they could just click Back, of course, but they never think of this).
Our users' first "solution" was to ask us to auto-save the data after each field change. Even ignoring the obvious scalability problem, it seems to me that this runs completely counter to the convention of nearly every other web application on the planet, wherein you save when you submit the form (total-Ajax apps like GMail don't count, as they are a whole 'nother beast). Am I wrong? Or (again, ignoring scalability) would you consider this a reasonable approach?
Moving on, our actual solution was to pop up the old "Are you sure you want to browse away from this page?" dialog when the user navigates away from a dirty form. Now we are getting complaints about the way the dialog is structured. Most applications say "Do you want to save changes", so hitting Yes or OK is the good, safe option. But with the navigate-away dialog, hitting OK is the unsafe, non-saving option. Our users don't, of course, read the dialog, they just hit OK, and boom, they lose their changes.
I am hesitant to change this dialog because (a) the dialog is standard, generated by the browser, (b) I'm not even sure how to change the dialog, and (c) it's been in there for months and people (including the non-idiots who have figured it out) would have to re-learn their behavior.
What do you think is the best route here?