[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Easier installer?



On Thu, Nov 16, 2017 at 01:17:47PM +0100, Samuel Thibault wrote:
> Wouter Verhelst, on jeu. 16 nov. 2017 12:53:16 +0100, wrote:
[...]
> > since, in essence, we'd just be providing an alternate UI to the same
> > installer, people who need some of the more advanced options can ditch
> > the hand-holding UI and switch to the advanced UI. We could add a
> > button "skip this screen" to make that easier, if needs be.
> 
> That actually triggers me another thought: the installers you are
> talking about ask basically the same set of questions, not so much
> less. The main difference is that they are asked together in a dialog
> box. I can understand that this can be less stressing for inexperienced
> users: it's easier to leave things as defaults when it's all preset in a
> dialog box and you just click "ok" than when one has to answer questions
> one after the other, which can be stressing.
> 
> I can understand that *that* can make a difference, and that could be
> implemented indeed, to preseed the rest of questions. The difficult part
> is to make sure that all such questions will be preseeded.

So, I've been thinking about how we could implement something like this
without requiring what in essense would be a rewrite of d-i, and this is
what I came up with:

- Create a new udeb for an overview screen, and make it show up early in
  main-menu so it gets run "fairly early"[1].
- In that overview screen, show the status of the "most important"[1]
  settings. Make these populated by files that are written by the
  particular udebs, similar to how partman populates its main menu.
- Allow those udebs that are shown in the overview screen to also set a
  flag file which causes their option in that screen to be marked as
  "confirmation required". You cannot confirm the overview screen until
  none of its options have the "confirmation required" flag set.
- Selecting a particular option in the overview screen causes the
  installer to configure the selected udeb, as though it was selected
  from the main menu.
- Once the user confirms the overview screen, set the debconf priority
  to critical and quit successfully. The installation is handed over to
  main-menu, which will now run normally without asking any questions
  (unless an error occurs).
- If the user selects the option "skip this screen", do not touch the
  debconf priority and quit successfully. The installation is handed
  over to main-menu, which will now run normally, asking questions as
  before.

[1] what consists "fairly early" and "most important" are
    implementational details that can be fine-tuned later on and are not
    important for this discussion.

With that plan, the only changes that would be required would be to:

- Implement the required logic behind the overview screen. Much of this
  could be copied from main-menu
- Make sure that the "skip this screen" option can be easily preseeded,
  so that preseeding still works.
- Modify the relevant udebs so they write their status and optionally an
  "update required" flag file in the right location for the overview
  screen

Everything else would function as before. In a first implementation,
this would already be quite some improvement I think.

In addition, I also think it would be beneficial if we were to add
another type of debconf template that could be used by that overview
screen instead of the "select" template that we use now for main-menu
and partman-base, and which would allow for a more modern and shinier
type of user interface. It could also be used by partman, then.

This can be implemented later, however.

Thoughts?

-- 
Could you people please use IRC like normal people?!?

  -- Amaya Rodrigo Sastre, trying to quiet down the buzz in the DebConf 2008
     Hacklab


Reply to: