Anaconda & Advanced Storage Devices

At FUDcon Berlin I started working on mockups to improve Anaconda’s UI with respect to advanced storage devices. E.g., fibre channel, iSCSI, multipath storage devices, etc. etc. etc. – storage devices beyond simple hard drives in your laptop or in your desktop system case. Right now there are a few concerns for working with these devices in Anaconda:

  • It can be a little difficult to identify these devices. Depending on the interconnect and depending on what information the administrators of the storage devices provide you with, different types of information are useful and some are not. For example, the vendor’s name of a RAID BIOS array may not be all that useful since multiple types of hard drives may be part of the array, but whether or not a SAN is EMC or QLogic may actually be a useful distinguishing characteristic.
  • These types of devices, if there are enough of them on the network, can take too long to load into the UI.
  • It can be a little bit scary to be certain of which drives are merely being mounted post-install and which are getting formatted as part of the install.

The Anaconda UI redesign mockup work is still in progress, but I’ve got a pretty good set of mockups for the first half of installation. If there are any multipath / other advanced storage device users out there, I would *love* to hear your feedback on these. Here’s a sampling to entice you to visit the full set of mockups:


  1. twilightomni says:

    What about the icons?
    I think the fresh/upgrade icons are a little hard to figure out.
    The second one makes me think "Hmm…Looks like I'm downloading something…to a computer…that has Fedora…oh, it's an upgrade!"
    Why not just have the graphic be a giant up arrow? That immediately gives the connection. (Or a Fedora logo with an Up by it). Or maybe two stylized Fedora logos, one kinda old and busted, and the other new and shiny, with an arrow pointing from the first to the second.
    I know the art might be placeholder. Just a thought though.
    And this sounds odd…but does anybody actually use the "Shrink Free Space" option? Do you really trust an automatic process to resize your partitions for you however it wants? I imagine any user this might fit would just do the "advanced" setup anyway.

    1. Hi twilightomni,
      Thanks for the feedback!! To address your points:
      1) The icons – you are absolutely right, they are pretty hard to grok. They weren't actually placeholders though – I didn't realize how poor their design was. (I took the icons we had in Bluecurve in the current anaconda and simply upgraded them to use gnome-icon-theme's style.) 'me' in the comment further down suggested having three install types, so I did a quick sketch of icon ideas for them, what do you think?
      2) Whether or not anyone uses "Shrink Free Space" is a great question. And I just don't know. I certainly would never trust it. Maybe it's better to just drop it completely.

  2. Don't show the weird devices on the path Basic users would take. The wording is not quite right, perhaps something like 'Select the kind of disks you want to use' 'Local hard disks (SATA, SCSI, IDE)' 'Specialized storage devices'
    On the Install or Upgrade screen, I'd change it to have three options:
    * Clean install: Wipe everything and create a new installation
    * Multi-boot installation: Install Fedora next to what is already there
    * Upgrade: Upgrade from a previous version
    For basic users, upgrade should always be the default if it is a possible selection, if not multi-boot would be another non-destructive option.
    The icons are not very clear. You either need an animation or separate stages, for instance for upgrade showing an old version, then an arrow, then the new version and for a reinstall showing the old version, then an arrow into the trashcan and then the new version. Multiboot would be a generic operating system replaced by the generic system and Fedora side-by-side.
    What's the use of showing the drive device (sda) on the drive selection screen? These designations are unstable, which makes them dangerous to use.
    If you remove that, you might have room to include the serial number by default, so the user doesn't have to find the column chooser which needs a different icon from the column sort indicator anyway.
    You can as well remove the mention of /etc/fstab from the 'basic' dialog, the users that would benefit from such a mention are not going to remember when they are done with the installation. How about:
    You only need to select drives that will be used by the operating system. You can add more disks later. Selected disks will not necessarily be wiped clean.
    On the advanced path:
    Why are BIOS RAIDs not local devices? What you call local devices are actually more 'basic drives'.
    Personally, I'd change the advanced part of device selection to three tabs:
    Basic drives: SCSI, SATA, ATA disks
    Other drives: This is the search panel
    Selected drives: So you can get an overview of the drives you've chosen before you go to the next screen
    Now if you change the upgrade or install screen to have a multi-boot option, the partitioning scheme screen can be simplified because some options become irrelevant. "Use free space" can be removed when there is no free space which is quite likely unless the user already reserved space. You might want to show the amount of space available with each option.
    I think you should always allow the user to review the suggested layout which means that checkbox can go too. Now there may be enough space to show the desired list of devices. I don't see how the dropdown doesn't suffice though, especially if you remove the (unstable, thus useless) block device. After all, this only appears on the basic path, which means there can't be that many drives anyway. Then again, why show it at all? If you choose the predefined choices, the system may as will figure out a suitable boot drive and you can change it at the next screen anyway.
    I notice on the last screen there is a separate icon for the column chooser, probably a good idea to use this on the first screens too.
    I don't like the kind of setup with two lists with arrows between them, it looks clumsy. You can see the problems appearing because the lists are not wide enough. I can't immediately think of a suitable replacement though. In any case it's probably a good idea to make sure both lists have the same functionality. I don't see the point of the screen anyway; I assume you'd still have to assign partitions so why not use that screen to ask the user where to place the system? If you're afraid the screen would become too complex, consider delegating the partition editing to a separate "utility" so you aren't bound by the wizard restrictions. Then the wizard would simply end up with a list of disks and partition, and the user could choose where to put the system and what disk to boot from.

    1. Hi 'me' 🙂
      What great feedback! thanks for taking the time to write this up. A few points I wanted to get back to you on:
      1) "Don’t show the weird devices on the path Basic users would take. The wording is not quite right, perhaps something like ‘Select the kind of disks you want to use’ ‘Local hard disks (SATA, SCSI, IDE)’ ‘Specialized storage devices’"
      The screen in question is here:
      So my thought behind the design is that you wouldn't see the long checklist underneath the advanced radio button option unless you clicked the advanced radio button. I don't know if that would be too goofy in practice though. But at least then you avoid scaring the users who have no idea what that stuff means.
      I'm not sure bringing up acronyms like SATA/SCSI/IDE to the basic users is going to be meaningful for all of them. To me, they look like scary acronyms.
      Maybe it's better to word the advanced radio button "Specialized storage devices" rather than "Advanced storage devices" ?
      With this in mind, does the screen design make more sense to you or do you still think it's a little odd?
      2) "On the Install or Upgrade screen, I’d change it to have three options: Clean install / Multi-boot installation / Upgrade"
      I think this is a *very* interesting idea. I've thought it out a little bit. Right now we have two sets of questions:
      1) Do you want to upgrade your system in-place or do you want to do a fresh install? (only asked if Anaconda detects an existing compatible install)
      2) How do you want to do your install? (not asked for upgrades)
      a) use entire drive
      b) only use partitions associated with existing linux installs
      c) shrink any systems on disk and use the resulting free space
      d) use only the space that's currently free for the install
      e) create a custom layout
      I'm trying to see if there's a potential to reformulate these questions in terms of your suggestion, eg.:
      Ex) What would you like to do?
      a) Clean install => uses entire drive
      b) Multi-boot install => asks you if you want to replace existing linux systems, shrink current sytsem,or use free space
      c) upgrade
      d) Custom install => same as custom layout
      That I think makes more sense in one aspect – it's posing the installation operations in terms of why you'd want to do them, which is better. However, is multi-boot install the only reason people would pick the three options (existing linux, shrink, or free space)? I'm not sure, and if there are other reasons for performing the install that way then I'm not sure posing it in these terms is the best way to handle this.
      I guess if I was comfortable that multiboot vs clean boot were the main install use cases…. but I'm not sure… :-/ what do you think?
      3) "For basic users, upgrade should always be the default if it is a possible selection"
      So there are a couple of reasons why this isn't the case. I'm not sure if it's a good idea to change this or not, but I can give you the rationale for why this is the way it is now:
      • Preupgrade has a very high success rate, likely higher than Anaconda's upgrade success rate, so our documentation and other user-centric materials are starting to drive upgrading users to preupgrade rather than using Anaconda for upgrades.
      • The Anaconda devels are not confident with the level of error-proneness of Anaconda upgrades for Fedora, not enough to make it a default option.
      4) "The icons are not very clear."
      Twilightomni pointed this above in the first comment, and while I didn't think about it before the both of you pointed it out, I agree whole-heartedly. I did a sketch of new icons based on your 3-option suggestion that I pointed out to twlightomni as well:
      Point definitely taken; more work needs to be done on those icons absolutely.
      5) "What’s the use of showing the drive device (sda) on the drive selection screen?"
      Well, I know that they aren't stable identifying information for the drives. I am not entirely confident my rationale for using them in the design is sound – but I'll give you my rationale and you can feel free to poke holes in it (and I'm sure there's plenty):
      All these different device types have different kinds of attributes that are only valid to a subset of all the types. The one thing all the device types have in common is the drive device label – they all follow roughly the same format and are short. While they aren't reliable from reboot-to-reboot (although in the majority of cases they are), at least for the purposes of looking across all the device types (e.g., in the partitioning screens) it's a way to refer to the devices in a consistent way at least for the lifetime of your session in Anaconda.
      I'm not sure it'd be particularly human-readable if for example my multipath devices were identified by WWID in the same column my internal disk was identified by Serial Number in the same column my raid array was identified by – what? do they have serial numbers? See what I mean :-/ ? What do you think?
      6) "You can as well remove the mention of /etc/fstab from the ‘basic’ dialog"
      This is a great point; I'll modify the mocks accordingly. I like your suggested language for the tooltip a lot.
      7) "Why are BIOS RAIDs not local devices?"
      Well, here's the thing. So yeh, they are local. I think the local tab really should be named 'basic'. Maybe it'd make more sense then. The thing is with the RAID there's metadata applicable to it that just doesn't apply to the devices under the currently-labeled-local tab, which is why those were broken out into another tab.
      Would this issue be addressed for you if the first 'local' tab was renamed 'basic devices' ?
      8) "I think you should always allow the user to review the suggested layout"
      I'm not sure I completely agree with this. I think there's enough users who just trust the installer to do what it's got to do (particularly Fedora desktop users) and don't care to see the grisly partitioning details that they shouldn't be forced to go through them. Now, one point though is that I think this is very different for users on the 'advanced' path – I think quite possibly they'd always want to review the partitioning layout, so I agree 100% with your suggestion for that case – they shouldn't have to check off anything to review it, it should always be presented to them.
      9) "I notice on the last screen there is a separate icon for the column chooser, probably a good idea to use this on the first screens too"
      Ahhh my laziness has been exposed! 🙂 Yes you are absolutely right on this, my bad!
      10) "I don’t like the kind of setup with two lists with arrows between them, it looks clumsy. You can see the problems appearing because the lists are not wide enough. I can’t immediately think of a suitable replacement though. In any case it’s probably a good idea to make sure both lists have the same functionality. I don’t see the point of the screen anyway; I assume you’d still have to assign partitions so why not use that screen to ask the user where to place the system?"
      Well, let me try to explain the screen and maybe it'll make more sense to you or still seem completely crackrock 🙂
      My assumption here is that users are not only picking install targets but also drives to be mounted to the installed system. However, especially when shared network drives are involved, an installation operation accidentally destroying data can be intensely scary. So the idea behind this screen is to make it very clear which drives are 'safe' and which drives are going to be wiped, so you can review and be confident that you're not going to lose data / lose your job!
      The partitioning operations would happen on the screen after this two-column screen, and *only* the devices in the right-hand 'install target' would be available to the partitioning application.
      Does that make more sense / seem more sane? Or do you think the screen is still too confusing?
      Thank you again SO MUCH for the feedback, it's extremely valuable and exactly the type of feedback I was hoping for. I really hope you've got the time to read my comments above and go another round. 🙂

      1. 1) Well, the problem I see with this screen is that most installers start with the 'Basic or advanced' question, and with advanced you get more options. This screen looks like that, but it isn't the same. It should be very clear that even if you are an 'advanced' user you should choose Basic. Perhaps 'Typical storage devices' and 'Specialized storage devices' are better labels.
        2) The only other thing I can come up with is people who have a separate data partition that they'd want to keep. Since they can still review and change the partition layout, it should be possible to do what they want regardless of the choice they make.
        3) If the upgrade option doesn't work, that path should be replaced by one that just tells the user to boot from the hard drive and insert the disk to do an upgrade then. If it's so complex it's not a good idea to have two codebases doing it.
        4) These icons are much better.
        5) For normal hard drives, the nicely worded way to identify them is by size and manufacturer. If these are the same, the location (ide channel, scsi controller – target – disk) and possibly the serial number are the only other way. If the installer is smart it'll use exactly the same label everywhere, so there's no change of confusion.
        The device names are dangerous because although they will stay stable while in the installer, they may not be stable when installing a new operating system (with regards to the previous system)
        This does not apply to the "advanced" devices selection, because there one may expect the user to know how to identify them.
        The only metadata I see is a RAID level column; you could leave that empty for normal drives and hide the entire column when there are no bios RAIDs. I suppose typically there wouldn't be that many drives left if people are using a bios RAID anyway.
        But my original complaint was about the label which is incorrect, which would be addressed by calling them 'basic devices' or something.
        8 )
        For a basic install, the partition layout would be hardly intimidating, it's just one disk with two partitions. Wether that is scary or not, is all about presentation. If it's just a bar with two parts, saying ''Boot' and 'System', one button saying 'Change layout' and nothing more, I don't think people would be scared. What you don't want to do is show tons of buttons for removing, adding, shrinking, moving, formatting, changing partitions etc.
        A partition editor doesn't have to look complex, look at the screenshots for gparted. The logical choice for editing buttons is: New, Remove, Change. That's all you need really.
        Perhaps you don't want to mount drives in the installer at all. Other operating systems do that using the desktop, where there's plenty of space for presenting the information you need to make an informed choice. You need an application for that anyway in case new storage becomes available.
        If you want to keep the two sets of drives, perhaps you could present them vertically so you don't have to change the columns because there's no room. You could have a bar with the arrows in between and have that movable so you can create enough space to browse the drives comfortably.

  3. The "new interfaces" are clean and simple … the post-it are fantastic … i think you can really insert in the installer like help 🙂

  4. Jon Pritchard says:

    I certainly like the direction you're taking it. I'd like to stick up for 'shrink current installation' and agree that the default should be a non-destructive option as to prevent users from shooting themselves in the foot.
    Any way that the current 'Custom layout' can be improved, where you can't even see the labels in the pictorial of the hard drive, would be a better situation. However I think equating partitions to the hard drive, whether it be the current bar or perhaps a pie chart, is quite useful. It's names like sda1 and stuff that don't help lay-users.
    Clearer explanation of LVM and it's pros and cons would be good, even if it is only implemented as a tooltip.
    Nice mock-ups!

  5. Eric says:

    Sorry for the lack of criticism but these are awesome and exactly what admins need. I can hardly wait for this to show up at my work! I've had no end of multipathing problems recently in Linux, but these installer screens would maintain Linux's light-years-ahead installer lead over the competition.

  6. […] What followed was a pretty spectacular analysis of installer use cases and interaction (checkout Mo’s blog for more info).  Interaction design is not something I know much about, but I know when something […]

  7. […] originally had mocked up the latter during the Anaconda storage UI redesign – showing all the drives we found and allowing users to check off the ones they wanted. This […]

  8. […] Linux, and Scientific Linux. Users of those distros are more likely to care, for example, about specialized storage devices that most Fedora users probably don’t even have access to or care about using in an install. […]

  9. […] we redesigned the storage UI for Anaconda around Fedora 12 or so, I gave a short talk at the Linux Plumbers’ Conference in 2010 to […]

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.