Skip to content
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

Implement a more intuitive Qubes Manager #1870

Closed
3 of 12 tasks
bnvk opened this issue Mar 23, 2016 · 29 comments
Closed
3 of 12 tasks

Implement a more intuitive Qubes Manager #1870

bnvk opened this issue Mar 23, 2016 · 29 comments
Labels
C: manager/widget help wanted This issue will probably not get done in a timely fashion without help from community contributors. P: major Priority: major. Between "default" and "critical" in severity. R: duplicate Resolution: Another issue exists that is very similar to or subsumes this one. release notes This issue should be mentioned in the release notes. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. ux User experience
Milestone

Comments

@bnvk
Copy link

bnvk commented Mar 23, 2016

While the current Qubes VM Manager works alright, there are a handful of bugs and it is not nearly as intuitive as it could be. Additionally, there are configuration settings that are missing from it and others that are a bit technical and overwhelming. Lastly, there are new big ideas like Recipes and installing apps that aren't taken into account at all.

UX Ideas / New Features

  • Splits up VMs into App Qube, Networking, Devices, Templates, Standalones
  • Choose applications to run by default on starting a Qube
  • Dropdown to choose Open URLs in [Qube Name]
  • Explain Power State of a Qube like Running, Paused, Dying, Crashed
  • Intuitive options to install software packages into Qube or Templates
  • Integration of Recipes that use the salt configuration Design and create salt formulas distribution method #1939
  • Opportunistically offer links to Docs / explainer content Improve introduction to Qubes in installer #1774
  • Last started / run
  • Make "updating" VM action simple / less steps (restart)

Require Modifications to API

Considerations & Issues

...there is probably loads more things and will update accordingly 😄

@marmarek marmarek added T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. C: manager/widget P: major Priority: major. Between "default" and "critical" in severity. T: task Type: task. An action item that is neither a bug nor an enhancement. release notes This issue should be mentioned in the release notes. ux User experience labels Mar 23, 2016
@marmarek marmarek added this to the Release 3.2 milestone Mar 23, 2016
@marmarek
Copy link
Member

Added ticket reference to the VM description idea.

@Jeeppler
Copy link

@bnvk the issue #899 is quite important for me. I have many many VM's and I would like to have a VM description similar to what VirtualBox offers. I created some simple GUI mock-up under: https://groups.google.com/d/msg/qubes-devel/t32l-0BjlLs/w3Rir4LhAAAJ . If I can help you in any way or work together with you on issue #899 please let me know.

Note: VM description means for me a text box not a descriptive VM title.

@bnvk
Copy link
Author

bnvk commented Mar 24, 2016

@Jeeppler thanks for the input and mocksup. I hadn't given much thought to Last started value, but I definitely see your point. I will try to work that into the new UI. I'm not that familiar with the VirtualBox UI, but I would be happy to checkout screenshots if you could take some describing what you mean.

I wonder if adding a user facing "group" value to VMs, such as Web Browsing or Work whereby a user would see all their web browsing related VMs (anonymous, social accounts, banking, etc...) would help. Not sure if this is ideal, but I wanted to jot the idea down!

@Jeeppler
Copy link

@bnvk VirtualBox provides a description box like shown here: https://software.grok.lsu.edu/image/19970.gif and https://programmaticponderings.files.wordpress.com/2013/04/view-of-oracle-vm-virtualbox-manager-for-windows.png , but it is not perfect and I was already designing my own idea as mock up. I would like to see the Last started value since this could be a good indicator for the question: Do I really need this machine?

I think furthermore that markdown support in the VM description would be nice. Maybe not full markdown support, but lists, code, bold text, italic text and heading support would be nice.

@Jeeppler
Copy link

"I wonder if adding a user facing "group" value to VMs, such as Web Browsing or Work whereby a user would see all their web browsing related VMs (anonymous, social accounts, banking, etc...) would help." I completely agree with you. This would be a nice idea. I would use the "groups" for filtering and define that:

  • each VM can be part of 0 to N groups

for example:

  • python-dev is part of: "Python", "Programming", "Development", "Work"
  • zololo is part of: "Python", "Programming", "Development", "Work", "Customer", "Project"

@mfc
Copy link
Member

mfc commented Apr 28, 2016

not seeing in the list:

  • know network state from first level of Network Manager

the user should not have to go to VM Settings of a particular VM to know if the VM is non-networked, going through sys-whonix, sys-firewall, etc.

I guess "grouping" VMs would be a potential workaround, if you create groups based on their networking state. But then they are not being based on user domain.

please ignore, hadn't adequately explored the existing Qubes Manager > View menu...

bnvk added a commit to bnvk/qubes-manager-new that referenced this issue May 5, 2016
bnvk added a commit to bnvk/qubes-manager-new that referenced this issue May 5, 2016
bnvk added a commit to bnvk/qubes-manager-new that referenced this issue May 5, 2016
bnvk added a commit to bnvk/qubes-manager-new that referenced this issue May 5, 2016
bnvk added a commit to bnvk/qubes-manager-new that referenced this issue May 6, 2016
bnvk added a commit to bnvk/qubes-manager-new that referenced this issue May 11, 2016
bnvk added a commit to bnvk/qubes-manager-new that referenced this issue May 11, 2016
added event stubs to those menus
added About dialog window

QubesOS/qubes-issues#1870
bnvk added a commit to bnvk/qubes-manager-new that referenced this issue May 14, 2016
@andrewdavidwong
Copy link
Member

User suggestions for improvements to the current Qubes Manager:

https://groups.google.com/d/msgid/qubes-users/57384F52.40907%40gmail.com

@bnvk
Copy link
Author

bnvk commented May 15, 2016

@andrewdavidwong thanks! Added that to my list + had already been working that exact thing into new Qubes Manager :)

bnvk added a commit to bnvk/qubes-manager-new that referenced this issue Jun 1, 2016
bnvk added a commit to bnvk/qubes-manager-new that referenced this issue Jun 1, 2016
added README notes from last chat with Marek

QubesOS/qubes-issues#1870
bnvk added a commit to bnvk/qubes-manager-new that referenced this issue Jun 1, 2016
@bnvk
Copy link
Author

bnvk commented Jun 1, 2016

@john-david-r-smith @dumbl3d0re @Jeeppler thank you for your feedback and suggestions. Great stuff in there @andrewdavidwong thanks for pulling in stuff from the mailing lists.

I made progress towards this issue, however, as of last week I am not officially working on it any longer as per @marmarek feedback / decision. Reasoning being: I am not a competent / fastest enough Python + Gtk developer (yet) and Qubes does not have the budget to hire additional engineers.

All the code I created exists in this repo and is signed with this key. I don't have wireframes or design comps (I was instructed to go straight to code) of what I was aiming for, so I will explain a bit:

Manager

An intuitive window that feels closer to a file system (as opposed to a list of VMs) that is categorized by qube type (AppVM, NetVM, TemplateVM, etc...). There is a secondary bar relevant to selected qube type (App Qube --> Attach Microphone) that are relevant to the current selected qube type. The biggest missing aspect is "qube state" (Running, Halted, etc...) as there were a few discussions / issues that would affect how this should be implemented best, IMHO see #1015 #1788 #1873

Doubling-clicking on a qube icon in the manager (pictured above) would open the following window:

Qube Overview

This window contains common qube type specific actions () and is similar to the "Basic" tab in the current VM Manager. This view was not meant to fully configure a qube, as those actions would happen via the multi-tabbed Advanced window:

Qube Advanced - Details
Qube Advanced - Networking
Qube Advanced - Applications
Qube Advanced - Devices

The other high level "sections" of the Qubes Manager are common, but discreetly different things, a user may interact with (Recipes, Backups, Global Settings) of which I implemented the later.

Manager - Global Settings

Most of these interfaces are still quite rough visually and have no integration with the actual Qubes dom0 API because the fedora-20 is not compatible with Glade (the Gtk GUI app) and fedora-23 not available for dom0 when I started. There is a rough start towards Recipes #1939 interface here:

Manager - Recipes

In my repo is a list of ToDo Items that @marmarek and I outlined as per this current implementation.

At present I am unsure of how the team wants to move forward, and who will keep working through these issues. Given my primary skillset being a designer who's most competent at web engineering, but is now moderately familiar with Gtk, Glade, and Python, the few directions I see this going are:

  1. I do not touch any of the code (python or Glade) while the core team finds someone else handle that. In which case, I can provide feedback & ideas via sketches and UI compositions
  2. I only work within Glade to add elements and polish how things look (margins, fonts, icons, etc...)
  3. I still do a bit of python as well as Glade, but is subject to review

All that said, since working on this will no longer be part of my paid salary, I am unsure how much time I will be able to commit to this, but I can try to help. I was very excited about where this is going and would love to see it implemented.

@Jeeppler
Copy link

Jeeppler commented Jun 2, 2016

@marmarek Why was he instructed to start directly with the coding part?

@marmarek
Copy link
Member

marmarek commented Jun 2, 2016

The intention was to have UI mockup in glade (not necessary functional) to not need to rewrite it later. In theory shouldn't involve much python coding and indeed those windows done such a way doesn't involve much.

@Jeeppler
Copy link

Jeeppler commented Jun 2, 2016

@marmarek what is the idea for the future?

@marmarek
Copy link
Member

marmarek commented Jun 2, 2016

We're looking for GTK developer to work on this task - there will be an announcement about this on ML.

andrewdavidwong added a commit that referenced this issue Jun 3, 2016
andrewdavidwong added a commit that referenced this issue Jun 3, 2016
@andrewdavidwong andrewdavidwong added the help wanted This issue will probably not get done in a timely fashion without help from community contributors. label Jun 7, 2016
andrewdavidwong added a commit that referenced this issue Jun 7, 2016
@andrewdavidwong
Copy link
Member

More user feedback in this thread regarding Qubes Manager (some users don't want it to change):
https://groups.google.com/d/topic/qubes-users/x2RR1udsQlY/discussion

@andrewdavidwong
Copy link
Member

andrewdavidwong commented Jun 23, 2016

@andrewdavidwong
Copy link
Member

Suggested feature:

Is it possible to add links of every VM that show at "start" menu also
to Qubes Manager at the right click menu as sub-menu of some parameter?
Right click on VM -> Menu -> Select "Apps" -> and get list of all
applications and possibility to start them from there?

@andrewdavidwong
Copy link
Member

@evadogstar wrote:

Suggestion:
Qubes Manager UX - Add possibility to sort meny items up and down.
It's useful in big list to keep some most used application at the top.
https://i.imgur.com/gctZoJl.png

@Jeeppler
Copy link

While switching to Xcfe as default desktop environment the Qubes Manager will be split and integrated in the XCFE start menu. So, is there any reason to keep this issue open?

@andrewdavidwong
Copy link
Member

@Jeeppler:

While switching to Xcfe as default desktop environment the Qubes Manager will be split and integrated in the XCFE start menu. So, is there any reason to keep this issue open?

Good question. As far as I know, we're still looking for a GNOME developer to implement a new Qubes Manager. Since, as you point out, the Qubes Manager's functions are to be decomposed into separate widgets in R4.0, I can only assume that the job of the GNOME developer will be to code the new decomposed widget system.

Even so, you're probably right that these two issues are probably now effectively duplicates.

CC: @rootkovska, @marmarek

@marmarek marmarek added the R: duplicate Resolution: Another issue exists that is very similar to or subsumes this one. label Jul 26, 2016
@marmarek
Copy link
Member

Yes, this is a duplicate now

@marmarta
Copy link
Member

marmarta commented Feb 3, 2020

Tagging @ninavizz

@andrewdavidwong
Copy link
Member

@evadogstar:

Now all tickets about Qubes manager closes? :(

What do you mean? This issue was closed as a duplicate 3.5 years ago.

@andrewdavidwong andrewdavidwong removed the T: task Type: task. An action item that is neither a bug nor an enhancement. label Jan 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: manager/widget help wanted This issue will probably not get done in a timely fashion without help from community contributors. P: major Priority: major. Between "default" and "critical" in severity. R: duplicate Resolution: Another issue exists that is very similar to or subsumes this one. release notes This issue should be mentioned in the release notes. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. ux User experience
Projects
None yet
Development

No branches or pull requests

8 participants
@bnvk @marmarek @mfc @Jeeppler @marmarta @andrewdavidwong @john-david-r-smith and others