Bug 494120 - Even with customized user-friendly names, multi-device view is still visually overwhelming
Summary: Even with customized user-friendly names, multi-device view is still visually...
Status: RESOLVED WORKSFORME
Alias: None
Product: plasmashell
Classification: Plasma
Component: Audio Volume widget (other bugs)
Version First Reported In: 6.2.4
Platform: Other Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: usability
Depends on:
Blocks:
 
Reported: 2024-10-04 15:10 UTC by Nate Graham
Modified: 2025-05-08 16:00 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
So many devices (606.53 KB, image/png)
2024-10-04 15:10 UTC, Nate Graham
Details
Much better with half the devices hidden (427.56 KB, image/png)
2024-10-16 19:33 UTC, Nate Graham
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nate Graham 2024-10-04 15:10:24 UTC
Created attachment 174419 [details]
So many devices

We now have the ability to customize device names, which is great!

However even if you do that, the UX of having several audio devices visible in the KCM remains overwhelming. See the attached screenshot of how mine looks with the following:
- Laptop (speakers/headphone jack + microphone)
- External monitor that includes speakers I never use (many monitors these days include these)
- External speakers plugged into a USB DAC

As a result, I see six sliders, radio buttons, and device labels. It's just… too much. And the popup isn't even scrollable yet (I have made it slightly taller than normal to accommodate all these devices), which adds an additional dimension of awkwardness due to the sliders changing on scroll.

This widget is not meant to duplicate the full power of the KCM. I would recommend collapsing all the outputs and all the inputs into two comboboxes you can use to choose the active input and output device.
Comment 1 Ismael Asensio 2024-10-04 15:56:53 UTC
I have to wholeheartly disagree with the premise. 

Having a combobox to select an entry first would convert any adjustment from zero-clicks into a three-click operation. This inconvenience increases if you want to adjust to channels relative to each other (move one up, the other down)  Having been forced to use such a design (on Win7/Win10) it can be nerve-wrecking and error prone because there are tons of small precise operations you need to achieve your goal. Imagine you want to, for instance, quickly silence your laptop output because you're on the library.

Might it be worth exploring why you feel is too much in your regular use case? Is it just visually? Or the fact that one have to parse the input/outputs individually? Maybe that helps finding other alternative solutions, such as more descriptive icons, more visual highlight of the preferred device, different organization of input vs outputs, etc.
Comment 2 Nate Graham 2024-10-04 17:30:53 UTC
If I had to give details, I think I would point to the following:

1. There are two devices in the list (HP Screen speakers and Sound Blaster DAC mic) that I literally never use. If I could permanently hide them, that would help reduce the visual noisiness.

2. The sliders being very long and width filling makes the dialog feel stuffed and busy, which gets worse the more devices are in it. This issue also affects the KCM for me, FWIW.

2. Being able to see volume/recording level sliders for devices that aren't currently in use feels useless. I only ever want to adjust the level of the active device, because I can get audio feedback that the level is correct. If I adjust the level for a device I'm not using, I have no way to verify the change, so I never do that. I don't understand the library use case you brought up; here you just hit the mute button on your keyboard, no? If you're in a library, you brought your laptop, and all laptops have mute buttons. No need to find the mute button specific to the device that's playing audio and go click it.

3. Most of the time when I open this popup, it's to switch devices. The way you do that is with the radio buttons, which are the smallest UI elements in the dialog — very small click targets. These are also the only visual indicators of which device is active. It's very subtle.

