Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UX regression with new Devices widget (lacking info about block devices) #9164

Closed
UndeadDevel opened this issue Apr 27, 2024 · 28 comments · Fixed by QubesOS/qubes-desktop-linux-manager#192
Assignees
Labels
affects-4.2 This issue affects Qubes OS 4.2. C: manager/widget diagnosed Technical diagnosis has been performed (see issue comments). P: major Priority: major. Between "default" and "critical" in severity. pr submitted A pull request has been submitted for this issue. r4.2-host-stable r4.2-vm-bookworm-stable r4.2-vm-fc37-stable r4.2-vm-fc38-stable r4.2-vm-fc39-stable r4.2-vm-fc40-stable r4.2-vm-trixie-stable r4.3-host-cur-test r4.3-vm-bookworm-cur-test r4.3-vm-fc39-cur-test r4.3-vm-fc40-cur-test r4.3-vm-trixie-cur-test T: bug Type: bug report. A problem or defect resulting in unintended behavior in something that exists. ux User experience

Comments

@UndeadDevel
Copy link

UndeadDevel commented Apr 27, 2024

Qubes OS release

4.2.1

Brief summary

The "old" Devices widget used to display important info about block devices, such as the identifier (e.g. sda1) and the total size; this is not the case for the new widget, even though it uses much more space on screen, leading to situations as in below screenshot, where the user is the going to have to guess which of a list of identical entries is the correct one.

I've only tested this with my external SSD so far.

Steps to reproduce

(Physically) attach block device with multiple partitions and trigger Devices widget.

Expected behavior

Behaves at least not worse than the previous widget, i.e. displays partition number and size.

Actual behavior

devices_menu

@UndeadDevel UndeadDevel added P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: bug Type: bug report. A problem or defect resulting in unintended behavior in something that exists. labels Apr 27, 2024
@UndeadDevel
Copy link
Author

@andrewdavidwong andrewdavidwong added C: manager/widget ux User experience needs diagnosis Requires technical diagnosis from developer. Replace with "diagnosed" or remove if otherwise closed. affects-4.2 This issue affects Qubes OS 4.2. labels Apr 28, 2024
@alimirjamali
Copy link

A minor change to qui.devices.actionable_widgets.py of qubes-desktop-linux-manager could change the current behaviour and add info on generic notation of block devices (sdX, sdX1, …) within the host VM. I also axed the trailing blank (). This is how I am currently doing it:

--- actionable_widgets.py       2024-04-17 23:56:29.016568722 +0330
+++ /tmp/actionable_widgets.py  2024-04-30 15:58:11.101128803 +0330
@@ -390,7 +390,16 @@
         self.device_icon.set_valign(Gtk.Align.CENTER)
 
         self.device_label = Gtk.Label(xalign=0)
-        self.device_label.set_markup(device.name)
+
+        devicename = device.name
+        if devicename.endswith(' ()'):
+            devicename = devicename[:-3]
+        if device.device_class == 'block':
+            self.device_label.set_markup("{} - (Host unique ID: {})".format(
+                devicename, device.id_string))
+        else:
+            self.device_label.set_markup(device.name)
+
         if self.device.attachments:
             self.device_label.get_style_context().add_class("dev_attached")

@deeplow
Copy link

deeplow commented May 1, 2024

@UndeadDevel This is an intended regression, I think. Block devices are confusing for novice users and advanced users can use qvm-block. This was talked about in the Qubes summit.

@UndeadDevel
Copy link
Author

UndeadDevel commented May 1, 2024

@UndeadDevel This is an intended regression, I think. Block devices are confusing for novice users and advanced users can use qvm-block. This was talked about in the Qubes summit.

Well I certainly hope not; I don't see how adding the info that was there before would make it more confusing. Judging by the attention this is getting in the forum and that the OP here already has two likes (most of my issues don't get likes) it seems I'm not the only one who sees it this way. But thank you @deeplow for providing some context here.

I appreciate the drive to improve UX, which sometimes necessitates simplification, and the new Devices widget does improve in some aspects on the older one (it's just that there's no "well done!" issue type, as that's not an issue), but I think this particular decision (removing that info from the block devices list) was perhaps ill advised.

Edit: another relevant forum thread with confused and frustrated users: https://forum.qubes-os.org/t/qui-devices-how-do-you-attach-only-a-partition/26188

@andrewdavidwong andrewdavidwong added P: major Priority: major. Between "default" and "critical" in severity. and removed P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. labels May 2, 2024
@dmoerner
Copy link

dmoerner commented May 9, 2024

If I plug in a Cruzer-brand USB stick with Qubes R4.2.1, these are the block devices that get exposed:

Cruzer () <- /dev/xvdi3
Cruzer (ANACONDA) <- /dev/xvdi2
Cruzer (QUBES-R4-2-1-X86-64) <- /dev/xvdi
Cruzer (QUBES-R4-2-1-X86-64) <- /dev/xvdi1

This is an obvious regression. Qubes own labels are not sufficient to disambiguate the block device which exposes the whole partition table from a specific partition. And what about the labels on something that's not even trusted?

The order is also surprising. The order should be the same as the order on the drive, not an alphabetical order, again set alphabetically potentially by someone untrusted.

@kord1e
Copy link

kord1e commented May 9, 2024

Another problem, the block devices in the list are not updated after modifying. For example, attach one disk to VM, modify its partitions, shut down the VM (disk detaches) -- the new partitions are not shown in the menu. This problem was also in 4.1.

@deeplow
Copy link

deeplow commented May 9, 2024

@dmoerner said:

This is an obvious regression. Qubes own labels are not sufficient to disambiguate the block device which exposes the whole partition table from a specific partition. And what about the labels on something that's not even trusted?

On the original design proposal, one of the goals was to let the user choose their own label (notice the little 🖊️ icon):

Screenshot 2024-05-09 at 13-15-49 Penpot Design Freedom for Teams

However that is technically challenging to implement because practically all USB devices do not have a way to authenticate them. But these larger changes will probably not arrive in 4.2. Would this address your concerns @dmoerner?

@dmoerner
Copy link

dmoerner commented May 9, 2024

@deeplow: Not exactly. The underlying concern is that the new change abstracts away too much detail under the assumption that this detail is "confusing" to new users. (I'm not convinced it is, and I think it's obvious that labels are no less confusing, even for Qubes' own media.)

Allowing users to choose their own label is only a meaningful possibility if the GUI already exposes enough information about each device for the user to choose their own label. If the underlying design decision is to not expose this information, then self-labeling is useless. If the design decision is reverted to expose adequate information again, then self-labeling is perhaps useful but only in a few marginal cases.

@deeplow
Copy link

deeplow commented May 9, 2024

Then I guess what's needed it:

  • a) a better heuristic for the device name
  • b) (or) some sort of ℹ️ button which shows the labels of all the partitions to help understand what the device is

@UndeadDevel
Copy link
Author

IMO the best solution is to just go back to the way it was before: display the device or partition name (e.g. sda, sda1 etc.) as well as the total size (if available)...this worked perfectly well to identify what I want to attach to a qube.

@marmarta marmarta self-assigned this May 9, 2024
@marmarta marmarta moved this to In progress in Current team tasks May 9, 2024
marmarta added a commit to marmarta/qubes-desktop-linux-manager that referenced this issue May 9, 2024
When integration with new device api happens, this will look better,
but this is just to avoid issues reported in the meanwhile

fixes QubesOS/qubes-issues#9164
@andrewdavidwong andrewdavidwong added diagnosed Technical diagnosis has been performed (see issue comments). pr submitted A pull request has been submitted for this issue. and removed needs diagnosis Requires technical diagnosis from developer. Replace with "diagnosed" or remove if otherwise closed. labels May 10, 2024
@qubesos-bot
Copy link

Automated announcement from builder-github

The component desktop-linux-manager (including package desktop-linux-manager) has been pushed to the r4.2 testing repository for the Fedora template.
To test this update, please install it with the following command:

sudo dnf update --enablerepo=qubes-vm-r4.2-current-testing

Changes included in this update

@qubesos-bot
Copy link

Automated announcement from builder-github

The component desktop-linux-manager (including package desktop-linux-manager) has been pushed to the r4.2 testing repository for the Fedora template.
To test this update, please install it with the following command:

sudo dnf update --enablerepo=qubes-vm-r4.2-current-testing

Changes included in this update

@qubesos-bot
Copy link

Automated announcement from builder-github

The component desktop-linux-manager (including package desktop-linux-manager) has been pushed to the r4.2 testing repository for the Fedora template.
To test this update, please install it with the following command:

sudo dnf update --enablerepo=qubes-vm-r4.2-current-testing

Changes included in this update

@UndeadDevel
Copy link
Author

Feedback: thank you for these changes! It seems to work without issue; the only nitpick I'd add is that the list entries are neither sorted by size nor device identifier, whereas before they were (by device identifier)...but the important thing is that we see what is what again.

@andrewdavidwong
Copy link
Member

the only nitpick I'd add is that the list entries are neither sorted by size nor device identifier, whereas before they were (by device identifier)

Please open a separate issue for this (if you want).

@qubesos-bot
Copy link

Automated announcement from builder-github

The package desktop-linux-manager has been pushed to the r4.2 stable repository for the Debian template.
To install this update, please use the standard update command:

sudo apt-get update && sudo apt-get dist-upgrade

Changes included in this update

@qubesos-bot
Copy link

Automated announcement from builder-github

The package desktop-linux-manager has been pushed to the r4.2 stable repository for the Debian template.
To install this update, please use the standard update command:

sudo apt-get update && sudo apt-get dist-upgrade

Changes included in this update

@qubesos-bot
Copy link

Automated announcement from builder-github

The component desktop-linux-manager (including package desktop-linux-manager) has been pushed to the r4.2 stable repository for the Fedora template.
To install this update, please use the standard update command:

sudo dnf update

Changes included in this update

@qubesos-bot
Copy link

Automated announcement from builder-github

The component desktop-linux-manager (including package desktop-linux-manager) has been pushed to the r4.2 stable repository for the Fedora template.
To install this update, please use the standard update command:

sudo dnf update

Changes included in this update

@qubesos-bot
Copy link

Automated announcement from builder-github

The component desktop-linux-manager (including package desktop-linux-manager) has been pushed to the r4.2 stable repository for the Fedora template.
To install this update, please use the standard update command:

sudo dnf update

Changes included in this update

@qubesos-bot
Copy link

Automated announcement from builder-github

The component desktop-linux-manager (including package desktop-linux-manager) has been pushed to the r4.2 stable repository for the Fedora template.
To install this update, please use the standard update command:

sudo dnf update

Changes included in this update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects-4.2 This issue affects Qubes OS 4.2. C: manager/widget diagnosed Technical diagnosis has been performed (see issue comments). P: major Priority: major. Between "default" and "critical" in severity. pr submitted A pull request has been submitted for this issue. r4.2-host-stable r4.2-vm-bookworm-stable r4.2-vm-fc37-stable r4.2-vm-fc38-stable r4.2-vm-fc39-stable r4.2-vm-fc40-stable r4.2-vm-trixie-stable r4.3-host-cur-test r4.3-vm-bookworm-cur-test r4.3-vm-fc39-cur-test r4.3-vm-fc40-cur-test r4.3-vm-trixie-cur-test T: bug Type: bug report. A problem or defect resulting in unintended behavior in something that exists. ux User experience
Projects
Status: Done
8 participants