narrativeandplay / hypedyn2

HypeDyn is a procedural hypertext fiction authoring tool for people who want to create text-based interactive stories that adapt to reader choice. HypeDyn is free to download and open source, and runs on Linux, MacOS and Windows.
http://www.narrativeandplay.org/hypedyn/
Other
3 stars 1 forks source link

Node not saving after pressing [x] #124

Open Peirl opened 7 years ago

Peirl commented 7 years ago

Using the new version for hypedin where it works for win10 touchscreens. The node does not save after pressing the [x] exit button. It saves if pressing ok.

benedictleejh commented 7 years ago

Personally, I'd mark this as invalid. As far as I can tell, this is essentially expected behaviour for desktop programs: in the absence of an explicit save, no saving is done. Closing is equivalent to a cancel in such a case.

The old HypeDyn saved on close because we had no ok/cancel button then (if my memory serves me correctly). Now that we do, do we still want to support auto-save on close for nodes?

Peirl commented 7 years ago

I think it doesn't matter whether you decide to auto-save or not. However, it is a good rule that if you are going to do irreversible change to something a user has done, you should prompt the user first. The desktop applications you mentioned usually warn the user that their changes have not been saved before closing the application.

If you want to keep the behaviour as mentioned, you can simply create a warning menu to prompt the user. However, this is also problematic as most desktop applications have a save button/shortcut available if you do not auto-save when you press the [x] button. This functionality is absent within the nodes itself, you can only save after you exit the node - or at least it seems that you can only save after you exit the node.

Furthermore, the edit node menu is not the application. There are many different ways desktop programs implement closing mini-windows in their programs. Power-point, for example, when you close the transitions menu, the transitions are saved even if you did not save it first. Your work doing the transitions is not gone.

lexaay commented 7 years ago

@benedictleejh correct, there was no ok/cancel button in the old HypeDyn, as it was not a dialogue box, it was a window. I think the basic problem with the new node editor is that it is not really a dialogue box, but we are forcing it to have an ok/cancel/apply button like a dialogue box because of the underlying data structure.

I believe the user's mental model is that there is a single "story" that she is working on, and the node editor just happens to be editing (live) a portion of that story. This can be seen in this "bug", in the issues related to undo in the node editor, and the contortions a user needs to go through when editing 2 nodes at once (constantly pressing "apply" to get changes from one node to appear in the other). I think the logical solution is to make the node editor a regular window, have any changes immediately reflected in the story, and make those changes part of the global "undo" stack. Unfortunately I think this is not a trivial change to the underlying code...

lexaay commented 7 years ago

I'm changing this to "enhancement" and leaving it open, as this is something we need to revisit in future, but its not (really) a bug...