After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 579211 - UI review: grid-based UI
UI review: grid-based UI
Status: RESOLVED FIXED
Product: gnome-disk-utility
Classification: Core
Component: Disks UI
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: gnome-disk-utility-maint
gnome-disk-utility-maint
Depends on:
Blocks:
 
 
Reported: 2009-04-16 20:05 UTC by David Zeuthen (not reading bugmail)
Modified: 2012-11-12 20:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Illustration of a boot partition with handle (13.85 KB, image/png)
2009-04-20 17:15 UTC, Evangeline McGlynn
Details

Description David Zeuthen (not reading bugmail) 2009-04-16 20:05:55 UTC
Right now Palimpsest use a tree-view based UI. It looks like this

 http://people.freedesktop.org/~david/palimpsest.png
 http://people.freedesktop.org/~david/gdu-raid5.png
 http://people.freedesktop.org/~david/gdu-encryped.png

One problem with this kind of interface is that it doesn't really tell you how big each partition on a disk is. It's also somewhat cluttered and hard to use.

I've been toying around with writing a grid-based UI; it's in src/playground/grid in the gnome-disk-utility git repo and it looks like this

 http://people.freedesktop.org/~david/grid-1.png
 http://people.freedesktop.org/~david/grid-2.png
 http://people.freedesktop.org/~david/grid-3.png
 http://people.freedesktop.org/~david/palimpsest-grid-3.png

I think it would be worthwhile to investigate it this provides a better user experience while providing a cleaner and less cluttered user interface

What I have in mind is a UI where the bottom of the window shows details for the selected item(s) in the first row and actions in the second row, e.g.

 +---------------------------------------------------------------+
 |                                                               |
 | /--------+-------------------------+--------+---------------\ |
 | |  sda   |         sda1            |  sda2  |     sda3      | |
 | +--------+-------------------------+--+-----+---------------+ |
 | |  sdb   |         sdb1   |  sdb2     |        sdb3         | |
 | \--------+----------------------------+---------------------/ |
 |                                                               |
 +---------------------------------------------------------------+
 |   Device: /dev/sda2           | Unmount this device....       |
 |   Mount Point: /home          | <more actions>                |
 |   Size: 10GB (3GB free)       |                               |
 |   etc etc                     |                               |
 |                               |                               |
 +---------------------------------------------------------------+

If multiple devices are selected (cf. the grid-2.png screenshot) actions could include "Create a new RAID device" and so forth.
Comment 1 Evangeline McGlynn 2009-04-17 19:16:30 UTC
Some initial concerns:

1) Connecting the disk name and the partitions makes the disks themselves read as additional partitions.  I understand how you are trying to visually connect them, but this confuses the metaphor you're trying to create.

2) The grid layout carries the visual implication that the partitions will be scaled by relative size (on a per disk level).  Right now, that's only halfway the case.  It appears that the partitions in a given disk all have a minimum horizontal size, such that the window at its smallest would display 4 equally sized partitions, but would then scale relative to each other as the window was resized.  This "halfway relative" scale is difficult for the user to interpret.

I imagine your biggest problem here are tiny partitions like the Boot or some other recovery partition.  Would I be correct in assuming that for the most part these partitions would remain of a stable size (i.e, you would be only resizing them once, if at all)?  I'm a bit off-put by having the boot partition (526 MB) in grid-1.png appear to be more than a third the size of neighboring partitions several gigs in capacity.

Given these huge size differences, I understand the case against true relative scaling, but I would argue for a threshold size at which a partition is visually represented as trivially small in size.  At that point you would be sacrificing the immediate visibility of a label for those potentially important partitions, but perhaps some sort of flag/handle by which the mouse could still easily manipulate them and a hover state for the title.  That feels a little hackish still, but would prove less disorienting on the high level regarding the partition distribution of the disk.

3) I know there are an extra two lines allowed for the possibility of an extended partition, but there still seems to be an excessive amount of vertical space per drive.  This is highlighted by the close distance between disks.

4) I like how the unpartitioned space is set apart from the rest of the partitions on a given disk by tinting it a bit.  I would dial up this difference a little more by making it even a little bit more dark (but not too much!).  Further, the term "Free" is potentially confusing.  Using "Unallocated Space" could be more accurate, but could be of problematic length.


Anyway, an interesting first pass.  I'd like to see where you plan to fit in the functional information into the layout.
Comment 2 Evangeline McGlynn 2009-04-20 17:15:29 UTC
Created attachment 132966 [details]
Illustration of a boot partition with handle

Here's an example of what the partition display would look like if partitions smaller than the rest by a certain degree are shrunk down to a set size.  With true relative sizes, the boot partition would be only a pixel or two wide.  Here, it's big enough to see, but displayed small enough that the size difference between that and the other partitions is obvious.  Further, as small partitions would be harder to click, I added an arrow at the top, making it easier for the mouse to grab.  Notice the arrow is highlighted with the partition, making for more accurate clicks in the presence of multiple small partitions.  The name of the partition isn't visible, but hovering over the handle should provide a label, either as a tool tip or as text that appears in a set position.

Also, I separated the drive name and contents to avoid the confusion mentioned in the first comment.  I went so far as to split the drive and its partition between two lines, just to see how it looked.  I don't know that this is an optimal solution, especially if the drives themselves need to be selectable for some actions, but I do like how the space works if it is laid out this way.  At this point, just playing with the look of it.
Comment 3 Mats Taraldsvik 2009-05-04 14:56:01 UTC
After seeing the blog post, my reaction was that 'free space' should have a separate colour or some other way of standing out from the allocated space. Like Evangeline's uallocated->gray in the attachment/mockup.
Comment 4 forbesguthrie 2009-05-04 17:32:19 UTC
Perhaps you could use vertical shading, to show the difference between free and used space.  i.e.

+-----------------------------------------------------------+
| /------+-------------------------------+----------------\ |
| |      |                               |                | |
| |  sda |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|                | |
| |      |...........sda1................|       sda2     | |
| |      |...............................|~~~~~~~~~~~~~~~~| |
| |      |...............................|................| |
| \------+-------------------------------+----------------/ |
+-----------------------------------------------------------+

Also, I agree that "Free" isn't the right term.  Instead of "Unallocated", you could use "Empty" if you needed something shorter.

Anyway great work, hope this helps.

Comment 5 Michael Croes 2009-05-04 19:10:05 UTC
It would also be nice if it would just work (and be usable) for disk partition schemes other than what would be default on an architecture, without really cluttering the interface with it.
Comment 6 David Zeuthen (not reading bugmail) 2012-11-12 20:37:51 UTC
Grid landed a while ago, closing as FIXED.