DesktopVolumeManagement

Revision 14 as of 2005-11-13 03:58:12

Clear message

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

1 and 2 above should be implementable in a fairly straightforward way, but 3 and 4 need a more complicated way of handling detection to do in a nice way. 3 and 4 could be implemented quite rapidly in a simpler but less usable way by including UDF and CD/DVD support in the floppy formatter, and by adding a label changing option on rewritable media only when mounted. Below there is a design for a more sophisticated method.

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 only 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