Given the following situation:
- A program exists in Bloxter and has been saved to the GoPiGo, either to SD or USB.
- The student wishes to experiment with this program to investigate the effects of varying various things or statements. (Note that this is an important, nay, essential part of the learning process.) He loads the program and begins to experiment with it.
- The student, after finishing his experiments, wishes to discard the changes he made for whatever reason:
- They didn’t work.
- He discovered what he needed to know and now wishes to do something else.
- The changes, though useful, may not be important enough to merit being saved.
- He may have tried something, decided he didn’t like it, and backed the changes out resulting in the “changed” program being identical, (or nearly identical), to the original.
- Hew may have inadvertently modified, deleted, changed, or otherwise messed up portions of the program, and, rather than recreate all of it by hand, he’d like to revert to the saved version.
- As a consequence of this, the student wishes to abandon his work and either reload the same program or load something new. (Note that I did not try this with re-loading the same program.)
The student is not permitted to abandon his work in favor of something else without saving it first. This is potentially bad because:
- The student may not wish to have a lot of bogus save files that he was forced to create cluttering up his storage space.
- This can cause confusion as to what is legitimate work and what is “cruft”.
- Storage space, though possibly vast, is not unlimited.
If the student wishes to abandon his work, the software stops him, presents a dialog telling him his current work has not been saved, and then, (after clicking “OK”), returns him to his program with no option but to save it.
I absolutely understand, especially in a beginner environment, the desire to prevent the student from accidentally abandoning work he should have saved. This is both desirable and commendable.
However, allow me to humbly suggest the following modification:
If the student attempts to abandon a changed program - for whatever reason - the DexterOS software should show a dialog telling the student that he has unsaved changes and asking the student if he REALLY wants to abandon them - with “No” being the pre-selected default.
This behavior would be similar to the behavior when the student wishes to abandon a browser page with unsaved work.