Last active
June 19, 2026 21:31
-
-
Save zorgiepoo/57ddb7c3f7544fa0fb450bfcd4320968 to your computer and use it in GitHub Desktop.
Re: Providing new updates are available in inlined UI (or window titlebar)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| To my knowledge some apps do use Sparkle to provide new update reminders in | |
| an inlined view way (e.g Nova, ChatGPT, Ghostty). Sparkle provides ways for | |
| developers to to implement lightweight reminders[1] (like a window title badge | |
| to redirect to the standard UI) or custom UIs[2]. But it's not automatically | |
| built in nor the default. | |
| For some apps I use, I prefer Sparkle to automatically download & install | |
| updates silently on quit and reduce prompts/badges altogether, and this is one | |
| of the opt-in options it provides to both developers and users. Some apps can | |
| be very long running though and some developers want to notify those users of | |
| updates more often, so Sparkle will notify them after a long time interval | |
| (1 weekish by default). You may even be using apps that silently update, and not | |
| notice. Other users may not like silent updates because they *really do* want | |
| to install updates manually and read the release notes. | |
| I have also used some apps that frequently post a window title badge reminder, | |
| and it sounds nice, but in practice at least for short running apps I have | |
| found this to be tiring/intrusive, with an "unread" app badge prodding me to click an | |
| additional button to update/dismiss (potentially multiplied if it's a document | |
| based app). Often these apps also don't show me any release notes (why not try | |
| to update silently and defer reminding me for as long as possible?). If the | |
| app doesn't also try to install updates automatically when feasible (worse if | |
| the app also removes exposing the option to), some users may not take action. | |
| Sometimes lightweight reminders are more appropriate though. | |
| Other cases to consider are apps that don't really have primary windows or are | |
| mostly menu bar apps. Or for when updates cannot be silently installed due to | |
| requiring authorization and thereby needing to bring an update directly to the | |
| user's attention (else some users may not give enough notice). Sparkle doesn't have | |
| the affordances of a built-in privileged system updater or installing a permanent | |
| daemon per-app, and its current standard UI "fits all". | |
| In the last few years I have made small improvements to reduce some of the | |
| unexpected interruptions & focus stealing, improve multitasking, and making | |
| the relaunch instantaneous in the common case. Its design has mostly stayed | |
| the same (since when self-updating of macOS apps itself was rare) and there | |
| are still problems, although Sparkle is still liked comparatively. (As I am | |
| typing this gist, I have a non-Sparkle app that is repeatably bouncing in the | |
| Dock asking for me to switch to it and install an update from a modal dialog | |
| without letting me use other parts of the app) | |
| I'm not totally against an easier/universal built in UI for gentler update | |
| alerts but it needs a proper discussion (on Sparkle's GitHub), enough buy-in, | |
| and consider all real-world constraints. For now Sparkle provides ways for | |
| developers to customize the UX. Maybe this is even the right level of support. | |
| Given that this is discussing about Sparkle inserting UI directly in one of | |
| the app's own UI controls (not necessarily a titlebar), many apps may | |
| want/need to do this in a specifically tailored way and across multiple UI toolkits. | |
| There are also other things on my priority list that indirectly impact this UX, like | |
| potentially improving how Sparkle "refreshes" updates if a new update hasn't been installed | |
| by the time another even newer update is available. | |
| [1]: https://sparkle-project.org/documentation/gentle-reminders/ | |
| [2]: https://sparkle-project.org/documentation/custom-user-interfaces/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment