Hacker News new | ask | show | jobs
by mort96 89 days ago
Mobile safari is arguably the only thing standing between Google and total browser dominance. It's the reason why Google "only" has roughly 75% of the mobile browser market even though it has a 90% market share in desktop. I'm principally against the idea that Apple can prevent users from installing the software they want on their own devices, but we can't deny that it's better for the health of the web.

Anyway, if you want to exclusively argue "Users should be able to install the browser they want", that's fine. But you're not; both your comment and the pwa.gripe page brings up how Apple is "crippling" their own web browser. Since you use the same wording as pwa.gripe, I assume you too view the lack of non-standard Google-only features as "crippling mobile Safari". I disagree.

2 comments

> Mobile safari is arguably the only thing standing between Google and total browser dominance

"Apple Is Not Defending Browser Engine Choice"

https://infrequently.org/2022/06/apple-is-not-defending-brow...

You seem to be conflating my opinion of "iOS's lack of browser choice has the consequence of preventing Chromium from achieving total dominance" with some imaginary other person's opinion of "iOS's lack of browser choice is a benevolent act where good guy Apple valiantly defends the open web". I do, frankly, think that mobile Safari couldn't compete that well in an open market, just like desktop Firefox can't. (Not purely because Firefox is technically inferior, mind you; products don't compete purely on technical merit.)

I think Chromium out-competing every other browser engine is a bad thing.

Let Google dominate the web. If that’s a problem we can sort that out. But two wrongs don’t make a right.
As the ball of mud that is web standards grows, the less likely that it becomes that things can “sort themselves out”. Even as things are you need a literal army of developers to build and maintain a modern standards compliant browser, making any real threat to Chromium dominance unlikely, and that only intensifies as Google rolls ever more crap into the katamari. If users can then be harassed into switching to Chromium based browsers it’s likely that it will never be toppled short of some new technology superseding the web entirely.
If Google abusing it’s dominant position in web browsers is a problem then the solution is legislation and anti trust action. Letting Apple abuse its own position because it currently provides benefit is not a good approach.

Same thing played out with ads and tracking a few years ago, and now look at the ads situation in the App Store.

Do you remember Internet Explorer before Edge? Jeez I never want to go back to that. And that’s what we’d end up with in a browser monoculture.
Fix their dominant position through legislation, not with more monopolies and anticompetitive behavior.
Are you talking about Google or Apple? Because Apple is being sued by the DOJ for monopolistic and anticompetitive behavior. There are numerous examples of it spelled out in the lawsuit:

https://www.justice.gov/archives/opa/media/1344546/dl?inline

> Let Google dominate the web

No thanks

Fix their dominant position through legislation, not with more monopolies and anticompetitive behavior.
I can do neither, actually. I can merely observe reality as it is and look at which forces affect the direction of the world. And right now, I observe a reality where one of the most significant forces which counteract a completely Chromium dominated web is Apple's user-hostile insistence on preventing browser engine competition on iOS.

I have very little faith in a legislative solution here since I believe politicians care about browsers, not browser engines. They see Chrome, Brave, Vivaldi, Edge and Opera and see a diverse marketplace with sufficient browser competition. They don't seem to care about the technical monoculture behind it all.

> I think Chromium out-competing every other browser engine is a bad thing.

Hmm. I believe that Apple can compete with Google if they want to. They have the money, they have the marketing chops, they have the incentive ($20B search engine deal) and they are the default browser.

(also, they have trained iOS users that Safari is the only default browser on iOS for 14 yrs by not allowing other browsers to be set as the default)

All Apple has to do is actually compete, not just rely on their monopoly.

I mean, keeping one monopoly at bay (Chromium) with the other (WebKit requirement) isn't really how this is supposed to work, right?

> Hmm. I believe that Apple can compete with Google if they want to.

I don't think that would happen. I don't have much faith in Apple's abilities in this area, and their incentives are structured such that the less viable web apps are as a replacement to native apps, the more money they get from their 30% cut.

Again, your arguments would make sense if my opinion was: "good guy Apple valiantly defends the open web from Google out of the goodness of their hearts". But that isn't my argument. I don't care whether Apple could compete with Google if they tried. I care whether Apple would compete with Google, and they wouldn't.

> I mean, keeping one monopoly at bay (Chromium) with the other (WebKit requirement) isn't really how this is supposed to work, right?

WebKit isn't a browser monopoly, it has less than 20% of the browser market share. That 20% share is big enough to push web developers towards making websites work in browsers other than Chromium, but it's not big enough that there's a danger of web developers thinking, "everyone uses WebKit anyway so we won't bother testing on anything else".

Sure, it's a monopoly on iOS, but I don't see how this is relevant to my argument. The web is more important to me than iOS is.

> I care whether Apple would compete with Google, and they wouldn't.

They receive $20B a year from Google (search engine deal). Some estimates put WebKit/Safari's budget at $500M. That's a rounding error away from $20B of pure profits. I completely agree that Apple is not in it for the good of the web. They are in it for $20B a year.

And even if they wouldn't want to compete: fine. Let them give up. Make room for browsers that do want to compete (or at least, let them try).

> WebKit isn't a browser monopoly, it has less than 20% of the browser market share.

That monopoly on iOS is enough, though. The web has to work on iOS because the wealthiest users have an iPhone, and all they have is WebKit. I work at a place where most of our users are on mobile, and most of them are on iOS. So WebKit sets the bar for what we can do. In other words, Apple is in full control of what we are able to do. Building features for Android users is often not worth our time and money, so we just don't build it.

> And even if they wouldn't want to compete: fine. Let them give up.

Again, this leads to Chromium out-competing everything else and getting as entrenched in mobile as it already is in desktop. This is a bad outcome.

> I work at a place where most of our users are on mobile, and most of them are on iOS. So WebKit sets the bar for what we can do.

In other words, Apple has successfully prevented you from writing a web application which only works in Chromium. This is a good outcome.

You clearly haven’t tried to design anything complicated that has to run on safari iOS. Safari iOS is a massive piece of shit. I’ve been working on a web game for a while now using canvas and most of my pain comes from making it compatible with safari. So much stuff is broken on safari so you have to find work arounds. Like a simple but annoying one, CSS filters don’t work on canvas so you have to write all those filters your self and apply them by using imgData.

Also the constant crashing when using canvas and the web audio api, it’s a disaster to be honest and it feels intentional, like they want me to write an app instead so they can rent seek.

As a non-web developer I'm interested if anyone can answer this question:

  If you're designing for <X> browser, how hard is it to make it work on <Y> browser?
Answering with at least {Chromium,Safari,Firefox}

Because if it's hard when targeting Chromium and adapting to {Safari,Firefox} but easy when targeting Safari and adapting to {Chromium,Firefox} then honestly it seems like Chromium is the problem.

What I want to distinguish is the biases in being used to programming in one environment and actual ease of programming for an arbitrary browser. Regardless of what official standards are, there are "in practice" standards, what is used in practice.

What would be nefarious is if Google is promoting people to program in ways that are not compatible with other browsers, cementing its monopoly. (This may even be achieved without explicit direction. Achievable simply by Chromium devs building tools for devs but not carrying about compatibility with other browsers). After all, the web is for everyone, but just because it's open doesn't mean monopolies/oligopolies/collusion/<other nefarious actions> can't happen.

Tdlr: does developing on chromium encourage browser incompatibility?

> Because if it's hard when targeting Chromium and adapting to {Safari,Firefox} but easy when targeting Safari and adapting to {Chromium,Firefox} then honestly it seems like Chromium is the problem.

Exactly. Test and develop against Firefox and/or Safari first and Chrome afterwards. If it’s not a true web standard and isn’t widely implemented, don’t use it.

The web worked fine for decades without smart fridge integration or whatever weird thing Google has decided that browsers must be capable of most recently.

It's not easy, though. Most of my day job is spent trying to get html interactives on an e-learning platform to work reliably with iOS's ridiculous nonstandard interaction rules around when media is allowed to play. It's worse than working with the 20 year old jsp+servlet system that serves the interactives and business logic. no other browser behaves like iOS safari and to debug and develop against it you need an ios and macos device sitting on your desk. Firefox and Firefox on Android are a breeze but a rounding-error in our usage metrics, even accounting for our development. Apple desparately hobbles the web platform to collect IAP taxes.
> with iOS's ridiculous nonstandard interaction rules around when media is allowed to play.

Are there any standard interaction rules on when media is allowed to play? I thought everyone implements it differently based on their own ideas of security and user engagement

The problem is not Google, I hate Google so I’m not white knighting them or anything but a lot of basic things are just badly implemented on iOS safari. Also if something works in chrome it probably works in Firefox as well. The only odd duck is safari and people who defend clearly have no experience trying to develop for it.
Making things work in chrome and Firefox is trivial and is never hard but when it comes to safari you have to figure out the special dance to make things work properly even when targeting it first.

No developing for chrome does not encourage browser incompatibility.

Odd, because I hear so much about Firefox breaking. I'm a daily user so I don't know what they're talking about but still
The argument which has been provided so far about why Safari is crippled is that it does not implement non-standard Chromium-only features. There are other problems with Safari, but they are not found in the page we are discussing.
I compiled a "short" list of why amd how Safari is crippled. Not entirely on topic for the post, but seems appropriate as a reply on this particular comment ;)

https://webventures.rejh.nl/blog/2024/history-of-safari-show...

This article is quite literally the only one that actually discusses actual Safari problems.

And even this article falls prey to "failures in web platform tests" which are a very poor indicator. E.g. Safari passing all accessibility tests is much more important than Safari failing most accelerometer tests that only Chrome passes (because this is Chrome-only API).

The WPT graph shows failures for tests that fail in only one browser. So the accelerometer tests, for example, would need to pass in both Blink and Gecko for it to count as a failure on Safari's part.
This is excellent!
Seeing that there are cross platform game engines, it seems to me that making a web game is not the best way to go. How do you plan to monetize it? Get people to put their credit card on your website? How is your web game performing on Android? Have you tested the performance on the typical mid range Android phone?
Why isn’t it the best way to go? I’m not a fan of those web game engines so I made my own.

I have various avenues of monitization; sponsored ads and letting players buy cosmetic items.

I have yet to test it on android because my priorities are making it work on desktop and iOS first and then android after. Why? because of my past experiences with making games.

Monetization? But does making your own engine “make the beer taste better”? Does it lead to a better experience for the users? Does it give you an advantage in the market?

You really don’t think you need to consider the hardware capabilities of the average Android phone?

Hint: Facebook rewrite their apps years ago to not use web based technology because performance was horrible on the average Android phone.

Yes it does because it’s optimized and efficient because there is no bloat, everything in the engine is there to serve this specific game.

I will eventually test it on android but I don’t see why it would not work with out any issues.

I wouldn’t use Facebook as a reference, I have an inside joke that they have the worst programmers. They managed to make a site that shows text and images make my computers fans spin which is honestly just embarrassing all things considered.

You really don’t see how inefficient it is running a game on a web browser compared to a game engine running native code for the platform? And you think you are going to write a better performing game engine in a web browser?

> Yes it does because it’s optimized and efficient because there is no bloat, everything in the engine is there to serve this specific game.

Everything is there to serve your game except the entire web browser.