QubesOS / qubes-issues

The Qubes OS Project issue tracker
https://www.qubes-os.org/doc/issue-tracking/
526 stars 46 forks source link

Unique XFCE "Theme" for Qubes to ship OEM with #6414

Open ninavizz opened 3 years ago

ninavizz commented 3 years ago

The problem you're addressing (if any) Qubes is a unique only-of-its-kind computing experience for its users.

As such, windows designed to support GUI experiences within a non-containerized OS, seem to all meet about 80% of the needs for Qubes users... but then really miss the mark for the other 20% of our needs.

The resulting usability-salad kind of stinks, so a design to meet the needs of QubesOS users feels like an important thing to build to add to the usability of the QubesOS experience.

Describe the solution you'd like Below created in a design-tantrum and is just a first stab. Some of the points are settings that can be modified for existing themes, but most have to do with the theme itself. Many Colors

Where is the value to a user, and who might that user be?

  1. Good design always has value! :)
  2. Legibility of window titles today, is complicated by the focus/background states in most of XFCE's window themes. Likewise, the gradient in many of the window bars feels either backwards, or detracts too much from the window's color identifying which qube a pane is from.
  3. Color as the lone disambiguator of windows as belonging to different qubes, has been cited as problematic. Including a qube's icon could also extend communicating the qube-type to a user, which could be nice.
  4. 2 + 3 = accessibility wins

Describe alternatives you've considered I really have looked at every dang theme I could find, and they all come-up short in not addressing all of the various pain-points identified above.

Additional context This did come about through a design tantrum, so I am entirely open to other ideas!

Related, non-duplicate issues

5800

DemiMarie commented 3 years ago

Nit: Not every TemplateVM will have the “black” label. It is quite possible to have a TemplateVM that isn’t fully trusted. I have had a “red” TemplateVM in the past.

ninavizz commented 3 years ago

@DemiMarie Of course! The above is just a "proof-of-concept" mockup; eg, a halfass deliverable from a designer to communicate a general idea, not a complete spec.

That said, the implied visual system would have all VM windows (including templates, service VMs, etc) get colored windows w/ white text, and all System-y/Management-UI type windows (settings, qubes manager, etc) would get the silver window with black text. Yes, you and I know those windows would contain utility apps running on dom0, but for non-technical users that feels like a nice distinction. "Things to do with managing my computer, vs things I'm using my computer to do"

DemiMarie commented 3 years ago

@ninavizz Should we deprecate the “gray” label? It looks a bit too much like dom0, IMO.

andrewdavidwong commented 3 years ago

@ninavizz Should we deprecate the “gray” label? It looks a bit too much like dom0, IMO.

This has come up before in a couple other issues: https://github.com/QubesOS/qubes-issues/issues/3471, https://github.com/QubesOS/qubes-issues/issues/3102.

ninavizz commented 3 years ago

@DemiMarie @andrewdavidwong My own $0.02 is that "system" applet-control windows should always display with a gray chrome, and dom0 Terminal and app windows with a Black chrome.

I personally don't like that any app-VM may also be chosen to have a Black coloring of them, as I feel Black should be reserved for dom0, but I also want to ask about color stuff in my first round of user research. Templates and Service VMs should be allowed to be Black, but not App VMs. Again, my own, lay and not very engaged in the topic $0.02.

There are a few additional hues/colors that we don't include in the palette, that we could extend the pallete to include; if we'd want to remove gray and black as user-selectable options

I appreciate that many of the Qubes developer type users will identify something like an XFCE Settings applet and know which VM it's from, and expect that window to match that VM... but I also want to be cogent to map to more common mental models that both non-technical and technical users alike, can get their heads around.

All of the above said: I DON'T want this ticket to digress into a discussion of near-term color stuff. If in fact that should be considered for 4.2 or later, I'd be happy to open a new/linked ticket to discuss it... but the mentioned things up above about the existing XFCE theme options, I feel are important to keep this ticket focused on. TL;DR, it'd be great to create a Qubes-specific theme, for all the reasons cited above.

ninavizz commented 3 years ago

@DemiMarie Also—the gray cute-qube, I did make to look much more like its own thing, and distinctly different from the black dom0 cute-qube. Is that what you're referring to, or the padlock?

Many of the existing colors are far too close in contrast to one another, and in the cute-qubes I did change the hues/contrast a bit to make them more clearly distinct. In the padlocks they're all somewhat muted, which is really bad for accessibility. So they got punched-up to be more contrast-y in the cute-qubes.

andrewdavidwong commented 3 years ago

For the color topic, also see https://github.com/QubesOS/qubes-issues/issues/2523 and https://github.com/QubesOS/qubes-issues/issues/2646.

hackerncoder commented 3 years ago

I personally don't like that any app-VM may also be chosen to have a Black coloring of them, as I feel Black should be reserved for dom0, but I also want to ask about color stuff in my first round of user research. Templates and Service VMs should be allowed to be Black, but not App VMs. Again, my own, lay and not very engaged in the topic $0.02.

I use it. Vault and master-gpg is black, and split-vault (used for gpg) and storage is just white, this signals that vault and master-gpg have very valuable stuff inside that I do not want out of them at any time, whereas split-vault and storage are non-networked VMs, and for one of them it would be nice if the contents didn't get out (but not critical). If black got removed from AppVMs I would need to figure out something else, and while I can (probably just use purple, which I don't use currently..) the current setup just feels right™.

Of course, this is an entire study one could do on what users use the colours for, and what they signal. Maybe such a thing should be done?

brendanhoar commented 3 years ago

A study would be useful.

I set all my templates to black, and all my sys- VMs (quite a few due to VPNs) to gray.

‘qvm-prefs dom0’ says label is black, but window title bar always appears silver/white (via gradient), which is fine.

For task VMs, the rest of the color palette is used as work context or security context dependent color signifiers.

E.g. All non-networked VMs (such as vault) are blue (I also re-verify that truth from time to time!).

Brendan

PS - I’m a proponent of lobbying for special title bar patterns (e.g. banding or stripes) for OS templates and/or disposable VM app templates, just to remind users these are special and shouldn’t be used for everyday tasks.

hackerncoder commented 3 years ago

I think I should probably create an issue for this, but I setup limesurvey to create a study/survey.

th5 commented 3 years ago

That looks really nice. This would be a welcome improvement.

ninavizz commented 3 years ago

@brendanhoar So... to answer "what do users want," a study is a fantastic idea. Likewise, to gain insight into how users of qubes typically use their desktops—and from there, to prioritize design needs.

Unfortunately the default XFCE utilities Qubes uses, were all designed for single-OS environments. As such, they're designed to fulfill usability needs that befit a different mental-model than those Qubes users need to work within. Likewise, very little of any of what XFCE utilities were built for, follow any known best practices for either visual or interaction design interests.

Some really basic and small things can be done w/o a study, to create a theme that would better serve Qubes users' needs—by just adhering to many best practices for cognitive needs; both around basic/known design problems, such as text legibility with multiple window colors and focus/non-focus windowbar states, and text legibility.

Color is not in my mind the core problem. Rather, how the UI of the windows themselves, are rendered. The above proposal does a lot of very subtle "skinning" level things, to enhance legibility and quicker recognition of differently colored windows. It also has a qube icon in it, which would just be nice. None of those things are "necessary" when all windows are going to be the same color, or a user is unlikely to have a zillion windows open at once with 3 essential pieces of information on each title bar (vm, app, filename) vs the usual 2 (app, filename).

@hackerncoder I'd love to see both your survey, and what you learn from it!

ninavizz commented 3 years ago

TL;DR: the universal "skinning" needs of one XFCE theme, with the existing colorset for Qubes, is the objective of this issue and the development need I'm flagging here.

The colors vs textures vs "is color the right way to distinguish qubes?" I see as a far bigger ux inquiry, and to keep things "clean" unrelated to this. Both feel really important; as one could make a lot of peoples' lives easier in the near-term, while the other is important longer-term and is a far bigger "problem" to solve for.

hackerncoder commented 3 years ago

@ninavizz Here is my survey: https://survey.encryptionin.space/index.php?r=survey/index&sid=178339&lang=en. I would love some feedback (I'm a developer, not a UX person) before I send it out.

