#1040 closed defect (invalid)
Snapshot handling option wording is confusing, leading to data loss
Reported by: | David Jarvie | Owned by: | |
---|---|---|---|
Component: | VM control | Version: | VirtualBox 1.5.2 |
Keywords: | Cc: | ||
Guest type: | other | Host type: | other |
Description
The wording of the options for handling snapshots in the VirtualBox graphical user interface is confusing, leading to data loss. In the Snapshots tab, it is not obvious what the two options "Revert to current snapshot" and "Discard current snapshot and state" mean if you are not familiar with VirtualBox's terminology. Does "current snapshot" mean the snapshot of the current state of the VM, or the currently highlighted snapshot? I couldn't work it out, and ended up unintentionally deleting the highlighted snapshot - very annoying.
Even the longer descriptions displayed in the status bar are just as confusing. Again, they rely on the term "current snapshot" being unambiguous, which it is not. It was the longer description which prompted me to think that the "discard" option would revert the machine state to the highlighted snapshot, but instead it seems to have simply discarded the highlighted snapshot.
Change History (9)
comment:1 by , 16 years ago
Component: | other → VM control |
---|
comment:2 by , 15 years ago
comment:3 by , 15 years ago
I also just experienced a near-catastrophic data loss because of this. At the very least, any action that could result in data loss should be accompanied by a WARNING: MAY CAUSE DATA LOSS--USE WITH CAUTION or something of the sort. Also suggest that the priority on this be moved from 'minor' to 'critical', since users are still losing data because of this a year after the bug was opened.
comment:4 by , 15 years ago
I also just had a (small) data loss situation because of this. The wording should definitely be changed. The difference of "state" and "snapshot" should be clarified. "Highlighted snapshot" should be used instead of "current snapshot", etc. Currently it's pretty unclear what each action will do. A warning in big red bold letters in situations that could lead to loss of data (like loss of the current state (disk+memory)) would be a very very good idea. I also agree that this should be raised to critical priority as it clearly leads to data loss. Loss of data due to this issue pretty much kills the usability of this otherwise quite useful virtual machine software.
comment:6 by , 15 years ago
I too was extremely confused about the names and had to spend an hour installing a scrap-VM, just for testing the behavior of the different buttons.
Had I not done that, I would have pressed the wrong button and lost my base image.
It's very unfortunate that users of VBox need take such precautionary methods and waste a lot of time when the the solution is so simple; just revise the text strings so they become non-ambiguous and understandable. Cost: 5 minutes? reward: a lot less infuriated campers.
comment:7 by , 15 years ago
Version 3.0.6: THIS IS NO LONGER A MINOR ISSUE
I have a tree with 3 entries
Starting point(icon of snapshot)
-- Inbetween (icon of snapshot)
-- -- Current State changed, (icon of a on/off button).
On the left side however, the label by the on/off button is not current state. Instead it is 'Inbetween'. WHY?
Back to the tree:
Starting point, when selected, allows:
- Discard snapshot BUT WHICH ONE (Starting point or Inbetween?) Since this is the
root image, is it a snapshot?) If I discard the root (Starting Point), what happens?
Inbetween, when selected, allows:
- Discard snapshot BUT WHICH ONE? If I discard it, what happens to Current State?
Current State (changed), when selected, allows:
- Take a snapshot (okay)
2, Revert to current snapshot [MEANING WHAT?]
- Discard current snapshot and state [MEANING WHAT?]
What is 'state'? When running the system (on the left), it does not show Current State as the choice, it show Inbetween as the choice.
None of these options say they end up with just one entry (a merge).
THIS IS NOT A MINOR ISSUE ANYMORE
comment:8 by , 15 years ago
v3.08
Gee thanks for taking note of an obvious source of confusion on this 2 year old bug.
I ran 'discard snapshot' since "Discard Snapshot" -> "Merge Snapshot with Parent"
Result... I lost all my work and ended up at the original state. Sure the point of the snapshot was to let me do my work and make notes so I could re-do it to test the docs... nothing valuable lost... this time.
No idea why though. Did I discard the wrong snapshot?
I am in the amazing situation where I have to run some experiments to figure out the UI on a product this sophisticated.
Get your act together.
comment:9 by , 15 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
We have reworked the entire snapshot terminology with version 3.1 so this seems obsolete.
I just messed up a VM due to this issue on 2.2.2 r46594. The wording is completely confusing. Here is my suggestion of how to rename these functions so they make sense:
"Revert to Current Snapshot" -> "Discard Current State" or "Discard Current State and Revert to Snapshot"
"Discard Current Snapshot and State" -> "Discard Current State and Delete Latest Snapshot"
"Discard Snapshot" -> "Merge Snapshot with Parent"
The last one is the most important, as "Discard" in no way means to merge, but that's what it does. Because of this I merged unwanted changes into the base image when I thought I was discarding them. The function was, after all, called discard and not merge or save.
What adds to the confusion is that the only way to manage a snapshot is through the Current State. I know this is because states are layered on top of snapshots, however there is an easier way to handle it. As an alternate and better solution to this problem, I propose the following. In my opinion, you should require a user to delete the Current State before allowing them to Merge or Delete snapshots. It would greatly simplify the interface. Under this design, here are the available functions for each item:
Current State functions:
Delete Current State
Snapshot Current State
Snapshot functions (only available on the latest snapshot):
Delete Snapshot
Merge Snapshot with Parent
That's it! Plain, simple and easy to understand!