6 ms·
The real way to address this would be to not make users hate updates. That would mean doing as much of the work as possible in the background in a way that doe
by tgsovlerkhgsel 4y ago
The real way to address this would be to not make users hate updates.
That would mean doing as much of the work as possible in the background in a way that doesn't impact the user and making sure the reboot where it actually gets activated doesn't take noticeably longer. It would also mean not doing things that are against the user's interest like moving things around, installing new ads or misfeatures, or breaking things.
I don't know anyone who hates or wants to disable Chrome updates, for example (I'm sure such people exist, but it's much less common than Windows updates), despite Chrome updating way more often than once a month.
Of course, overcoming the aversion people built over years because of past bad behavior is going to be hard, but forcing people against their will and making updates more disruptive isn't going to help with that aversion. People really dislike being forced to do something, even if they don't actually mind the thing itself that much.
- kevincox 4y agoThis is the key. Lots of systems have seamless updates where the only real interruption is a reboot. Android does an A/B update and after a only slightly slow reboot is in the new version. It then does some optimization in the background that can have a slight performance impact. NixOS must be the gold standard here. It downloads and completely installs the new version in the background then a regular-speed reboot is enough to be running the new system. (~10s on my system) But Windows and macOS both have crazy slow update processes. When I had a mac for work I was dumbfounded by how slow the update process was. It regularly took >30min! Those machines are crazy fast, it seems like it could have written a TiB of data in that time so IDK what it is actually doing.
- atonse 4y ago100% agree with this. Point updates of macOS take 20+ minutes on an M1 Max with 32GB of memory and a blazing fast SSD. What could it possibly be doing? Even iOS updates are a bit faster. Is apple even interested in fixing this?
- shadowgovt 4y ago> What could it possibly be doing? If memory serves: point-symbol optimizations to make code calls into The objective-C libraries performant. Under The hood, objective-C really does use strings to reference library functions. So when the OS is updated, the string interning table is updated and all of the installed software has to have its string to symbol caches rewritten to account for the new API. There are almost certainly better ways to do this but if I understand correctly, Apple inherited the existing solution without putting enough thought into how it would scale and now changing the solution would break an indeterminate amount of software depending upon the current implementation.
- saagarjha 4y agoNo, installed software is not patched on updates.
- shadowgovt 4y agoNot "installed software patched;" caches rebuilt.
- saagarjha 4y agoThey come from Apple on a signed system image that cannot be modified.
- shadowgovt 4y agoSorry, can you clarify? What is the "they" in that sentence? EDIT: a sibling comment jogged my memory; the thing I was doing a bad job of remembering was prebinding. https://opensource.apple.com/source/cctools/cctools-622.5.1/RelNotes/Prebinding.html https://opensource.apple.com/source/cctools/cctools-622.5.1/... When a new version of the OS is installed, the OS re-runs prebinding for applications to the dynamic libraries they rely on because the dynamic libraries may have changed. The alternative is to have a big latency bump every time an app is launched for the first time as the caches are rebuilt on-the-fly. (I think this is the step that used to be called "Making Your Macintosh Happy" during an install, but the veracity of that notion has fallen too far down the Google search hole for me to easily pull up a reference to confirm or deny it).
- pooper 4y agoI think practically all the problems with Windows will go away with one simple change. Do not ever reboot a computer without a user's consent. Any feature that requires automatic reboot should be opt-in. However, this exposes the real challenge. We cannot have informed consent without informed users. I think this problem will haunt us repeatedly in the future. We need users to know at least a little bit about their options. Only then can they make informed choices on what option to pick. This means people can't glaze over the details and not worry about them. This does not mean you have to be a computer wizard. You just need to know what you want and pick an option that is good for you. For example, I run this on Fedora: sudo dnf offline-upgrade download -y && time sudo dnf offline-upgrade reboot Any update requires a reboot. However, I am ok with it because I am positive each update comes after a lot of testing. More importantly, I am in control of when to run this update. I can't accidentally run it because it requires my sudo password. I used to wonder why no corporation complains about Windows Update. Then I learned that virtually all companies use group policy to change Windows Update behavior to suit their organization. Therefore, this is a non-issue for them. Welp.
- hinkley 4y ago> Do not ever reboot a computer without a user's consent. That also includes never crashing, which Microsoft has historically struggled with. If you don’t reboot in an orderly way, then the machine crashes while the user is doing something, and when it restarts everything is different. “Don’t restart” is insufficient for good UX here.
- TheRealDunkirk 4y agoThe problem here is that a modern OS should only need to be rebooted when the kernel is updated, and Microsoft's security model requires updating the kernel all the time. On Linux, kernel security updates are usually, "Hey, update this when you get a chance, because a bad actor already on your system could escalate privilege in a rare scenario." With Windows, it's an almost-weekly, "Hey, update right now, because someone in another country is pwning all unpatched machines that aren't air-gapped from the internet."
- 4y ago
- jeffbee 4y ago> despite Chrome updating way more often than once a month. Chrome updates approximately every month unless there is a security issue that has to be pushed out faster. https://en.wikipedia.org/wiki/Google_Chrome_version_history https://en.wikipedia.org/wiki/Google_Chrome_version_history
- tgsovlerkhgsel 4y agoSearching https://chromereleases.googleblog.com/search/label/Stable%20updates https://chromereleases.googleblog.com/search/label/Stable%20... for "Stable channel update for desktop" shows 4 updates in the last 30 days.
- jeffbee 4y agoYeah, it's been a bad month for using after freeing.
- deleted 4y ago[deleted]
- greendave 4y ago> The real way to address this would be to not make users hate updates. That's basically not possible in some cases. Not all of us are on super-fast broadband, even in places that are nominally 'first world'. The _best_ my parents can get is 8Mbps on DSL. Every time an update starts auto-downloading, you know immediately because all other connections grind to a halt. (Now why a minor point update security fix for Monterey is 1.6GB I have no idea. But presumably that's not something Apple is capable of/interested in fixing)
- recursive 4y agoWhy does that have to be done when they're awake?
- callmeal 4y ago>I don't know anyone who hates or wants to disable Chrome updates That would be me for one. I hate it when google sneaks in privacy reducing preferences that are automatically turned on. I like to occasionaly go through settings to see what has changed and was surprised when an update showed up a whole host of new active features. Why on earth should usb ports on my laptop be automatically exposed to any web page that demands it? Chrome can do that now. And not just usb/serial/midi ports, and motion sensors, chrome has also enabled 'presence' (a way for sites to know when you're actively using the browser). I found that creepy.
- Nzen 4y agoMy first thought ends with 'enabling yubikey-style mfa', but it seems that some [0] hardware vendors use webusb to enable a binary protocol, rather than translating their usb sensor output into (keyboard) scancodes. [0] https://en.wikipedia.org/wiki/WebUSB https://en.wikipedia.org/wiki/WebUSB
- ryandrake 4y agoSoftware companies' bad behavior has trained me to no longer trust updating. I would love to auto-update my software if I had some kind of assurance that all I was getting in those updates were security fixes. But instead, companies abuse auto-update to shovel everything else at me too: Unnecessary UI changes, new features I don't want, removal of old features I regularly use, larger binaries, slower binaries, and so on. More software companies need to get on board with the idea of having a separate maintenance branch and "next version" branch. Too many of them just develop on trunk and every time you update for bug fixes and security, you get all the other crap their developers have been working on too.
- shadowgovt 4y agoFunny enough, I was trained off of that not by software companies, but by the open-source community. Too many instances of installed Linux distros breaking because some foo relied on some bar that the distro declared should work fine but must have slipped through the testing cracks somehow. Or I'd gone off-book on some custom project or other because it relied on library versions that weren't in the distro, then I forgot I did that and updating the distro libs broke my project. I basically never run the apt updates these days.
- newt_slowly 4y agoChrome seems to me to be an example of how some users will never update regardless of how easy upgrading is. I can't count how many colleagues, when screen sharing, always have the red icon in their Chrome window showing that they need to update. It doesn't matter how easy it is - they just won't do it. Just to be clear, this isn't an argument that as a result updates should be forced.