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

Organizing large numbers of VMs #2646

Open
andrewdavidwong opened this Issue Feb 23, 2017 · 13 comments

Comments

Projects
None yet
@andrewdavidwong
Member

andrewdavidwong commented Feb 23, 2017

The discussion in #2523 revealed that a rather severe UX problem arises when the user has a large number of VMs. Eight colors isn't enough to sufficiently distinguish them all. However, that discussion also led to the conclusion that simply adding more colors isn't the correct solution, since it's likely to backfire and ultimately harm the user instead. A more creative solution is needed.

@jpouellet

This comment has been minimized.

Show comment
Hide comment
@jpouellet

jpouellet Feb 23, 2017

Contributor

I remember there having been proposals to provide different patterns (although I can't seem to find a link right now). I think this is reasonable.

Contributor

jpouellet commented Feb 23, 2017

I remember there having been proposals to provide different patterns (although I can't seem to find a link right now). I think this is reasonable.

@jpouellet

This comment has been minimized.

Show comment
Hide comment
@jpouellet

jpouellet Feb 23, 2017

Contributor

Also I think the title of this issue is slightly misleading. I am under the impression that this issue is actually about differentiating already-running VMs, rather than organizing them (aka not a discussion about alternatives to a flat list in qubes-manager, the application launcher menu, etc.).

Contributor

jpouellet commented Feb 23, 2017

Also I think the title of this issue is slightly misleading. I am under the impression that this issue is actually about differentiating already-running VMs, rather than organizing them (aka not a discussion about alternatives to a flat list in qubes-manager, the application launcher menu, etc.).

@woju

This comment has been minimized.

Show comment
Hide comment
@woju

woju Feb 23, 2017

Member

The patterns were discussed in the context of accessibility for colorblind people. I understand the issue as wider in scope, together with list in manager, but you are right in the sense that colourful labels were initially intended to separate (as in "compartmentalise") windows (areas of screen) in GUI. That's their primary function.

Member

woju commented Feb 23, 2017

The patterns were discussed in the context of accessibility for colorblind people. I understand the issue as wider in scope, together with list in manager, but you are right in the sense that colourful labels were initially intended to separate (as in "compartmentalise") windows (areas of screen) in GUI. That's their primary function.

@andrewdavidwong

This comment has been minimized.

Show comment
Hide comment
@andrewdavidwong

andrewdavidwong Feb 24, 2017

Member

Also I think the title of this issue is slightly misleading. I am under the impression that this issue is actually about differentiating already-running VMs, rather than organizing them (aka not a discussion about alternatives to a flat list in qubes-manager, the application launcher menu, etc.).

It seems to me that a solution for differentiating large numbers of already-running VMs could very well entail an altnernative to a flat list in Qubes Manager, especially in light of #2132. I'd prefer to keep this open-ended in order to encourage creative solutions that might be unintentionally precluded by defining the problem too narrowly.

Member

andrewdavidwong commented Feb 24, 2017

Also I think the title of this issue is slightly misleading. I am under the impression that this issue is actually about differentiating already-running VMs, rather than organizing them (aka not a discussion about alternatives to a flat list in qubes-manager, the application launcher menu, etc.).

It seems to me that a solution for differentiating large numbers of already-running VMs could very well entail an altnernative to a flat list in Qubes Manager, especially in light of #2132. I'd prefer to keep this open-ended in order to encourage creative solutions that might be unintentionally precluded by defining the problem too narrowly.

@evadogstar

This comment has been minimized.

Show comment
Hide comment
@evadogstar

evadogstar Mar 30, 2017

There are some other related issues. And discussed at mail list,

#2388

Tags & Folders (while folders can be collapsed/expanded )

evadogstar commented Mar 30, 2017

There are some other related issues. And discussed at mail list,

#2388

Tags & Folders (while folders can be collapsed/expanded )

@tonsimple

This comment has been minimized.

Show comment
Hide comment
@tonsimple

tonsimple Apr 12, 2017

My two cents as a user who has many (>10) VMs actively in use.

New colors will be useful, but the extent to which users can differentiate them depends on user's eyesight, workload, stress (I could definitely distinguish more colors than you currently have under most circumstances, but I am very good at the "tell two close but dissimilar colors apart" tasks) and am rarely operating at any considerable stress (I am neither an activist nor a "funny agency" employee, etc etc)

Patterns will be useful, but same considerations apply (some patterns might become, in principle, possible to confuse when under stress)

I do think that increasing the number of colors AND enabling patterns, and making pattern independently pickable (so I can have a "red window" and "red window with vertical line pattern) would be most beneficial.

I suspect there might be academic articles on "most easily distinguished colors".
As to "most easily distinguished patterns" I would suggest simply copying the "fill patterns" available in Microsoft Excel. Microsoft has likely already done relevant ergonomic research, so you don't have to ;-)

My two cents as a user who has many (>10) VMs actively in use.

New colors will be useful, but the extent to which users can differentiate them depends on user's eyesight, workload, stress (I could definitely distinguish more colors than you currently have under most circumstances, but I am very good at the "tell two close but dissimilar colors apart" tasks) and am rarely operating at any considerable stress (I am neither an activist nor a "funny agency" employee, etc etc)

Patterns will be useful, but same considerations apply (some patterns might become, in principle, possible to confuse when under stress)

I do think that increasing the number of colors AND enabling patterns, and making pattern independently pickable (so I can have a "red window" and "red window with vertical line pattern) would be most beneficial.

I suspect there might be academic articles on "most easily distinguished colors".
As to "most easily distinguished patterns" I would suggest simply copying the "fill patterns" available in Microsoft Excel. Microsoft has likely already done relevant ergonomic research, so you don't have to ;-)

@vercas

This comment has been minimized.

Show comment
Hide comment
@vercas

vercas May 29, 2017

As someone who is colorblind, I can tell you that patterns would be extremely welcome.
Currently, green, yellow and orange decorations all look the same to me. Purple and blue are also indistinguishable. I am limited to 5 colors, including gray and black.

Adding something like a checkboard or diagonal line pattern would greatly improve UX, and they would work even for people who have harsher forms of colorblindness or even severely impaired eyesight.

vercas commented May 29, 2017

As someone who is colorblind, I can tell you that patterns would be extremely welcome.
Currently, green, yellow and orange decorations all look the same to me. Purple and blue are also indistinguishable. I am limited to 5 colors, including gray and black.

Adding something like a checkboard or diagonal line pattern would greatly improve UX, and they would work even for people who have harsher forms of colorblindness or even severely impaired eyesight.

@DigitalChiller

This comment has been minimized.

Show comment
Hide comment
@DigitalChiller

DigitalChiller Aug 13, 2017

Why not use different icons too? A gear for system vms, a stamp for tempalte vms, a lock for vault vms, a coffer for work vm, a fingerprint for personal vm (totally not inspired by firefox containers, nope). They even can be included into window titles (using fonts).
I'm not colorblind but the colors confuse me too: why do vault, sys-whonix and template vms have the same color? why do the system vms have different colors? In i3wm it is hard to tell what window is focused when almost every window has a different color.
https://www.qubes-os.org/doc/style-guide/ says the colors green, yellow, orange and red signalize success, alert, warning and danger respectively. Coloring a vms in these colors might me confusing.

Why not use different icons too? A gear for system vms, a stamp for tempalte vms, a lock for vault vms, a coffer for work vm, a fingerprint for personal vm (totally not inspired by firefox containers, nope). They even can be included into window titles (using fonts).
I'm not colorblind but the colors confuse me too: why do vault, sys-whonix and template vms have the same color? why do the system vms have different colors? In i3wm it is hard to tell what window is focused when almost every window has a different color.
https://www.qubes-os.org/doc/style-guide/ says the colors green, yellow, orange and red signalize success, alert, warning and danger respectively. Coloring a vms in these colors might me confusing.

@patros

This comment has been minimized.

Show comment
Hide comment
@patros

patros Aug 24, 2017

My initial thoughts... there should be the option to choose an icon, pattern and two colours, foreground and background. The foreground colour would determine the colour of the icon, title bar text and the alternate colour for patterns. For readability, behind the icon and title bar text should be just the background colour, no pattern. There should be a minimum amount of the pattern visible between the icon and title bar text. The icon set should be monochrome. Think font awesome.

patros commented Aug 24, 2017

My initial thoughts... there should be the option to choose an icon, pattern and two colours, foreground and background. The foreground colour would determine the colour of the icon, title bar text and the alternate colour for patterns. For readability, behind the icon and title bar text should be just the background colour, no pattern. There should be a minimum amount of the pattern visible between the icon and title bar text. The icon set should be monochrome. Think font awesome.

@brendanhoar

This comment has been minimized.

Show comment
Hide comment
@brendanhoar

brendanhoar Feb 7, 2018

Just to "me too" here: the availability of border patterns would be a very useful reminder when using disposable VMs that any updated content will likely go poof after that window is closed...especially with R4.0 or later where each menu app request for a disposable VM app goes to it's own uniquely started dispVM.

In my case, I would love to configure disposable VMs to have color/white "barbershop style" or "construction sign style" set of diagonal stripes in the window border and select red/white for anon-whonix disposables, blue/white for fedora disposables, and purple/white for VPN'd fedora disposables.

Just to "me too" here: the availability of border patterns would be a very useful reminder when using disposable VMs that any updated content will likely go poof after that window is closed...especially with R4.0 or later where each menu app request for a disposable VM app goes to it's own uniquely started dispVM.

In my case, I would love to configure disposable VMs to have color/white "barbershop style" or "construction sign style" set of diagonal stripes in the window border and select red/white for anon-whonix disposables, blue/white for fedora disposables, and purple/white for VPN'd fedora disposables.

@viviparous

This comment has been minimized.

Show comment
Hide comment
@viviparous

viviparous Feb 23, 2018

Am a new user of Qubes 3.2; I have coding and UX experience and some vision challenges. I have followed the origin of this discussion and read all the comments. In short:

Req 1) Yes, organising and using even a moderate number of VMs is a problem that needs to be addressed. I have 17 entries in my VM Mgr list, including dom0. I expect to create several more.

Req 2) Yes, the hard-coded assumptions made in v3.2 are too limited and in some cases poor choices. For example, the "inactive titlebar" combination if the label colour is yellow is grey text on yellow (hard to read). As was mentioned by others, disparity in colour perception makes a dependence on colour alone a UX mistake. I understand the v4.x makes the colour settings configurable in a single file. Good. I suggest that OpenBox (e.g. LXDE) gets this mostly right. I prefer OpenBox for my own visual needs. When I use M-Windows, I switch it back to the "classic" mode, which also offers a good example of enabling the user to configure colours for window components.

Discussion

If the VM Mgr the preferred mgmt UI, then a collapsible node list could work well. The parent would be the template by default, but the user could relocate the children. It might also be possible to launch a set of VMs at once.

Also consider a pure graph presentation of nodes and edges. Not something that roils and churns like a force-directed d3 mess, but something stable and modifiable (dragging, connecting). It could be scalable. A node's properties could be listed in a "hover window" (mouseover event). You could have a default layout enforced with a "snap-to-grid" feature.

viviparous commented Feb 23, 2018

Am a new user of Qubes 3.2; I have coding and UX experience and some vision challenges. I have followed the origin of this discussion and read all the comments. In short:

Req 1) Yes, organising and using even a moderate number of VMs is a problem that needs to be addressed. I have 17 entries in my VM Mgr list, including dom0. I expect to create several more.

Req 2) Yes, the hard-coded assumptions made in v3.2 are too limited and in some cases poor choices. For example, the "inactive titlebar" combination if the label colour is yellow is grey text on yellow (hard to read). As was mentioned by others, disparity in colour perception makes a dependence on colour alone a UX mistake. I understand the v4.x makes the colour settings configurable in a single file. Good. I suggest that OpenBox (e.g. LXDE) gets this mostly right. I prefer OpenBox for my own visual needs. When I use M-Windows, I switch it back to the "classic" mode, which also offers a good example of enabling the user to configure colours for window components.

Discussion

If the VM Mgr the preferred mgmt UI, then a collapsible node list could work well. The parent would be the template by default, but the user could relocate the children. It might also be possible to launch a set of VMs at once.

Also consider a pure graph presentation of nodes and edges. Not something that roils and churns like a force-directed d3 mess, but something stable and modifiable (dragging, connecting). It could be scalable. A node's properties could be listed in a "hover window" (mouseover event). You could have a default layout enforced with a "snap-to-grid" feature.

@t4777sd

This comment has been minimized.

Show comment
Hide comment
@t4777sd

t4777sd May 19, 2018

For me the issue is that colors are not a good enough signal between all my various VMs (referring to already running VMs not organizing VMs in the vm manager). I operate different VMs for different companies and each one has different trust levels. Identifying the VMs with the current color set is impossible because of overlap. However, at some point the colors would be too close together to be useful if lots of more colors were added.

These are the changes I think should be implemented:

Change 1: Color Picker
The colors should be user pickable. Not so that users can add 100 colors, but because the default colors do not serve every users ability to differentiate colors. To be useful the user should be able to pick users that they they personally can differentiate and make sense. If you still want to limit it to 8 colors or whatever, then make 8 colors user pickable. Otherwise, you run the risk where the feature is just useless for some people.

Change 2: Patterns
I also think patterns should be included as an option for stylization of the window title. Not just to create more ways to differentiate different contexts, but because it provides more information to the user to have color+pattern which means it will be easier to differentiate. Not to mention it helps color blind people which is an accessibility feature.

Change 3: Text Overlay - Most Important
I would actually like the VM name (such as work, company 1, company 2, hobby 1, anonymous) to be overlaid over the VM title bar. That way I can just look at the title bar and see that it is "company 1" and it is very explicit without me having to remember which VM I assigned it to.

Maybe there is not a good way to do that for the windowed applications and of course wouldn't be useful if there is no title bar. Maybe an alternative would be a keyboard shortcut that displayed the VM the currently focused VM belonged to. While actively pressing this keyboard shortcut then overlaid in the center of the screen will be the VM name. As soon as it is unpressed it will disappear.

This would server as a way for someone to quickly identify a VM without doubt. "I forgot exactly what this yellow VM is again. What is it?" Press the keyboard shortcut and it says "hobby-net-vpn" and just like that I know exactly what it is.

t4777sd commented May 19, 2018

For me the issue is that colors are not a good enough signal between all my various VMs (referring to already running VMs not organizing VMs in the vm manager). I operate different VMs for different companies and each one has different trust levels. Identifying the VMs with the current color set is impossible because of overlap. However, at some point the colors would be too close together to be useful if lots of more colors were added.

These are the changes I think should be implemented:

Change 1: Color Picker
The colors should be user pickable. Not so that users can add 100 colors, but because the default colors do not serve every users ability to differentiate colors. To be useful the user should be able to pick users that they they personally can differentiate and make sense. If you still want to limit it to 8 colors or whatever, then make 8 colors user pickable. Otherwise, you run the risk where the feature is just useless for some people.

Change 2: Patterns
I also think patterns should be included as an option for stylization of the window title. Not just to create more ways to differentiate different contexts, but because it provides more information to the user to have color+pattern which means it will be easier to differentiate. Not to mention it helps color blind people which is an accessibility feature.

Change 3: Text Overlay - Most Important
I would actually like the VM name (such as work, company 1, company 2, hobby 1, anonymous) to be overlaid over the VM title bar. That way I can just look at the title bar and see that it is "company 1" and it is very explicit without me having to remember which VM I assigned it to.

Maybe there is not a good way to do that for the windowed applications and of course wouldn't be useful if there is no title bar. Maybe an alternative would be a keyboard shortcut that displayed the VM the currently focused VM belonged to. While actively pressing this keyboard shortcut then overlaid in the center of the screen will be the VM name. As soon as it is unpressed it will disappear.

This would server as a way for someone to quickly identify a VM without doubt. "I forgot exactly what this yellow VM is again. What is it?" Press the keyboard shortcut and it says "hobby-net-vpn" and just like that I know exactly what it is.

@andrewdavidwong

This comment has been minimized.

Show comment
Hide comment
@andrewdavidwong

andrewdavidwong May 19, 2018

Member

I would actually like the VM name (such as work, company 1, company 2, hobby 1, anonymous) to be overlaid over the VM title bar. That way I can just look at the title bar and see that it is "company 1" and it is very explicit without me having to remember which VM I assigned it to.

That's how it's always been, though. Do you not have VM names in the title bars of your windows?

Member

andrewdavidwong commented May 19, 2018

I would actually like the VM name (such as work, company 1, company 2, hobby 1, anonymous) to be overlaid over the VM title bar. That way I can just look at the title bar and see that it is "company 1" and it is very explicit without me having to remember which VM I assigned it to.

That's how it's always been, though. Do you not have VM names in the title bars of your windows?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment