-
Notifications
You must be signed in to change notification settings - Fork 131
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
Updating UI should be very Thoughtfully Considered #22
Comments
Thanks for taking the time to write this. A few questions:
By this do you mean nothing happens unless the app developer creates an event handler that then calls If so, what would a good recommend default handler look like? Something like this? require('update-electron-app')()
.on('update-downloaded', updateOnQuit)
function updateOnQuit () {
app.on('will-quit', () => {
autoUpdater.quitAndInstall()
})
} |
You don't need a default handler, |
@MarshallOfSound are you saying that a successfully downloaded update will be applied automatically no matter what when the app restarts? The documentation on this is sparse, so whatever mysteries we uncover here should be upstreamed into the docs on electron/electron |
Yes on windows, Yes on macOS as well, just tested it 👍 |
Opened electron/electron#12783. Had I known this was the default behavior, I probably would not have implemented the dialog in this module! cc @leo |
Was a public method (as an init param) ever provided to handle when an update is available? |
i created a proposal to improve the api to allow for more control over the update process at #164 |
Hi! I love that someone is trying to make the update process more straightforward and easier to set up for Electron developers. As one of the original authors of Squirrel, I'd like to share a bit of the philosophy of Updating that might inform some of the design decisions around the default update experience.
The Zen of Updates
One of the things we always tried to make possible in Squirrel is, "Never get between a User and their Work". Users open apps because they want to get something done, and we as developers want to respect their time. Software Updates by unfortunate necessity get in the way of that - we're asking the user, "Please, stop thinking about your stuff, and think about my stuff instead"
To that end, Squirrel makes it possible (but not required!) to do completely silent updates in the background. While that's not appropriate for every application, it's a great experience for those that can do it, because users Don't Have To Think. When we do have to pop an update dialog, we should do it at a very context-appropriate time - for example, in a music application, a good time to show an update dialog is at the end of the album / playlist: the user finished what they wanted, and they have to interact with an app anyways to do The Next Thing.
What To Do
So, I suggest that:
This lets people who want that dialog as maybe a way to get started, to get it with a one-liner, but still let people have silent background updates if they think it's appropriate for their app (PS: it probably is!)
Why It Matters So Much
Defaults are important - even if some People Who Care make a great experience, we know that the vast majority of people are going to just do whatever update-electron-app leads them to by-default. This means we have a huge opportunity to make the update experience for lots and lots of new Electron apps Great By Default, which is extremely rad and good!
The text was updated successfully, but these errors were encountered: