Novacut Wiki Home > Dmedia Storage UX Design

Dmedia is state-of-the-art media asset management software aimed at professional video, photo, and audio production.


Broadly speaking, the goal of Dmedia is to make file management go away so that creative professionals have more time and focus for creating.

Dmedia presents the user's entire media library uniformly, independent of which physical drives contain which specific files at any given time. Dmedia also performs a variety of automated data management tasks in the background, like ensuring that each file is stored on more than one physical drive, verifying the data integrity of each physical copy of each file, and moving files between different drives (and computers) as needed for the user's current projects.

So for the most part, Dmedia is a silent partner, and the user shouldn't have to worry about what files are on what physical drives.

However, in some circumstances it's extremely important that there be unambiguous communication between Dmedia and the user about a specific physical drive. When Dmedia asks the user to do something with Drive-X, or when the user asks Dmedia to do something with Drive-X, we need agreement between Dmedia and the user about what physical object Drive-X actually is.

Examples of what Dmedia might need to communicate to the user about a specific drive:

  1. Alert the user that a drive is failing (or has failed) and should be replaced
  2. Ask the user to connect a drive because Dmedia expects that drive to contain files the user has requested
  3. Ask the user to connect a drive because it has been too long since Dmedia last verified the files on that drive

Examples of what the user might need to communicate to Dmedia about a specific drive:

  1. Tell Dmedia that a drive has been lost or damage so that Dmedia will immediately discount whatever copies that drive contained
  2. Tell Dmedia that the drive will be provisioned for other uses, so that Dmedia will remove the drive from its storage pool (after making sure all files contained on that drive are stored elsewhere)
  3. Tell Dmedia to keep a copy all files associated with a specific project onto a drive (for example, the user is going to hand off assets to someone else in their production team)
  4. Tell Dmedia to add a new drive to its storage pool

In a nutshell, Dmedia must store rich metadata about the physical labeling and other physical characteristics of each drive in the storage pool, such that there is a high probably that the user and Dmedia will be in agreement about what specific drive is being referred to at any given time.

The success of this UX design, and its implementation, are best judged my measuring how often this agreement is achieved during user testing and, ideally, in real world use.

Note that we need a high probability of agreement even in face of the fast paced, stressful conditions under which most Digital Image Technicians (and similar) work day to day.

Shortcomings in the design and implementation will lead to higher rates of human error that could lead to data loss. The burden of proof is on Dmedia, not the user.

Drive metadata and labeling

The first step is understanding what metadata can be automatically extracted from a drive via software, especially when this metadata might correspond with physical labeling the drive comes with from the manufacture.

Some software accessible metadata might not be physically present on the drive. Likewise, some physical drive characteristics might not be available in the metadata. In either case, we might need the user to add additional physical labeling to the drive, or to provide additional metadata to Dmedia, as part of the process of adding a new drive to the Dmedia storage pool.

Internal drives

Internal drives are easier to work with because they usually have a serial number that is both accessible via software and included on the physical labeling.

Internal drives are also easier to deal with from a human behavior point of view. As internal drives are less likely to be disconnected, Dmedia less likely needs to ask the user to connect a specific internal drive. Likewise, when the user tells Dmedia to keep a certain set of files on a specific computer, they probably don't care which specific internal drives those files are stored on, as long as they're stored on some internal drive in that computer.

The most common scenario of concern is probably when Dmedia needs to alert the user about a drive failure.

For example, consider this physical labeling on this internal drive:


And the metadata Dmedia can extract for the same internal drive:

    "drive_bus": "ata",
    "drive_bytes": 1000204886016,
    "drive_model": "WDC WD1002FBYS-02A6B0",
    "drive_model_id": null,
    "drive_removable": false,
    "drive_revision": "03.00C60",
    "drive_serial": "WD-WMATV1646852",
    "drive_size": "1 TB",
    "drive_vendor": null,
    "drive_vendor_id": null,
    "drive_wwn": "0x50014ee0abef509d"

Notice that at least the "WMATV1646852" portion of the serial number is included in both the physical labeling and in the metadata.

Removable drives

Removable drives are more problematic as they generally don't have metadata that matches any physical labeling from the manufacture.

Removable drives are also more problematic from a human behavior point of view. Removable drives will tend to spend a higher percentage of time disconnected (from any computers in the Dmedia library), and are also more like to be use to transport assents to fellow members in the production team.

For example, consider this physical labeling on this removable USB3 drive:


And the metadata Dmedia can extract for the same removable USB3 drive:

    "drive_bus": "usb",
    "drive_bytes": 1500267937792,
    "drive_model": "My Passport 0748",
    "drive_model_id": "0748",
    "drive_removable": false,
    "drive_revision": "1010",
    "drive_serial": "575854314342313935333838",
    "drive_size": "1.5 TB",
    "drive_vendor": "WD",
    "drive_vendor_id": "1058",
    "drive_wwn": null

Novacut/DmediaStorageUX (last edited 2013-08-04 15:10:54 by jderose)