Also Microsoft are victims of their own legacy, namely what they did with Internet Explorer. Changing the box model, not adopting standards, not fixing bugs, causing no end of headaches for people having to support IE and so on. Trust needs to be earned.
Apple had the same problem and briefly tried to have Safari on Windows but that didn't work out well and honestly I don't think they were ever that committed.
Firefox is a viable alternative bit they still do stupid shit. My favorite is prompting me to restart to install an update when I open it. Well I just opened the app to do something but sure I'll interior what I'm doing so you can install an update that you could've done when I wasn't using it (ie like chrome).
It's 2018. The era is office like updates is over.
If you install locally. Example downloading the nightly build to a local dir or installing in windows you may receive notifications of a new version when you open it but you can safely dismiss them with one click and update next Thursday if you like. At no point will it decide that its time whether you like it or not like windows update.
It's the best they can do. Windows carries a lot of baggage and bad decisions around its OS design. One of them is that when a file has an exclusive lock (eg an .exe file that's running) it can't be deleted. NTFS and Windows Kernel don't implement reference counting like a proper OS.
So Firefox (or any software package with in-place self-update functionality) needs to wait until the application is shut down to perform updates. Firefox team chose to do it before launching the app. They could have done it after closing it. Both approaches have their pros and cons so it's not easy to criticize them either way.
I know this because my company pushed out a Group Policy update a while back that removed the ability of users to add/remove scheduled tasks and it broke Chrome updates across the company.
Also, this problem (not being able to patch a running app) is unique to Windows because of its terrible file locking implementation (that are the result of a bad decision made decades ago!). In Linux you'll get Chrome, Chromium, and Firefox updates along with everything else and it won't disrupt your use in the slightest. You can restart the app to apply those updates at your leisure!
If the file name was the last hard link to the file, the file itself is deleted as soon as no program has it open.
The situation is not very different from now with Chrome implementing unfinished proposals.
When new APIs are in development (in a standards body) by all means implement the incomplete/early version in your browser! Just put a warning somewhere for developers that changes will happen and that they should expect to have to update their code along with the standard as each iteration comes out.
Microsoft made a huuuuuuuge mistake by implementing an unfinished API and then refusing to make breaking changes later. Breaking changes are to be expected when you do stuff like this!
Back when MS did this they were still highly arrogant about their position in the browser market and probably still thought they could get away with their usual "embrace and extend" bullshit... Where they decide "the standard" regardless of what any standards body or the rest of the world/community thinks.
BTW: I've recently found this MSDN blog with explanations on some of their decisions (https://blogs.msdn.microsoft.com/oldnewthing/)
Coupled with an indiscriminate upgrade policy it is actually reasonable to deprecate features from chrome.
Most of the things you said I agree. But honestly the box model is one of these. The additive model standardized by W3C isn't really popular in the web designer crowd. I cut my teeth in an era where W3C and standard compliance were huge things, so I accepted the additive model without question. Nowadays though many designers opt for Microsoft's "broken" box model aka subtractive model through the box-sizing property.
- Edge is (kindof) available on Android. It uses the Chromium engine, but includes bookmark and password syncing with the desktop version.
- Firefox will (depending on platform support) update in the background and notify you to restart (Windows), or it will apply the update at app start (macOS).
Similar to how pacman (by default) removes all modules for the current running kernel, during an upgrade?
..which then breaks pretty much everything that relies on dynamic module loading, such as USB.
It's similar to how, when you install a kernel update, new devices are not recognized anymore because the loadable kernel modules on disk are for the new kernel version, but you're still running the old kernel version. (There is the workaround employed e.g. by Debian where old kernel modules are left on the disk until they're cleaned up manually, but that opens the "manual cleanup" can of worms.)
It's 2018. If you don't want to deal with updates like that, then stop using a shitty OS like windows.