To autosave or not to autosave…a good question!
When developing most software and designing interfaces, there are screens which allow for the user to enter data into the system. After all the fields have been agreed upon and the layout is all set, there is one question which typically comes up; should the information autosave or should the user have to click a save button? This is largely up to you – the client – depending on your preferences; however, we’ll list some of the things to consider when making the decision and provide our recommendation.
OK, time to compare
Now let’s look at the two features and weigh some of the Pros and Cons. As with most custom software, this feature can differ somewhat from project to project, so we’ll look at them in a general sense and call out a couple of the biggest benefits and drawbacks for each. As with most development decisions, the weight of each of these will be greatly influenced by your budget and your end user.
The system is saving for the user, so they don’t risk losing work. This is the biggest positive for autosave in most people’s minds. How many times have you been working away on something, then your laptop runs out of battery, you lose wifi signal, the power flickers, or some other outside event crashes your program? Then that sick feeling in your stomach creeps in as you realize you haven’t saved in the last hour. Autosave can help mitigate that loss.
Cleaner User Interface. This is a pretty basic, but important plus. Keeping unnecessary buttons off the screen keeps the interface clean and functional. It helps prevent that overwhelmed feeling when a user is exposed to a screen with too much going on. Save that space for critical features or workspace and maintain the best possible user experience.
The system is saving for you, so you don’t get a choice. Yes, this was a Pro in the previous section, but it’s worth considering the flipside as well. With autosave, the program is deciding when and what to save. If the user accidentally deletes some critical information, or edits the wrong field, the system may save over what was there automatically and they lose the opportunity to catch it. For most of us, we realize our mistake about a fraction of a second after we’ve done it. Unfortunately, the system is much faster than we are, and it’s already too late. Yes, you can implement “undo,” functionality but this added functionality continues to add to the scope of the project.
Time, money, and foresight. Quite a bit more effort must go into the planning and development of this feature to make sure it functions as intended. When you take the decision making out of a person’s hands and give it to a computer, you have to provide rules on how to function and handle many different scenarios. You even have to tell it how to handle the situations you haven’t foreseen. We have to determine things like when the autosave should take place. Should it save after every keystroke? After you leave a field? Every 5 minutes? This can be a slippery slope where you start considering even more features like an ‘undo’ function to compensate for undesired autosaves. All the discussions, planning and additional features can add up quickly.
Save Button Pros:
Simplicity and flexibility. You probably saw this one coming. The biggest advantage in most cases will be that it is a tried-and-true function that most users instantly recognize. It’s pretty straight forward. It’s also a deceptively flexible option. Since the user is calling the shots, they can decide to save every two minutes or wait until they’ve edited key data to get it just right.
It’s economical. In nearly all cases, this option will save development time and money since the decision making is left with the user and you don’t need to anticipate and discuss a myriad of scenarios and write rules for how to handle each. There is also significantly less testing required to make sure the feature is functioning correctly. All of that saves time and money that can be put into more critical parts of your software.
Save Button Cons:
User error. This is the big one that comes up most frequently against the save button. Just as we mentioned as a pro-autosave point, people forget to save their work all the time. They dive into their work and go too long without saving, then something happens, and they lose that work. It can be very frustrating for the user. This can be compounded by the many major retail software packages which are more frequently including some form of autosave function. That leads to our next point against the save button.
“But my other online apps use AutoSave…” This potential negative deals more with the perception of your end user. With more retail software including some form of autosave as a standard feature, your end user may feel it should “just be included” in any “serious” software package since “so-and-so’s software does it.” (Though to be fair, most of those still maintain the standard save button functionality alongside any autosaving.) This perception could become a major factor and tip things in favor of autosave, especially if you plan on selling your software where considerations like marketing and customer perception are very important.
To reiterate, this choice is one that is usually determined by your preference, the project’s budget, and your end user. It’s also not going to make or break your software project, but it is definitely an important point to consider since it affects many of the other features in development. However, when all things are equal and we are asked what we recommend, we tend to recommend using a save button more often than not. While that’s in contrast to some other popular cloud applications, we find it gives the best flexibility to the end user while keeping scope and costs of the project smaller.
Simply put, if you don’t have a significant motivation for requiring an autosave function, our years of experience have shown that the return on investment just isn’t there. This belief is reinforced by the Agile development approach which promotes not developing what you don’t absolutely need. Many times, the autosave feature is a ‘nice to have’ and not a ‘need to have’ and the additional time, effort, and money aren’t worth it to many clients.
As always, our clients are the ultimate decision makers and we are happy to help you realize the vision for your software project, whatever it may be. We leverage our experience to your benefit and serve as partners and advisors with the goal to always make your project the best it can be. Be sure to keep checking back for more tips, truths, and insights in the future!