Feature #15259

Add button in tails-persistence-setup to open the configuration interface of Additional Software

Added by sajolida 2018-01-29 10:42:22 . Updated 2018-03-06 14:13:59 .

Status:
Resolved
Priority:
Normal
Assignee:
intrigeri
Category:
Persistence
Target version:
Start date:
2018-01-29
Due date:
% Done:

100%

Feature Branch:
perl5lib:feature/14594-asp-gui, iuk:feature/14594-asp-gui, persistence-setup:feature/14594-asp-gui, feature/14594-asp-gui
Type of work:
Code
Blueprint:

Starter:
Affected tool:
Additional Software Packages
Deliverable for:
299

Description


Files

power.png (31467 B) sajolida, 2018-01-29 10:40:28

Subtasks


Related issues

Related to Tails - Feature #15314: Replace custom widget button in persistent wizard with standard GNOME switches Resolved 2018-02-15

History

#1 Updated by intrigeri 2018-02-02 05:55:43

I did not expect I would be asked to fully rewrite the GUI as part of Feature #14595 when I did my time estimates, but whatever: your proposal makes a lot of sense and indeed, the current design does not leave much room to add the widgets we need here, so yeah :)

#2 Updated by intrigeri 2018-02-02 05:56:09

  • Target version set to Tails_3.7
  • Deliverable for set to 299

#3 Updated by intrigeri 2018-02-02 05:57:16

  • Assignee changed from intrigeri to sajolida
  • Target version changed from Tails_3.7 to Tails_3.6

sajolida, once this is ready for implementation, please set Type of work = Code, Target version = 3.7, and reassign to me.

#4 Updated by sajolida 2018-02-04 19:56:34

  • File deleted (modern hig.png)

#5 Updated by sajolida 2018-02-04 20:09:00

  • Assignee changed from sajolida to intrigeri
  • QA Check set to Info Needed

I’m removing “modern hig.png” and instead you should refer to:

https://raw.githubusercontent.com/sajolida/tails-wireframes/master/additional%20software/png/persistent%20storage%20-%20configuration%20changed.png

There are 2 aspects to the changes that we are proposing:

First, the important one is to make space to have a button to open the configuration interface of Additional Software. We’re achieving this by replacing the custom widget that we currently have (a button with a check mark when selected) with a list of options with “On/Off” switches. I’m happy to discuss with you which other options would work for people while still being easier for you to implement.

Second, the bonus one, is the fact of removing the “Save” button and replace it with what is the consistent behavior of GNOME configuration interfaces these days: changing an option means applying it, without the need for an explicit “Save” action.

We’ve replaced the screen after clicking “Save” by a infobar asking to restart and a confirmation dialog if the “Restart” button is clicked in the info bar:

https://raw.githubusercontent.com/sajolida/tails-wireframes/master/additional%20software/png/persistent%20storage%20-%20confirm%20restart.png

This change is not required for the Additional Software feature to work and might be more work for you to do in the backend. Since we were redesigning and testing changes it made sense for us to include this change in our mockups even if you don’t have time to implement it.

Spoiler, my secret plan is to get rid of the need to call this a “wizard” and have it behave more like a regular GNOME configuration dialog: getting rid of the concept of having several screens in a sequence.

I’m aware that changing the “Save” button also relates to Feature #12448, but the interactions that we might propose for Feature #12448 will likely be different whether or not we have a “Save” button so settling on how easy it would be to remove it, will inform our design for Feature #12448 (which is anyway not planned any time soon).

What other information do you need before putting this in “Code”? If you need software comunication plans, you have to talk to Alan :)

#6 Updated by intrigeri 2018-02-13 14:48:42

  • Subject changed from Apply modern GNOME HIG to persistent storage configuration to Add button in tails-persistence-setup to open the configuration interface of Additional Software

#7 Updated by intrigeri 2018-02-13 14:50:16

  • Assignee changed from intrigeri to sajolida

> I’m removing “modern hig.png” and instead you should refer to:
> https://raw.githubusercontent.com/sajolida/tails-wireframes/master/additional%20software/png/persistent%20storage%20-%20configuration%20changed.png

> There are 2 aspects to the changes that we are proposing:

> First, the important one is to make space to have a button to open the configuration interface of Additional Software. We’re achieving this by replacing the custom widget that we currently have (a button with a check mark when selected) with a list of options with “On/Off” switches.

At first glance this seems doable. I have no idea how this relates to “make space to have a button to open the configuration interface of Additional Software”, to me this seems entirely orthogonal, but you’re the GUI design boss so it’s of course your call. Now I’m curious and I want to learn, so I’d love if you could explain the “We’re achieving this by” part.

I’ve retitled this ticket to better express what’s required for the sponsor deliverable (“make space to have a button to open the configuration interface of Additional Software”) and what’s something else.

> I’m happy to discuss with you which other options would work for people while still being easier for you to implement.

There’s another option that would be quite cheaper (and thus I would have more time to do whatever else you want me to on this project): keep the current custom on/off widget, add a column on the right that for each row can be either empty or display a “configure” button. I think I should anyway start by doing that: in terms of code, adding a dedicated on/off widget is orthogonal to adding the “configure” button.

So I propose I start by doing that (keep the current on/off widget, add a configure button), so we have something that satisfies “make space to have a button to open the configuration interface of Additional Software”, and then depending on how much time is left you can decide if I should replace the current custom on/off widgets with sliders. I expect I’ll need your input to make the decision at some point between March 2 and March 4. Will you be around so we can discuss it and decide promptly so I can allocate my remaining development time during that sprint in the best possible way?

> Second, the bonus one, […]

I’ll ignore this one for now: I think it’ll require a deep refactoring (but I can’t tell for sure before I see the proposed design). Feel free to track this on a dedicated ticket. That one could actually be titled “Apply modern GNOME HIG” :)

#8 Updated by sajolida 2018-02-15 12:56:25

  • Assignee changed from sajolida to intrigeri
  • QA Check deleted (Info Needed)
  • Type of work changed from User interface design to Code

I’m fine with you starting with adding another column to have a configure button on the right of the custom widgets.

Creating:

#9 Updated by intrigeri 2018-02-16 09:24:54

  • Target version changed from Tails_3.6 to Tails_3.7

#10 Updated by intrigeri 2018-03-04 09:40:35

  • related to Feature #15314: Replace custom widget button in persistent wizard with standard GNOME switches added

#11 Updated by intrigeri 2018-03-04 09:40:42

  • related to Feature #15313: Apply changes to persistent features without the need for a Save button added

#12 Updated by intrigeri 2018-03-04 09:41:59

  • Description updated

#13 Updated by intrigeri 2018-03-04 13:20:07

  • Status changed from Confirmed to In Progress
  • % Done changed from 0 to 10
  • Feature Branch set to perl5lib:feature/14594-asp-gui, persistence-setup:feature/14594-asp-gui, feature/14594-asp-gui

I have a working prototype that needs lots of polishing.

#14 Updated by intrigeri 2018-03-04 13:21:23

  • related to deleted (Feature #15313: Apply changes to persistent features without the need for a Save button)

#15 Updated by intrigeri 2018-03-05 10:25:30

  • Feature Branch changed from perl5lib:feature/14594-asp-gui, persistence-setup:feature/14594-asp-gui, feature/14594-asp-gui to perl5lib:feature/14594-asp-gui, iuk:feature/14594-asp-gui, persistence-setup:feature/14594-asp-gui, feature/14594-asp-gui

#16 Updated by intrigeri 2018-03-05 19:43:35

  • Assignee changed from intrigeri to sajolida
  • QA Check set to Info Needed

It works fine but I don’t know what should happenwhen the config of ASP fails, i.e. on the blueprint: “Notifications of failures” -> “When the Additional Software configuration GUI fails to do its work” -> “started from the persistence wizard”.

#17 Updated by intrigeri 2018-03-05 21:46:21

  • Assignee changed from sajolida to intrigeri

Hold on, Alan has a proposal that would work for me and mostly avoids asking this question.

#18 Updated by intrigeri 2018-03-06 08:58:13

  • QA Check deleted (Info Needed)

Implemented Alan’s proposal (tl;dr: Consider the ASP config GUI as an independent application; don’t wait for it to exit, don’t attempt to disguise the t-p-s window as if the ASP config GUI was a modal dialog, which it is not.)

Next step: test if it works in an ISO.

#19 Updated by intrigeri 2018-03-06 10:06:05

  • % Done changed from 10 to 20

intrigeri wrote:
> Next step: test if it works in an ISO.

It works but tails-additional-software-config crashes (missing tailslib.additionalsoftware.config). We’ll see once that is fixed.

#20 Updated by intrigeri 2018-03-06 14:13:59

  • Status changed from In Progress to Resolved
  • % Done changed from 20 to 100

Works for me!