4. Items are distinguished only by text label. These text labels are all left-aligned, but each of them has a slider right below it. This inhibits my ability to scan quickly. I think icons would help, yeah. They would need to be user-configurable like the names.
Comment 3 Harald Sitter 2024-10-08 08:50:47 UTC
It'd probably be most reasonable to have the VDG come up with a design refresh.
Comment 4 Felix Ernst 2024-10-16 09:33:45 UTC
(In reply to Nate Graham from comment #2)
> 1. There are two devices in the list (HP Screen speakers and Sound Blaster
> DAC mic) that I literally never use. If I could permanently hide them, that
> would help reduce the visual noisiness.

I would say this is probably the main issue. As a solution I would suggest to use the same workflow that the Dolphin places panel has. It allows hiding entries in the list and then there is a "global" toggle to re-show all hidden devices. This way it is possible to effectively get rid of those devices or at least visually de-emphasise them by marking them hidden but keeping them visible. The action for hiding an entry would go into that devices hamburger button. The action to show all hidden entries would go into the main hamburger button.

My suggestion would not address Nate's concern of currently-not-used devices being too visually busy, however since we allow playing audio on non-default devices, I think it might be a can of worms if were to introduce a different representation between default and non-default devices, since multiple devices can be important at any given moment depending on how people route their audio.
Comment 5 Nate Graham 2024-10-16 18:36:59 UTC
Being able to hide unused device would indeed make a big difference for me personally. The popup would no longer be scrollable at its default size, and there would be 33% fewer UI elements and device labels to visually scan. It wouldn't fix the other visual issues I brought up, but it would allow me to lessen their severity.

This is kind of pushing the issue onto the user though, as it would be up to them to actively go and hide the things they don't use.
Comment 6 Nate Graham 2024-10-16 19:33:01 UTC
Created attachment 174907 [details]
Much better with half the devices hidden

Ismael pointed me to fact that is it in fact already possible to disable devices via the profile menus. So I set the monitor's speakers and microphone to Off, and set the DAC to Analog Stereo Output (not duplex) to make the unused microphone input disappear. Boom, much better. I consider this effectively fixed from my personal perspective.

However the road taken to get there feels like it would not be feasible for a regular user. Heck, it wasn't even feasible for me until a fellow developer suggested it! I think the problem here is that "Off" being in the profile menu is not intuitive. In fact, nothing about the profile menu is intuitive; it's all jargon that only audio engineers are going to understand.
Comment 7 Niklāvs Koļesņikovs 2024-12-21 20:18:47 UTC
First of all, I'm not trying to downplay the actual UX issue here or claim it's all good or all bad, I'll only be explaining some of the story behind this known mess.

[Backstory]
The profiles themselves are a PulseAudio idea in the form of the original ACP profiles. That idea then got expanded upon by userspace ALSA project into UCM profiles and then PipeWire also added its own Pro Audio and Off profiles, which means that the concept of audio profiles itself is unique to Linux and the meaning of some of these profiles (most notably Pro Audio) is non-obvious even to audio engineers, unless they have read or otherwise learned about them.

[Where we at]
That being said, no one has come up with a better idea is some 20 years other than maybe set devices to Pro Audio, forget about ACP/UCM and just have a capable GUI (e.g. qpwgraph) and a daemon (e.g. WirePlumber) with custom rules to route things as the user sees fit (another option is to use custom virtual devices which is essentially a PW-JSON way to write profile without using ACP or UCM syntax). I was running such a setup for a few months myself.

However this just replaces all the profile tentacles and underwater hazards with directly exposing the potentially messy I/O of the actual hardware (some of which may be badly labeled or even just floating pins that are not connected to any physical port). Hardly an improvement to the average person but it might be just what an audio producer would want (hence Pro Audio name).

[Where to]
Well, there is an alternative path in the sense we could have a KCM that sets each device to either Pro Audio or Off profile and then allows users to customize via GUI where each client gets routed or what virtual devices, filters, etc are set up and can be used in the audio graph, which to me sounds cool and unique but, again, the only way this would not be more of a UX nightmare would be if that KCM was essentially reading the relevant UCM or ACP profiles and re-creating them as the default config that users can then edit. It should be doable and would be really cool but does that actually solve the UX issues at hand?

Other ideas welcome.
Comment 8 Nate Graham 2025-05-08 16:00:26 UTC
I've solved this issue completely by hiding devices I never use, and renaming the ones I do use to have sensible names.

We could perhaps expose the renaming and hiding features more prominently, so people can self-satisfy more easily. That would be a separate topic though.