ninavizz commented 3 years ago

Thank you @hackerncoder for creating that survey! To keep this Issue focused on the creation of a new XFCE theme for the reasons articulated above, I've created a separate issue for your survey—and included my responses, there. :)

ninavizz commented 3 years ago

@ffsec Thank you for your ongoing contribution to the colors topic! For better and for worse (for the better of the project, for the worse of our individual habits and inclination to want to contribute anywhere/anyhow) @andrewdavidwong is working on tightening-up how all of us contribute to issues, here. Namely—keeping more disciplined about staying on-topic, as well as improving how actionable contributions to issues are. Design is tough, as it requires a lot of conversation—and that conversation often extends across features and bits of code that GitHub was built to isolate and focus conversation on.

Might you be keen to re-place your comment in #2523? Yes, lots that I want to respond to, once the work-week resumes... and, I appreciate, so much, your work on the color topic! Also—yes, i am very with you on the inferiority of coloring app icons. I've incorporated that into solutions proposed in addressing #5677 and #6366. Personally, I'd like to nix that functionality, altogether, but enough respondents to #6573 were not in favor of that—so, the "compromise" in #6366 was proposed.

FWIW, I am possibly one of the greatest "offenders" of introducing segues and chaotic off-topic contributions to issues—so pls know I make this "Put it in another issue and keep on-topic!" request in the friendliest and most comrade-ish spirit of collaboration. :)

deeplow commented 3 years ago

@ninavizz, @unman just shared on another thread a windows-looking theme whose windows seem to be a close match to what you desire. And the most important detail of all is they support colors. Find instructions for using this theme on Qubes OS here.

da593192fb5f33e15b313cd8483a8727da3d1d97_2_666x500

Perhaps this could be a good base to develop proposed theme on?

ninavizz commented 3 years ago

@deeplow How things are coded, is not my wheelhouse; but I'm extremely hesitant to "base" a theme off of anything, because of Qubes' unique needs wrt colorization, text legibility in focus and not, and the need to have a very basic, un-adorned solid color frame around all 4 edges of a window. No existing themes do all of that, or even most of that.

My proposed PNG above, specifically also handles focus/not with the alpha value on both the text in windows and the super subtle top-bar gradient. Most window themes do focus in a different way, or don't do good dropshadows to provide clear layering of windows, or do no frame on 3 sides (as the one you shared does).

I appreciate you sharing @unman's solution! This ticket is is really an issue to "SOLVE" a problem, instead of our usual... which is to devise more workarounds to "make better" something that is problematic, today. If that makes sense. :)

deeplow commented 3 years ago

@ninavizz I totally get what you are saying. It's just that implementation-wise any theme customization will likely be best based on a pre-existing theme, I can image. And the current theme (visually-speaking) is further apart from the one you propose. But there are many other (equally viable -- and perhaps better) alternatives.

ninavizz commented 3 years ago

@deeplow Yup! I'd rather leave those decisions to whomever wishes to tackle the development of a solution to this issue, tbh. That individual will know which foundational pieces they want to retain for a pre-existing template to work from, vs which require more work to customize.

The current theme has borders on all 4 sides of the window, as an example. That could make it easier to customize, than the theme you propose in this issue (which has no borders on 3 sides)—because the developer would just need to specify the same color for the outer stroke, the inner-stroke, and the frame color, while also eliminating the gradient shading, from the current theme. In that regard, I feel the static screen example you provide is much farther away from the end goal, than the current theme.

Let's just leave this issue where it's at, until a developer is ready to pick it up to tackle it—and then they can drive what they need?

ninavizz commented 3 years ago

Labeled this issue "Help Wanted," because none of the core Qubes OS team are likely to be able to prioritize this anytime soon, abreast critical project priorities. That said: to me, a custom XFCE window theme feels like an helpful addition to the Qubes OS UX.

The core Qubes team have given their blessing to this UX solution, so should a developer like to take this on pls "@" me here and let's chat next steps. I will gladly make myself available to support that work, once someone decides to take this on.

arkenoi commented 5 months ago

Speaking of window decorations, I find Mofit theme a perfect match. Also brings up some Trusted Solaris nostalgia :)