-
-
Notifications
You must be signed in to change notification settings - Fork 48
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
Next-Gen Qubes OS Settings UI #6898
Comments
Wow, I am very impressed by your work ! I really like the look of your mock-up System Settings. For the elements that have multiple sections what would be the best ? :
I like the KDE way as it provides a search [box] also. It even has a help [box] (but it should not launch a browser!). So reusing it's framework and just adding a logo + text on the top left could speed things up on development side no? Things to consider adding in the future : Update :Split GPG
New sections :Backup and RestoreJust nice integration of existing tool, with Split-GPG integration if password is not sufficient. Would be nice to include possibility to backup to a s3 compatible bucket through a firewall qube (tor/vpn/wg) (s3ql/s3fs integration?) by just specifying key and url. Add a [button] to forget key/passphrase for backup if saved (better use Split-GPG and have your keys backed up elsewhere). CorebootAs more PCs should come with coreboot, a menu section to configure it should be useful. There is a nice gui client from StarLab called coreboot configurator that would fit well here. Display and GPUThis panel could enable selecting sys-gui, sys-gui-gpu, sys-gui-vnc. It would feature selection options (like gpu selection) and a recovery safety checkbox. For gpu, you could check box for auto grub settings and auto assigning the GPU to desired sys-gui-gpu qube and making sure it autostarts. The safety would be that if you lock yourself out, after 5 min it would revert back to normal. Changes would need to be confirmed again in Qubes System Settings before 5 min after reboot. The previous configuration will be reloaded and the system will reboot itself (use SystemD?). Necessary for sys-gui-gpu in case something goes wrong. Drives
Encryption
KVM
My Computer
Power managementTo view and config those, useful if using a sys-gui-gpu qube.
Offline
Stealth mode
Templates
Power user sections :ExperimentalEnable easy experimentation of newer or experimental versions of QubesOS. Create appropriates entries in Grub like Snapper would. In fact, it would be better to integrate Snapper and just click to create a snap or restore a snap. For any more, launch Snapper gui.
Paranoid.This is mostly extreme cases not many user should face. Also, TPM could be used to store a part of the secret for LUKS decryption, and flushing the TPM could provide a quick way to brick the Qubes OS encryption and prevent any access even if they hold you prisoner/hostage as the key is impossible to recuperate no matter what you could do even if you where to collaborate (under torture or not).
RemoteIt would be nice to have a convenient way to enable remote ssh in a Qubes-OS system (bare or virt) ONLY FOR DEVELOPMENT ! A simple checkbox that would forward a port from a specified ip and with ssh key only to dom0. With lots of warnings explaining why this is not a safe thing and must only be used to debug a unused development system in a secure environment ! Only a greater future ahead for Qubes-OSI know that's a lot, but if we want Qubes-OS to move to the group of people that was identified in group A "non-technical or non-Linux native user" and group C, that's the kind of roadmap that we should try to plan. Most of my points are not necessary, but a few of them would be game changer for certain features usage. But all those points go back to one thing, your great idea of a Next-gen Qubes OS Settings UI is central to pushing Qubes-OS in the hands of more people and allowing easier general usage. Thanks @ninavizz for sharing your ideas and the same goes to all other contributors of this great system ! |
@marmarta this is completed now, right? or is there something still pending? |
It is. |
How to file a helpful issue
apologies for the biz-jargon-y phrasing of the title; this issue is not to improve an existing thing but to build a wholly new GUI to replace existing GUI, such that a new GUI could be more extendable and ideally with APIs to avoid monolith code blobs.
Problem
Qubes OS is complicated! There are tons of useful and awesome capabilities built into Qubes OS that users don't think to look for, because they do not exist in "normal" single-environment (or other hypervisor) systems. Much of what is amazing about Qubes, today, is only available on the command-line—which regrettably hinders discoverability for all users, and restricts access to technical users.
Likewise, some very basic things such as editing one's FDE password, are missing from today's GUI. For less technical high-risk users needing a reasonably secure operating system that does not require majority-use of the command line for administrative and inter-qube permissioning needs, today's basic and robust functionalities need to be made available in a GUI. Qubes is an OS (as users experience it), after all.
Solution
A Settings experience presented to users in a unified GUI that meets their expectations of a single "Settings" UI. A left-tab/navigable pane analogous to what users are familiar with on Windows, Ubuntu, and other usability-renowned systems.
When tackling the design problem of developing a GUI for Policies in #4721, some of the broader needs above were surfaced. It was determined that the most intuitive place for folks to find Policies functionality, would be in a "System Settings" UI. Likewise, early user surveys and user research have uncovered basic functionalities being absent in the UI—editing one's FDE password, changing updates proxy, and other things made available at the time of installation or initial boot.
Because this new experience will pack in much more functionality than today's Settings screen, add-in an "Apply" button so the primary actions on the experience are Ok-Cancel-Apply.
Wireframe shown below demonstrates what this could look like as an initial release, and as a matured release—with more tabs & functionality added, with each release. The InVision Prototype for Policies also demonstrates these things, and some more granular interaction patterns developed for Policies, for #4721.
The value to a user, and who that user might be
Windows and Mac users, especially, expect a single "Settings" UI to manage all system passwords and high-level systems control types of functionality.
Other approaches considered
Linux-native users are more likely accustomed to the FOSS/Linux model of multiple applets existing, with each offering a small handful of GUI controls to mange different control system functions. So, yes, while this is also an option it is ill advised as it delivers a poor execution and discovery experience to all users. Some have even commented that this is why they prefer navigating Linux systems on the command-line.
The experience for an end user of knowing they need to "do a thing" yet are not sure which applet may control that thing—so they open/close multiple applets looking for "the thing" is tedious. Likewise, having to open multiple applets to shape a desired outcome, is also tedious. Finally, the discovery experience of available functionality is also poor with the disparate-applets approach, as it is not natural behavior for a user to either RTFM, or to open all the applets and remember all the capabilities from that first open/close experience. With users experiencing the complete value of Qubes, discovery feels very important—as few concepts Qubes tackles are natural or known to many users.
For maintainers and developers, however, the applets approach is more scalable. As such, I am proposing the unified multi-tabbed single-UI approach with the caveat that it be built such that each tabbed pane exists on the backend as its own applet... with API calls used to unify the GUI into the easier-to-use holistic experience.
Analogous Solutions
Mac Settings
As a Mac user, I will vote against Apple's paradigm of the multi-icon pu-pu-platter screen... as it delivers a fussy/irritating experience of having to bounce back and forth between a "main" screen and a "category" screen, when I'm looking for something. The left-nav multi-pane model, offers a smoother discovery experience for users.
Windows 11 Settings Pane
KDE Plasma Settings
Ubuntu Settings
The text was updated successfully, but these errors were encountered: