To Save or Not To Save....
There is a school of thought that the "Save" action found in just about every GUI nowadays is no longer needed. The argument is that the need for a Save action to persist user data was driven by the need to pause the application and wait for the persistence to take place. Once upon a time, that time could be measured in seconds (minutes?) - however in modern systems, most user data can be persisted in less than a second (especially if only saving deltas). Hence, the saving of user data can happen automatically in the background whenever data changes.
This argument is that we could actually get rid of presenting users with a Save action. Instead, any time data changes, it is automatically saved in the background. Of course, an undo log would need to be kept to allow users to roll back unintended actions. The advantage is that user data is always kept persisted without them having to manually intervene to hit save, or be prompted to save data when they quit the application.
As a software developer, I can see the elegance of such an implementation. However, I do have some usability concerns. For better or for worse, the "Save" button is part of everyday life in most computer applications. Would getting rid of it by moving to a different User Interface patten be confusing or counter-intuitive to an end user?