Skip to content

Improve and make current UX guidelines#1677

Open
marmarta wants to merge 1 commit into
QubesOS:mainfrom
marmarta:uxguidelines
Open

Improve and make current UX guidelines#1677
marmarta wants to merge 1 commit into
QubesOS:mainfrom
marmarta:uxguidelines

Conversation

@marmarta

Copy link
Copy Markdown
Member

Improved, modernized and also expanded UX guidelines

@marmarta marmarta force-pushed the uxguidelines branch 4 times, most recently from 8deeeaf to 6b8f63f Compare April 16, 2026 14:10

@parulin parulin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the update! The diff is messy so I have not checked if some of my comments applied to previous content, if so, please ignore them.

Comment thread developer/general/usability-ux.rst Outdated
Comment thread developer/general/usability-ux.rst Outdated
Comment thread developer/general/usability-ux.rst Outdated
Comment thread developer/general/usability-ux.rst Outdated
Comment thread developer/general/usability-ux.rst Outdated
Comment thread developer/general/usability-ux.rst Outdated
font-weight: 600;
}

For color definitions, see below.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should provide a link to the color section.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Examples:

.. figure:: /attachment/doc/ui_design_buttons_1.png
:alt: part of Qubes OS Global Config: three buttons at the bottom of the screen. Blue button with text "Apply Changes and Close", and two flat normal buttons with text "Apply Changes" and "Cancel"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment: the alt content is too long.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure how to shorten this? Do you have any proposals?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That?

.. figure:: /attachment/doc/ui_design_buttons_1.png
   :alt: Three buttons to apply changes and/or close the dialog

   In Qubes OS Global Config, there are three buttons at the bottom of the screen

   The first one, :guilabel:`Apply Changes and Close` is a blue confirmation button. The two others, :guilabel:`Apply Changes` and :guilabel:`Cancel", are regular gray buttons.

The following part is not an example but should be one of the recommendations, above don't you think?

Usually only one button should be marked visually as the main "confirmation" button. If there are multiple buttons who could serve this role, individual discernment must be used.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That?

.. figure:: /attachment/doc/ui_design_buttons_1.png
   :alt: Three buttons to apply changes and/or close the dialog

   In Qubes OS Global Config, there are three buttons at the bottom of the screen

   The first one, :guilabel:`Apply Changes and Close` is a blue confirmation button. The two others, :guilabel:`Apply Changes` and :guilabel:`Cancel", are regular gray buttons.

My problem with this is that it seems that for the person not using the alt-text, there is a repetition between the image and the description. It doesn't make sense to me to repeat the contents of the image in the non-alt-text description, because then the image seems pointless?

The following part is not an example but should be one of the recommendations, above don't you think?

Usually only one button should be marked visually as the main "confirmation" button. If there are multiple buttons who could serve this role, individual discernment must be used.

good point, moved it

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My suggestion is not a good one because here, the person using the alt text has a repetition.

But for someone not using the alt text, I don't think the text is harmful, you have some context (this image comes from Qubes Global config, it is at the bottom of the screen) and things are clearly identified. Maybe it would be better to explicitly link the CSS class to the result. The text also helps the user figuring out what is the difference between the two buttons. Some people can see the image but maybe not the colors?

A better solution would be to provide the description somewhere else but I don't think it is easy to do that with Sphinx.

If you still don't like it, I have another suggestion:

.. figure:: /attachment/doc/ui_design_buttons_1.png
   :alt: Three buttons to apply changes and/or close the dialog

   The confirmation button appears in blue while the others are gray

Comment thread developer/general/usability-ux.rst Outdated
Comment thread developer/general/usability-ux.rst Outdated

For GUI elements, use Tailwind color system (from `Tailwind CSS system <https://www.tailwindcss.com>`__). In particular, you can refer to the colors below for a comprehensive set of readable colors.

.. raw:: html

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This HTML table doesn't fit well in the documentation. Instead of copy-pasting it, is it possible to just provide a link to the original resource?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is a subset of the tailwind colors (I reworded to make this clearer). I think for copying and pasting, it is very useful to have a paste-able list of colors that can be also checked visually.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right now the table is a bit too large on the desktop version and very much on the mobile version.

Comment thread developer/general/usability-ux.rst
=========================

Software that is too complicated to use, is often unused. Because we want as many people as possible to benefit from its unique security properties, the usability and user experience of Qubes OS is an utmost priority!
Unnecessary complexity and bad UI often scare users away from good software. To avoid this terrible fate, please always take usability and good user experience into account when contributing to Qubes OS.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Unnecessary complexity and bad UI often scare users away from good software. To avoid this terrible fate, please always take usability and good user experience into account when contributing to Qubes OS.
Unnecessary complexity and bad UI often scare users away from good software. To avoid this, please always take usability and good user experience into account when contributing to Qubes OS.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to leave a little bit of personal style in the text.

Comment thread developer/general/usability-ux.rst Outdated
Comment thread developer/general/usability-ux.rst Outdated
Comment thread developer/general/usability-ux.rst Outdated
- avoid leaving users stranded - if there is an error message, there should also be guidance on how to recover or (preferably) an actionable solution

- Use ``application number`` instead of ``PID`` or ``Process Identification Number``
Reduce cognitive load

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above, and for all headings

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

disagree: this is reduce cognitive load [for the user], I think this is consistent

Comment thread developer/general/usability-ux.rst Outdated
----

|redx| **Avoid Technical Words**
Language

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that the subheadings could be reordered, and there is quite some repetition which could be removed

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please tell me what do you mean specifically


These words are more abstract and user relevant- they help a user understand what is happening based on already known concepts (disk space) or start to form a mental model of something new (Qubes).
Prefer a common, understandable concept to detailed technical explanations of a particular implementation
- Use ``disk space`` instead of ``root.img``, since while not quite accurate, it makes contextual sense

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isnt a good example because they are different things

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's the point? if something is clearer, use a clearer concept instead of technically correct explanation.

Prefer a common, understandable concept to detailed technical explanations of a particular implementation
- Use ``disk space`` instead of ``root.img``, since while not quite accurate, it makes contextual sense
- Use ``saving`` instead of ``savefile`` as the former is the action trying to be completed
- Use ``Qubes`` instead of ``qrexec-daemon`` as it gives better context on what is happening

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont understand where you would want to use this.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in error messages for example

@unman

unman commented May 6, 2026 via email

Copy link
Copy Markdown
Member

@marmarta

marmarta commented May 6, 2026

Copy link
Copy Markdown
Member Author

I think I either replied or fixed all comments (...finally noticed ones github hid for me for some unknown reason).

@unman

unman commented May 7, 2026 via email

Copy link
Copy Markdown
Member

@unman

unman commented May 7, 2026 via email

Copy link
Copy Markdown
Member

@parulin

parulin commented May 8, 2026

Copy link
Copy Markdown
Contributor

Why else do you think accessibility is not good?

For the same reason that it is not good in a lot of other situations: it is not a priority.

Otherwise it is best to address this, so that developers are conscious of the issues.

Reading again the original paragraph, removing reasons and sticking to facts is acceptable to me:

Qubes OS is not fully accessible to tools such as screen readers. However, let the perfect not be the enemy of the good and let us strive for accessibility to a degree that is possible.

This page is for contributors, so I don't think it's a good idea to provide them a reason for ignoring accessibility (by saying it is not secure or something else).

@unman

unman commented May 8, 2026 via email

Copy link
Copy Markdown
Member

@parulin

parulin commented May 8, 2026

Copy link
Copy Markdown
Contributor

A MAJOR issue I have referenced before - Sphinx generates every image as a link to the originating image, using the alt text of the image. This is unfortunate to say the least, but it's a Sphinx problem, which is why I havent raised an issue.

Yes, I don't remember where you wrote about this and I haven't forgotten the issue, but I have to admit it wasn't my priority...

@unman

unman commented May 11, 2026

Copy link
Copy Markdown
Member

There are just a few things to finish:
The examples on 85,87: make them make sense in context - "disk space" instead of "size of root.img".
Line 87 - I dont see where you COULD replace qrexec with Qubes - can you clarify this, or use an alternative.
Consider the headings under "Language"
Fix the size of the Tailwind color table

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants