10th December 2009
The most infuriating issue for a computer user is surely when the software 'loses' their work. How much time and money is wasted by software crashes losing people's changes?
As quite an 'advanced' computer user I sometimes find it hard to relate to. I can (mostly) avoid such issues by saving often and taking regular backups. As I work with computers everyday I find it relatively easy to manage files, make copies, keep track of the most recent version and remember to save into different storage types (other hard drives or USB sticks).
But what about the people who find it difficult to create computer documents in the first place? Maybe they have never used the application before and expect it to autosave like MS Word does? Surely they should not have to learn about the individual ways to save and backup only to ensure that the work they do is not lost?
Some of the larger application manufacturers handle the problem well. Microsoft Office has had auto-save and document recover features for many years. Adobe on the other does not have such features and continues to infuriate designers when Photoshop or Illustrator crashes, losing all of their unsaved work.
Personally I feel that it is the responsibility of operating system manufacturers to make sure work is not lost. Leaving the issue to application developers will result in widely varied solutions and therefore make usability a new learning excersize for each new application.
The operating system itself could implement several features to combat this kind of loss:
Time since last save indicator. The operating system could use information about the activity within an application and the last saved date of the opened file to calculate how long it is since a document has been saved. It could then have an indicator on the screen somewhere that would advise the user to save their work. Maybe the title bar would slowly change colour over time or an indicator could shown near the system clock? I know that if my title bar had turned red it would certainly make me think twice about not saving!
Document Revision Control. The 'My Documents' folder or it's equivalent should be kept under a simplified version of Source Control. This would need to be invisible to the user and quick and easy to navigate through various versions. Apple's Time Machine goes some way toward this and cleverly only tracks incremental changes of the saved files.
Save state. The operating system could attempt to save the state of entire applications. This could be done by remembering the state of the application in memory every few minutes and allowing the user to go back to any point they wish. (I am not sure about the possibility of this because of the many different ways that an applications can save state. These days, state is often split between memory, system files, the registry and web storage).
Backups. With the cost of hard drive storage at an all-time low, the operating system could be doing more to take backups of work away from the host computer to safeguard against hard drive failure. If an OS detects multiple physical drives or a USB storage device, settign up a backup system should be only a click or two of configuration. Going on from that, saving data to the 'cloud' i.e. to the Internet could also be an option once some privacy options are chosen by the user.
Clip Board. The clip board is also a feature which can lead to lost work or at least lost productivity. How often do you press Ctrl-C instead of Ctrl-V when pasting an object, accidently copying over the item you previously copied? On Windows, ClipX, the clipboard manager saves the last 10 items copied and allows you to paste any of them at will. Surely this feature should be included in the OS from the start?
Overall, OS manufacturers should be trying their best to ensure users are not getting frustrated. Not losing work and keeping productivity high should be high on OS developers priority list and there definitely a lot of improvements that can be made, it is just up to OS manufacturers to decide whether they care enough to implement them.