Devs, particularly those with pressure to ship or who don't know better, unfortunately see 'it works in Chrome' as 'it works', even if it is a quirk of Chrome that causes it to work, or if they use Chrome related hacks that break compatibility with other browsers to get it to work in Chrome.
- Sometimes the standards don't define some exact behavior and it is left for the browser implementer to come up with. Chrome implements it one way and other browsers implement it the other way. Both are compatible with the standards.
- Sometimes the app contains errors, but certain permissive behaviors of Chrome mean it works ok and the app is shipped. The developers work around the guesses that Chrome makes and cobble the app together. (there may be a load of warnings in the console). Other browsers don't make the same guesses so the app is shipped in a state that it will only work on Chrome.
- Sometimes Chrome (or mobile Safari) specific APIs or functions are used as people don't know any better.
- Some security / WAF / anti-bot software relies on Chrome specific JavaScript quirks (that there may be no standards for) and thinks that the user using Firefox or another browser that isn't Chrome or iOS safari is a bot and blocks them.
In many ways, Chrome is the new IE, through no fault of Google or the authors of other browsers.
This is a lesson in capitalism. It’s so much more profitable to ignore small users bases when you can just tell them to “try switching to Chrome”.
I think you’re wrong about Safari itself being the reason chrome isn’t a 90%+ market owner; rather, it’s apple’s requirement that no other browser engine can exist on iOS.
Other browser engines can exist. JIT has to be the system’s. Others can use Apple’s JavascriptCore to gain access to it and do whatever they want on top.
> I think you’re wrong about Safari itself being the reason chrome isn’t a 90%+ market owner; rather, it’s apple’s requirement that no other browser engine can exist on iOS.
It sounds like capitalism has so far saved us from a Chrome monopoly, then.
To nitpick, you mean "unfettered capitalism". As in no government involvement. Which has the identical problem to unfettered anarchy: coalitions form, creating governments. Since many markets have network effects (e.g. bulk purchasing gives lower price per unit) a monopoly tends to be one of the possible steady state solutions. But any monopoly can choose to become a governor of their market, being able to impose regulation even through means other than government (e.g. pull resources, poach, lawsuits, or even decide to operate at a loss until the competition is dead (i.e. "Silicon Valley Strategy").
I just mention this because it's not a problem exactly limited to capitalism. It's a problem that exists in many forms of government and economics (like socialism). It just relies on asymmetric power
Yup. It's quite obvious that such unfettered, true capitalism quickly decays to the good ol' rule of warlords.
There should be a name for this kind of fallacy, where you look at a snapshot of a dynamic system (or worse, at initial conditions), and reason from them as if they were fixed - where even mentally simulating that system a few time steps into the future makes immediately apparent that the conditions mutate and results are vastly different than expected.
No, Safari is the new IE, nothing works on it, it's full of bugs and Apple is actively preventing web standards to move on.
Do you remember how much Apple prevented web apps to be a thing by blocking web push, and breaking most things if run in PWA mode?
Apple are by far the worst offender and I can't wait for Safari to die
I made a reader app for learning languages. Wiktionary has audio for a word. Playing the file over web URL works fine, but when I add caching to play from cached audio blob, safari sometimes delays the audio by 0.5-15 seconds. Works fine on every other browser.
- Sometimes the standards don't define some exact behavior and it is left for the browser implementer to come up with. Chrome implements it one way and other browsers implement it the other way. Both are compatible with the standards.
- Sometimes the app contains errors, but certain permissive behaviors of Chrome mean it works ok and the app is shipped. The developers work around the guesses that Chrome makes and cobble the app together. (there may be a load of warnings in the console). Other browsers don't make the same guesses so the app is shipped in a state that it will only work on Chrome.
- Sometimes Chrome (or mobile Safari) specific APIs or functions are used as people don't know any better.
- Some security / WAF / anti-bot software relies on Chrome specific JavaScript quirks (that there may be no standards for) and thinks that the user using Firefox or another browser that isn't Chrome or iOS safari is a bot and blocks them.
In many ways, Chrome is the new IE, through no fault of Google or the authors of other browsers.