-
Notifications
You must be signed in to change notification settings - Fork 46
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
Enable user to apply available updates without additional prompts #478
Comments
I've milestoned this as Post-Beta given the pending feature freeze; I do think it could be a nice win in our first release after the pilot launch. |
As a cleaner and faster approach, we discussed in sprint planning that it makes more sense to combine the "check for updates" and "apply updates" steps. We'll simply prompt the user to proceed or cancel once at the beginning of the process, and if they proceed, we do everything (uncancellable) in a single operation. This would reduce the number of VM restarts and should speed up the overall process. @ninavizz Let's talk about this a bit more and figure out what the dialogs would say, but I think that makes a lot of sense. Aiming to take a stab at this, this sprint. |
So, my thinking right now is that it makes the most sense to keep the two stages, but to execute the "Installing updates" stage immediately. There would be a "Cancel" button on the "Checking for updates" stage, and that button would be disabled during the "Installing updates" stage. Language below still very much WIP (@ninavizz and I are discussing), but to give you an idea: What I'm unclear about is if we really have to shut down the VMs in the first stage, as we're doing here. It seems like this (and the associated error tracking) could be deferred unless we detect that no updates are available. If we're smarter about shutting down VMs, I don't see any performance gains in merging the two stages into one. Keeping the "Checking for updates" and "Installing updates" stages separate gives us a few benefits:
Let me know if I'm missing something; will discuss more synchronously with Mickael, as well. |
Talked through this with @emkll and there is in fact a performance reason to consolidate the two stages: the
This would also greatly simplify the code and ensure we rely on upstream code as much as possible, which gets us closer to consolidating update strategies per #302. This does mean we would have to add a "Continue/Cancel" type screen at the beginning of each update, because the process would be un-cancellable once it's kicked off. |
The current update sequence is as follows:
We did this because updates can't be interrupted, so we wanted to give the user an explicit choice to end their session if they don't have time to run them.
Unfortunately, this has a major UX downside: we're demanding the user's continued attention during the process. I think anything we can do to reduce our demand on users' time and attention would be a big win.
An alternative approach would be to have a "Cancel" button during the "Checking for updates" stage, and to ask the user on that screen to cancel if they do not wish to apply updates. If updates are found, we would apply them immediately.
The text was updated successfully, but these errors were encountered: