DesktopVolumeManagement

Differences between revisions 12 and 13
Revision 12 as of 2005-11-07 22:50:54
Size: 7992
Editor: host81-151-158-111
Comment:
Revision 13 as of 2005-11-13 03:49:31
Size: 7560
Editor: host81-151-154-60
Comment:
Deletions are marked like this. Additions are marked like this.
Line 46: Line 46:
Note in the below menu item suggestions that the label changing option includes the term "rename" as different user backgrounds will associate different terms with the task. Note in the below menu item suggestions that the label changing option includes the term "rename" as different user backgrounds will associate different terms with the task. The context menu for all devices should include "Open" and "Advanced", which should show immediately; the "Open" item should attempt to ensure that the drive, media, and filesystem are detected, and mounted. Like other menu's, extra items appropriate to the device should be presented as and when the device and media status is detected; detection should be redone when the context menu is opened unless a filesystem is mounted. "Open" should open a nautilus window immediately which attempts to mount a filesystem, fail to do anything (except present an error dialog describing the media status - or this should be shown in the nautilus window somehow, in a format that user's are less likely to ignore), or appear to show an empty filesystem which will be created upon the user's first attempt to change it - while offering an easy way to do something different before writing anything. The created filesystem should be something appropriate to the type of media (eg, floppy and USB drive should be vfat, CD should be multisession iso9660 w. Rockridge, DVD should be the latest UDF version supported by Ubuntu).
Line 48: Line 48:
 * The context menu for floppy drives should include "Open", "Mount" | "Unmount", "Rename/Change Label", "Advanced". If it does not contain a filesystem, the context menu should include "Make Filesystem", "Advanced"
  JohnNilsson: Why introduce the user to the concept of a filesystem? Open/Mount could just fail gracefully and tell the user that "This unit isn't prepared for use. Do you want to do it now?". Another problem is that it may take time to read the device, thus the context menu would have to wait.
The additional items should be presented something like the following:
Line 51: Line 50:
   TristanWibberley: (Replacing earlier self-discussion) Yes, the Open item should always be there, and would attempt to ensure that the drive, media, and filesystem are detected, and mounted. I think that if any part of that can't be done, a nautilus window should open showing advanced actions and perhaps a message explaining the current status of the media (Drive type/manufacture, media present/size, partitioning information if not considered too advanced, filesystem type/any errors preventing that prevented mounting). This will enable immediate feed back - nautilus window opens indicating that it is loading its contents - but still allow failures to be handled gracefully. Or perhaps a nautilus window should open immediately and later fail with a message popup and several choices of what to do ("close nautilus window", "default method for resolving the problem", "Advanced").  * Floppy drives: If it has a filesystem, should include "Mount" | "Unmount", "Rename/Change Label". If it does not contain a filesystem, should include "Make Filesystem"
Line 53: Line 52:
   As to whether the making of a filesystem should be presented to the user on the menu, perhaps you're right. Maybe there should just be "Open" and "Advanced" in that case and "Open" should open a nautilus window that will make some automatic choice of filesystem when something is dragged in, or the label set. Perhaps the nautilus window should provide a notice of the current filesystem-less state, along with a button to advanced filesystem-making GUI (So the advanced user can avoid the desktop's default choices). I think this button label should definitely introduce the user to the concept of making a filesystem as it makes it easier for users to discover what's going on and become advanced users if they are interested.  * CD/DVD drives: With a readonly CD/DVD carrying a filesystem it should include "Mount" | "Unmount", "Release". If it contains a rewritable CD and is non-blank and doesn't carry a UDF filesystem with a version supporting deletes the context menu should include "Complete Wipe/Erase/Blank". If it carries a UDF filesystem version supporting deletes, the "Complete Wipe/Erase/Blank" task should still be available from the "Advanced" dialog. If the UDF filesystem version supports changing the label (I don't know if any do, or if any don't), "Rename/Change Label" should be include in the menu. If it contains a writeable CD/DVD or rewriteable, the menu should include "Make Filesystem" - which should make the same filesystem that nautilus would make on first use (see above).
Line 55: Line 54:
   Regarding speed of opening the context menu, I think the context menu should be able to open immediately with "Open" and "Advanced", and fill in others below advanced if they are relevant. Other context menus load and change after they become visible already.

   Whilst a device is mounted, detection need not be done, but if a device is not mounted then detection should always be redone when accessing the menu - and the menu updated upon completion, unless the device can determine that the media has not been changed (eg USB Drives provide removal notification). Let the tooltip with the label give some sort of "loading" indication for the label while detection is underway.

 * The context menu for cd/dvd drives with a cd in should include "Open", "Mount" | "Eject", "Advanced". If it contains an ISO filesystem or audio tracks and is rewritable, the context menu should include "Complete Wipe/Erase/Blank". TODO: detect single vs multisession vs blank disks and decide on appropriate menu items.
 * The context menu for cd/dvd drives with a dvd in should include "Open", "Mount" | "Eject", "Advanced". If it contains an ISO filesystem and is rewritable, the context menu should include "Complete Wipe/Erase/Blank" (which should be relegated to the Advanced dialog if the disk has a UDF filesystem). If the disk has a UDF filesystem and is rewritable, the context menu should include "Rename/Change Label". If it is blank and rewritable the context menu should include "Make Filesystem" - to make a UDF filesystem as the prefered mode of operation. If it is blank and not rewritable, "Open" should be available to get a nautilus burn: window as with writable CDs.
 * The context menu for USB drives should include "Open", "Mount" | "Unmount", "Rename/Change Label", "Advanced". If it does not contain a filesystem, the context menu should include "Make Filesystem"
 * USB drives: With a filesystem, should include "Mount" | "Unmount", "Release", "Rename/Change Label". If it does not contain a filesystem, should include "Make Filesystem". Note that "Mount" and "Unmount" behaviour should be changed to be consistent with other drives. Currently the partition block device files are deleted on Unmount, while a CD drive already has a release concept (eject) which can be unified with the concept of releasing the USB drive.
Line 73: Line 66:
 * JohnNilsson (moved to this section by TristanWibberley): Why introduce the user to the concept of a filesystem? Open/Mount could just fail gracefully and tell the user that "This unit isn't prepared for use. Do you want to do it now?". Another problem is that it may take time to read the device, thus the context menu would have to wait.
    TristanWibberley: I believe this is now addressed above. Please confirm by deleting these two comments. Except that I believe the concept of making a filesystem should be discoverable for regular users to become power users, able to put their computers to better effect, and rapidly accessible for power users, and automatically presented when it makes sense.

 * Should media and drives with mounted filesystems ever be rechecked for status before an attempt to use them fails. Should devices and busses with locking/timely media or drive detection only recheck upon explicit request or upon use, rather than upon opening the context menu.

Summary

The goal is to make it easy for everybody to move data around and manage it. It initially covers things like support for long volume labels, uniformity between the drivemount applet and places and more items for volume context menus.

Rationale

Ubuntu has some usability benefits over Microsoft Windows in this area, but there are some important places where Windows is easier. Those are formatting, and setting volume labels. Tasks that should be simple and easy to perform and to discover how to perform are difficult in both Ubuntu and Windows leaving no good option for user. The changes required are small, probably requiring little to no infrastructure changes and only a bit of commandline tool integration.

Use cases

  1. Places (in Nautilus and in panel menu) and desktop only show short volume labels (tested with FAT16 usb drive).
    • User has two USB drives with volume labels set by a knowlegeable friend using mlabel from mtools. These labels are "Bob's USB Drive" and "Bob's USB Drive (the new one)". With both plugged in, Bob expects to see the correct volume labels rather than ones that are hard to distinguish. Suggestion: Support long volume labels in nautilus, places, and on the desktop.
  2. The drivemount applet displays only a manufacturer specified string, and does not display the volume label, making it difficult to identify which volume one is (un)mounting.
    • Bob uses two USB drives with different labels but of the same model. He prefers to use the drivemount applet as it is always available. Bob wants to see which USB drive he is about to unmount if he has both plugged in at the same time. Suggestion: Show the same volume label as places and the desktop in addition to the manufacturer specified string. Discussion: For unmounted devices, the applet could attempt to guess the filesystem type and use a filesystem specific tool to find the volume label whenever the user brings up the menu.
  3. It is non-obvious how to set the volume label of a filesystem on a removable device.
    • Bob has many floppy disks and many USB drives but none of them has a meaningful volume label (since the manufacturer pre-formatted them). Bob didn't format them with volume labels before beginning to use them as he used them for ad-hoc purposes until he worked out how he would organise his data. Now Bob would like to set sensible volume labels so he can see at a glance what volumes are mounted, or plugged in. Suggestion: Add a menu item for volume icons along with the existing mount/unmount items. This menu item should bring up a dialog where it is easy to change the volume label.
  4. main doesn't seem to contain tools to format rewritable DVDs with udf filesystems, nor is there a simple user interface for it.
    • Suggestion: Add a menu item for volume icons along with the existing mount/unmount items. This menu item should bring up a simple dialog where it is easy to trigger a udf filesystem to be made on the cd device. A similar interface could be used to format floppies and USB Drives.

Scope

Design

Note in the below menu item suggestions that the label changing option includes the term "rename" as different user backgrounds will associate different terms with the task. The context menu for all devices should include "Open" and "Advanced", which should show immediately; the "Open" item should attempt to ensure that the drive, media, and filesystem are detected, and mounted. Like other menu's, extra items appropriate to the device should be presented as and when the device and media status is detected; detection should be redone when the context menu is opened unless a filesystem is mounted. "Open" should open a nautilus window immediately which attempts to mount a filesystem, fail to do anything (except present an error dialog describing the media status - or this should be shown in the nautilus window somehow, in a format that user's are less likely to ignore), or appear to show an empty filesystem which will be created upon the user's first attempt to change it - while offering an easy way to do something different before writing anything. The created filesystem should be something appropriate to the type of media (eg, floppy and USB drive should be vfat, CD should be multisession iso9660 w. Rockridge, DVD should be the latest UDF version supported by Ubuntu).

The additional items should be presented something like the following:

  • Floppy drives: If it has a filesystem, should include "Mount" | "Unmount", "Rename/Change Label". If it does not contain a filesystem, should include "Make Filesystem"
  • CD/DVD drives: With a readonly CD/DVD carrying a filesystem it should include "Mount" | "Unmount", "Release". If it contains a rewritable CD and is non-blank and doesn't carry a UDF filesystem with a version supporting deletes the context menu should include "Complete Wipe/Erase/Blank". If it carries a UDF filesystem version supporting deletes, the "Complete Wipe/Erase/Blank" task should still be available from the "Advanced" dialog. If the UDF filesystem version supports changing the label (I don't know if any do, or if any don't), "Rename/Change Label" should be include in the menu. If it contains a writeable CD/DVD or rewriteable, the menu should include "Make Filesystem" - which should make the same filesystem that nautilus would make on first use (see above).
  • USB drives: With a filesystem, should include "Mount" | "Unmount", "Release", "Rename/Change Label". If it does not contain a filesystem, should include "Make Filesystem". Note that "Mount" and "Unmount" behaviour should be changed to be consistent with other drives. Currently the partition block device files are deleted on Unmount, while a CD drive already has a release concept (eject) which can be unified with the concept of releasing the USB drive.

A state transition diagram is under construction at DesktopVolumeManagementStates ([https://wiki.ubuntu.com/DesktopVolumeManagementStates?action=AttachFile&do=get&target=dvm-0.1.1.ps Postscript Version]).

Implementation

Code

Data preservation and migration

Outstanding issues

  • JohnNilsson (moved to this section by TristanWibberley): Why introduce the user to the concept of a filesystem? Open/Mount could just fail gracefully and tell the user that "This unit isn't prepared for use. Do you want to do it now?". Another problem is that it may take time to read the device, thus the context menu would have to wait.

    • TristanWibberley: I believe this is now addressed above. Please confirm by deleting these two comments. Except that I believe the concept of making a filesystem should be discoverable for regular users to become power users, able to put their computers to better effect, and rapidly accessible for power users, and automatically presented when it makes sense.

  • Should media and drives with mounted filesystems ever be rechecked for status before an attempt to use them fails. Should devices and busses with locking/timely media or drive detection only recheck upon explicit request or upon use, rather than upon opening the context menu.

BoF agenda and discussion

DesktopVolumeManagement (last edited 2008-08-06 16:22:15 by localhost)