From Fedora Project Wiki
Line 3: Line 3:
[[Image:anaconda-storage-reinit-screenshot_f14.png | 600px]]
[[Image:anaconda-storage-reinit-screenshot_f14.png | 600px]]


== Background ==
There's a few issues with this screen. There's a bug open on it requesting that the text be changed to be more accurate. There's bigger problems than that, though.
There's a few issues with this screen. There's a bug open on it requesting that the text be changed to be more accurate. There's bigger problems than that, though.


Line 26: Line 27:
* there may be data on the drive, we just don't know. if we reinitialize a drive that was only meant to be a data drive... we're erasing data for no good reason.  
* there may be data on the drive, we just don't know. if we reinitialize a drive that was only meant to be a data drive... we're erasing data for no good reason.  
* there may not be any data at all in which case popping up the dialog instead of just reinitializing the disk and being quiet about it without causing so much bother.
* there may not be any data at all in which case popping up the dialog instead of just reinitializing the disk and being quiet about it without causing so much bother.
== Problems ==
[[Image:anaconda-storage-reinit-screenshot_f14-notes.png | 600px]]
So here's some of the issues the current screen has:
* The titlebar says warning. The text says error. The icon indicates a question. These are all in conflict with one another. This dialog is more of a warning dialog than anything else.
* The metadata about the drive in question is strewn all over the dialog and hard to read.
* The dialog uses the word 'reinitialized' and 're-initialized' multiple times without explaining what it means.
* THE DIALOG USES ALL CAPS
* The dialog says that re-initializing will cause all data to be lost, but actually, it will only cause data on the drives being reinitialized to be lost, and only if there was any data in the first place (which there might not have been.)
* Four buttons across the bottom of the screen is a bit of an overload, yet if we had say 100 such devices attached to the system (slices of a network drive maybe) then we would see this dialog 100 times without those extra 'all' buttons.
* What does ignore do? Ignore what? Ignore this warning and go ahead an re-initialize? Wait a minute... (It actually ignores the drive in question, removing it from the set of drives considered in the install process)
* Overall, the dialog is scary, and this fright is brought up in situations that should not be frightful - e.g., you're simply installing on a virtual machine with a virtual disk. No need for the scare!


= Mockups =
= Mockups =

Revision as of 17:41, 2 December 2010

Problem Statement

Anaconda-storage-reinit-screenshot f14.png

Background

There's a few issues with this screen. There's a bug open on it requesting that the text be changed to be more accurate. There's bigger problems than that, though.

Let's go a bit into the background of this dialog. It occurs early on in the screen flow:

[ lang selection ] => [ keyboard selection ] => [ basic or special storage ] => [ REINIT DIALOG ] => [ hostname selection ]

Here's the full order of things in the anaconda code.

The screen that asks if you have basic or specialized storage must come towards the beginning of the screen set, because it is at this point anaconda has to scan to see if any pre-existing installations are on the system in order to know if we can upgrade a pre-existing system or not. However, we don't want to scan specialized storage devices which may be mounted to the machine if we know for sure that the user isn't interested in using them as part of the install - it'll take a while, it may spins up a lot of devices that were not active using more electricity, putting wear on equipment, etc. hitting a lot of networks.

  • If you pick basic, anaconda just scans local devices.
  • If you pick specialized, anaconda scans local devices & network storage devices. This route also gives you the option of adding iscsi and other kinds of disks that require user input to be able to discover.

There may be a false assumption here - someone may want to use specialized storage devices as install targets, in which case scanning them for upgradable bits makes sense. However, someone may also simply want to use specialized storage devices as mounted data storage, in which case we shouldn't bother scanning them for upgradable bits.

Anyhow, once we know which devices to scan (local if basic, local+network if specialized), they are scanned and if any of them appear to have missing partition tables, this dialog is popped up.

The problem is, anaconda may not know how to read the partitions on the drive, another operating system may be able to. There *could* be data on that drive, but we just don't know because we don't know how to read it. The drive may very well be blank (if it's brand-new / baremetal) or it could be a virtual drive and have no data either. So our dilemma is:

  • we can't mount the drive as a data drive if we can't read the partitions, so it's useless.
  • we can't use the drive as an install target unless we completely format it.
  • there may be data on the drive, we just don't know. if we reinitialize a drive that was only meant to be a data drive... we're erasing data for no good reason.
  • there may not be any data at all in which case popping up the dialog instead of just reinitializing the disk and being quiet about it without causing so much bother.

Problems

Anaconda-storage-reinit-screenshot f14-notes.png

So here's some of the issues the current screen has:

  • The titlebar says warning. The text says error. The icon indicates a question. These are all in conflict with one another. This dialog is more of a warning dialog than anything else.
  • The metadata about the drive in question is strewn all over the dialog and hard to read.
  • The dialog uses the word 'reinitialized' and 're-initialized' multiple times without explaining what it means.
  • THE DIALOG USES ALL CAPS
  • The dialog says that re-initializing will cause all data to be lost, but actually, it will only cause data on the drives being reinitialized to be lost, and only if there was any data in the first place (which there might not have been.)
  • Four buttons across the bottom of the screen is a bit of an overload, yet if we had say 100 such devices attached to the system (slices of a network drive maybe) then we would see this dialog 100 times without those extra 'all' buttons.
  • What does ignore do? Ignore what? Ignore this warning and go ahead an re-initialize? Wait a minute... (It actually ignores the drive in question, removing it from the set of drives considered in the install process)
  • Overall, the dialog is scary, and this fright is brought up in situations that should not be frightful - e.g., you're simply installing on a virtual machine with a virtual disk. No need for the scare!

Mockups

Radio-button approach

Storage-reinit-idea1.png

Media:storage-reinit-idea1.svg

Text-massaging approach

Storage-reinit-idea2.png

Media:storage-reinit-idea2.svg

Text-massaging approach - simplest

Storage-reinit-idea3.png

Media:storage-reinit-idea3.svg

Sketches

Here's some quick paper thumbnail sketches that were used to create the mockups above:

Anaconda-storage-reinit sketches thumb.png

View full PDF