Ditch explicit saving

Registered by Sergey "Shnatsel" Davidoff on 2011-10-30

Ditch explicit saving. Instead:
1) Automatically save all changes:
    - on closing the tab or exiting Scratch
    - on every undo/redo unit
2) Move saving to a separate thread so saving doesn't freeze the UI
3) Add a "Revert" button next to "Undo" and "Redo" so I can revert the file to the state in which I opened it (e.g. create a backup file on first save and load it on revert) (http://danrabbit.deviantart.com/art/Document-Revert-257030388)
Do all that only for local files (non-GVFS)

Blueprint information

Status:
Complete
Approver:
elementary UX
Priority:
Low
Drafter:
None
Direction:
Approved
Assignee:
Mario Guerriero
Definition:
Discussion
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon 1.1.1
Started by
David Gomes on 2011-12-31
Completed by
Mario Guerriero on 2012-01-06

Related branches

Sprints

Whiteboard

Was this design approved by Dan? The current definition is just out of my head, there might be better solutions. ~shnatsel

OK, I got a green light on this from Dan, though he suggests to fix some bugs first.
Oh, and it seems to me that the "revert" icon should be on the left, next to "undo" (IMHO). ~shnatsel

Shnatsel, this is definitely a great idea. Just like Google Docs :)
My thoughts:
- Create a backup when a file is opened
- Remove the Save and SaveAs buttons from the toolbar
- Add a floating-infobar in the bottom right corner that indicates when a file is being saved or if it's already saved.
- Add an option in the preferences window to disable this mode (i.e. 'Automatic saving mode' [SWITCH])

-- Victor E.

Personally, I don't even need to differentiate Save and Save As. ~munchor

With this design "Save as" basically means "start a new file from this one", so I think it should be renamed accordingly. Also, it's not an action common enough to be placed in the AppMenu. Making it a contract makes sense too. --shnatsel

An infobar could come up and say "Enable automatic saving on $servername" if a file is stored on a remote location, and remember it for that server --kalikiana

Right now Scratch saves the doc at every change. When it saves the doc at every undo/redo unit, this blueprint can be considered implemented. --shnatsel

Actually, I think saving on losing focus is an overkill, because losing focus will create an undo/redo unit and therefore trigger saving. --shnatsel

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.