Skip unsaved record pop-up message
Jon Darbyshire
Aaron Bitton This feature feature was added at the request of the community to ensure that users did not lose data by clicking on the "x" and forgetting to save. Let me think about how we might be able to add this as a workspace setting that would allow you to control this.
A
Aaron Bitton
Jon Darbyshire: That would be awesome. I LOVE that SmartSuite is fast because it doesn't autosave every character (thank you!!!).
It would be really nice to have it autosave, though, too, so we didn't have to worry about it. I was thinking about this and wondering how often people actually don't want to save their work. What if you were to do and autosave to cache every 15 or 30 seconds, then sync the cache to the server 1/minute independently so it didn't pause typing speed?
Also, autosaving to cache upon exit (whether hitting escape, clicking on a button, or clicking outside of the record) and again syncing independently to the server so user wasn't delayed waiting for the sync?
I'm just trying to see if it might be possible to kill two birds with one stone. I find I have so much to do that delays always feel painful, and any ability to remove user wait times or finding a way to eliminate user actions (saving) are really appreciated. Whether or not others have the same workload I do, everyone appreciates fast software (which is something that's really taken a hit with online apps). I think offering both speed and intelligently-designed autosaving could be a huge draw for customers.
Jon Darbyshire
Aaron Bitton: Our larger customers use the required fields feature and don't want users to be able to save records, before all required fields are completed. This is the reason that we use the Save button. However, I have trying to figure out a way to allow the Creator to make this decision at the Workspace or Solution level. -- The main things I an struggling with here is the consistency of the user experience and them not understand when they need to save and when we auto save. If you have an great ideas about this, please share.
A
Aaron Bitton
Jon Darbyshire: Okay, here are my thoughts.
- An "empty record" should be given a separate status from that of a (filled) "record" which should be defined as having data in at least one field.
- If a user inputs into a field and deletes input prior to exiting the field, don't change status from "empty record", perform autosave, or require manual save.
Autosave behind the scenes
- When a user inputs data into first field, do nothing.
When user exits the first field with data, create record in cache and and add the field's data.
If user reenters the field and it's the only field with data, delete the cached record
If user inputs data into addl fields, append that data to cached record.
When user performs action that triggers "exit record" event (via clicking screen outside of record pop-up window or clicking "X" - no Save button is needed), and all required fields CONTAIN acceptable data, record window closes, user is allowed to move on to perform next action. Cached data is then independently synced with server so as not to delay user. Data syncs as soon as connection is restored. User is able to continue creating new records which are stored in a cached record queue. User does not need to be notified about inability to sync unless it causes some inhibiting problem with another feature (user just wants the software to take care of it). If user app on phone, cached data is saved to drive.
When user performs action that triggers "exit record" event and all required fields DO NOT CONTAIN acceptable data, our goal is to 1) ensure compliance 2) without slowing down the user - i.e., without forcing an addl click. We need to give the user 2 options here 1 - continue editing the record, and 2 - exit without saving.
I suggest:
1 - disabling users' ability to exit record but allowing user to edit fields
2 - highlighting inadequate required fields in red
3 - a permanent "Clear Record" button at the bottom left of the record (noticeable but not obnoxious)
4 - a temporary error message appears that does not take focus nor require any action (i.e. user can continue editing record), is not on top of any next-step features, and disappears after 4ish seconds that says "To exit the record, please complete all required fields (underlined) or clear the record (unlderlined)." Underlined options would activate commands that take user to first incomplete required record (moving the cursor and screen positioning), and that clear the data and exit.
This solution
- prevents need for extra click to perform manual save via Save button
- prevents need for extra click to perform manual save via pop-up window, slowing down all users with successfully completed records upon exit
- prevents need for additional manual click via pop-up window, slowing all users with failed incomplete records upon exit
- allows for automated save upon exit of record for successfully completed records
- rings attention only to users with failed record completions
- offers 1 click solution to exit when error message is displayed (as currently does with "Save without Exiting" pop-up option)
- directs failed-record users to source of problem for easy identification and quick correction, removing confusion and preventing scrolling, and saving search time
- offers users a way to exit record with 1 click (via Clear Record button in record) instead of clicking on "X" or outside of box and then having to reclick in pop up)
Benefits
- Greatly reduces error messaging (a negative) user encounters
- Significant improvements in speed and flow
- Significantly-reduced user annoyance
- Meets larger company compliance requirements
- User knows it's saved because there's no manual save button
Whether all of this could work perfectly or not, I hope it at least helps to spur some ideas.