Hacker News new | ask | show | jobs
by sunaookami 323 days ago
If Safari can only survive because Apple has a monopoly on browsers on iOS then it's a shit browser.
3 comments

Firefox is overall a fine browser. Still has 2% marketshare.

There's also the fact that websites themselves need to be mindful of multiple browser engines existing because of Safari. Once users are able to install Chrome on iPhones, developers will just abandon every other engine wholesale.

Google has been bombarding Firefox users with "Upgrade to Chrome" notices on their properties. Google kept having "oopses" that blocked browsers based on User-Agent strings, rather than capabilities.

Google also plays "fire and motion" with Web standards. They have a tendency to use non-standard(-yet) features on their websites. This gives them a perfect excuse to make other browsers look technically inferior (when the features are missing or the browser is blocked) or slow (when the features are implemented using inefficient polyfills). The unfairness is the one-sided choice of using whatever cutting-edge or Google-specific feature Chrome has, while they'd never do this in other direction. If Firefox implemented a new feature first, Google would never tell Chrome users that Chrome sucks and they need to upgrade to Firefox.

> Once users are able to install Chrome on iPhones, developers will just abandon every other engine wholesale.

This is the thing that is most concerning. We’ve seen this happen before. We ended up with an Internet Explorer monoculture that paralysed front-end development for over a decade. Huge numbers of developers were happily writing Internet Explorer-only websites and didn’t care about any other browser at all. There’s a real danger that this ends the open web and turns it into a Chrome platform controlled by Google.

IE was bad because development stopped for years and nobody could use modern web standards without supporting IE.
> Firefox is overall a fine browser. Still has 2% marketshare

Firefox used to have a 25-30% share before Mozilla shat the bed by neglecting it while treating Firefox like a money-piñata to fund a series of dead-end, copy-cat projects in their big-tech cosplay era.

Blaming Chrome for Firefox and Safari being shit (as reflected by the percentage of users who voluntarily use the respective browsers) removes their culpability. Chrome had to grow their share from 0%.

Chrome did that three ways: 1) performing better and crashing less than mainstream alternatives (just IE and Firefox, then) on non-Mac platforms (so, most desktop computers) for a good long while; 2) aggressive advertising to trick people who don't actually give a shit what browser they're running (or even know) into downloading it because "google said it would make my gmail work better" or "I dunno, google just told me to download this so I did"; and, later in the race, by 3) being the default on most Android installations.

One of three major factors involved actually being good, and I'd bet the other two factors overwhelm that one.

Many people have memory-holed Chrome's malware-grade tactics like including an installer in unrelated sourceforge downloads and now think that Chrome won strictly on its merits.
People have similar misconceptions about Google search.

The reality is that both had significant advantages over their competition when launched, but the company also used anticompetitive tactics to ensure dominance once those gaps closed.

I forgot how often individual webpages could take down your entire browser! On Chrome, it'd just crash the perpetrator tab. Chrome was also fast - really, really fast. Even if one was "tricked" into using it, you wouldn't want to go back to using other browsers - they put in the work.

> One of three major factors involved actually being good, and I'd bet the other two factors overwhelm that one

Counterpoint: Microsoft Edge on Windows has the same 2 factors going for it, but failing to replicate Chrome's ascendancy. Edge and Windows pleading with you to not install Chrome is kinda sad.

Edge (and basically every other browser besides Safari and Firefox) is a chromium fork though, so even though it only has like a 5% market share, it's still bumping up the engine's overall market share.
My point was that Chrome didn't win on marketing alone (as disproved by Edge dismal numbers). That said: browser marketshare metrics breakout the "brand" and not just the engine: for a long time, Chrome's rendering engine was downstream of Safari's WebKit before being forked outright as Blink.

That Microsoft abandoned Trident for a Chromium fork speaks volumes on the amount of innovation and engineering effort Google poured into Chrome/Chromium - I don't understand how it can be controversial to suggest that Chromium wins on its merits. The gaggle of browsers opted to fork Chromium rather than WebKit or Gecko because Chromium is best-in-class.

I can't believe you unironically believe that popularity and quality are correlated.
Being mindful of alternate browsers means nothing. If that were true, more people would not be using Chrome on Android or on desktop.
I have no idea what you're trying to say
The only reason why Safari is "shit" is because web developers are too lazy to develop for the web and instead develop for Chrome. The point of the web is that it's an open standard. Expecting everyone to use the bleeding edge version of the most aggressively feature-laden browser isn't just unreasonable, it's counter to the spirit of the platform.

Microsoft got into trouble for pushing Netscape users over to Internet Explorer, but what they did isn't half as evil as the dark patterns Google is using to get Chrome and other Google apps onto the few devices left which don't have them.

It's IE6 all over again. But worse.

> The only reason why Safari is "shit" is because web developers are too lazy to develop for the web and instead develop for Chrome.

Safari is only available on Apple devices, Chrome is available everywhere. Let's not pretend that laziness is the only reason why Chrome has the largest marketshare.

> The point of the web is that it's an open standard. Expecting everyone to use the bleeding edge version of the most aggressively feature-laden browser isn't just unreasonable, it's counter to the spirit of the platform.

I don't expect Safari to be the bleeding edge. I just expect the features to work. Lets take for example: IndexedDB

- IndexedDB was first brought up in two propsals in 2009/2010 - IndexedDB was available for pubilc testing in early 2012 by Firefox and Chrome and was released for both browsers unprefixed in late 2012. - IndexedDB was "released" for Safari in late 2014. However:

1. The released version was so bad and buggy that it basically didn't work at all.

2. It essentially broke all the websites/web-apps that were using it, and there was no easy alternative to use. The affected websites/webapps had to essentially be rearchitected and remade or just plain shut down.

3. Apple had no interest in fixing it which essentially poisoned the feature for all developers. It was so egregious it was actually used in the lawsuits against Apple their monopolistic app store practices, which eventually led to the EU to create their new sweeping anti-trust regulation changes for app stores and browsers.

- IndexedDB didn't have a working release on Safari until mid-2016 and didn't have the industry standard "last two major version" support until late 2017.

That means we had developers affected by IndexedDB's poisoning for about 5 years.

---

So by my earlier request of "I don't expect Safari to be the bleeding edge. I just expect the features to work.", Safari completely and utterly shit the bed. They shit the bed so bad it helped lead the EU to create new anti-trust regulations.

And that was just Apple trying to meet a standard feature.

And if you thought the IndexedDB debacle was over, they broke it again. See: https://news.ycombinator.com/item?id=27509206

---

Let's not even get into Safari breaking other features. I'd rather not type all this out: https://webventures.rejh.nl/blog/2024/history-of-safari-show...

Safari being Apple-only only has the appearance of a problem when the only alternative is one browser that happens to be almost everywhere. Again, the point of the web is to be an open platform, not the placing at a single corporation.

Chrome has plenty of problems but nobody cares because when Chrome doesn’t support something properly, no one uses it.

I agree that Safari is not perfect either. But let’s assume for a moment that nothing is going to make Apple invest more into WebKit than they are already. Which of the following worlds would I prefer?

1. WebKit remains the exclusive browser on iOS devices. The bleeding edge of the web doesn’t advance quite as quickly. A tiny number of developers who don’t already have access to an Apple device have to spend literally tens of dollars buying or inheriting 5+ year-old devices in order to test on a diversity of platforms.

2. Blink becomes available on iOS and Google continues use dark patterns to trick users into installing their browser. A small but non-trivial number of developers start assuming that everyone uses Blink/Chromium, and end users no longer have a choice of browser.

I’m sorry, I forget, isn’t the whole point about giving people a choice of browser? Because some people on Hacker News have some fairly dystopian blinders on and don’t actually care about user choice, they’re just lazy arseholes who don’t want to deal with an open web and resent having to test in more than one web browser.

Between these two alternative futures, I’ll pick number one every time, no hesitation. The open web is far more important to me than developer convenience.

> Chrome has plenty of problems but nobody cares because when Chrome doesn’t support something properly, no one uses it.

The difference between Chrome and Safari not supporting features is that Safari is developed by one company (Apple) whereas Chrome is developed by two (Directly by Google and indirectly by Microsoft). So Apple can have an incentive not to add a feature and end up harming the entire industry. But if Google has an incentive not to add something, Microsoft can still add that thing anyway (and vice versa), we only need one actor to act good for their not to be harm caused.

> 1. [...] A tiny number of developers who don’t already have access to an Apple device have to spend literally tens of dollars buying or inheriting 5+ year-old devices in order to test on a diversity of platforms.

This is flat out wrong.

One Safari is not equal to another.

You need to buy one of each device because Safari will change how it works across different devices.

Example 1: Safari adds depth touch to some devices which adds weird box overlays around parts of the website while the user is trying to use it, which blocks the content and interferes with which elements are supposed to be interactable unless you add special webkit-prefixed rules (e.g. -webkit-touch-callout, -webkit-tap-highlight-color, etc...) to different parts of your pages.

Example 2: Safari adds different buffer areas around their browser which you need to test with (using the env() css function) on each device with a different screen to make sure content isn't flowing off the screen or elements are being cut off at incorrect spots when they're supposed to flow past the edge.

And so on...

Apple keeps adding device specific ways of breaking websites.

Furthermore, each device can only run one version of Safari. Every time a new version comes out, you need to upgrade your OS to get the new version of Safari. And you also can't downgrade your OS to get the older version. And because some users can't upgrade and others won't, you need multiple of each device running each one on a different version of the OS to test correctly.

We have to spend 1000s of dollars each year on new devices just because Apple keeps inventing new ways of breaking things.

-----

Side question: But what about just buying a mac and running the iOS Simulator to test different versions of Safari on different devices?

It's no good, the iOS Simulator is a simulator, not an emulator. So the bugs that are on the device are not the same as the ones in the simulator.

-----

So out of your two options, what will happen is:

Some users will switch to Blink/Chromium and find that things start working better. That will start to build up a reputation of Chrome/Edge/etc... working better than Safari.

Meaning Apple will need to invest more money and effort into improving Safari.

Meaning Safari will be improved.

So either users start migrating to a better browser, or Safari improves to the point that it isn't a problem anymore.

I'm going to set aside your rather mid-tier developer criticisms of Safari, and I'll refrain from vomiting out verbiage of similar problems developing for Chrome, which nobody cares about because Chrome is what web developers think the web is. Chrome is seen as the standard whereas lazy minds desperately try to dismiss Safari as an inconvenience.

Your analysis is flawed at the core because you persist in making the same logical error which mid-tier web developers always make. Only web developers choose/change browsers because another one is "better". Ninety-nine percent of everyone else doesn't choose/change browsers, or if they do, it's because they were unwittingly exposed to an external influence, e.g.

1. Dark patterns (e.g. as employed by Microsoft in the 1990s, or Google in the 2020s);

2. Herd mentality ("my Son told me to use Chrome instead");

3. Because a website is broken (because the developer stubbornly refuses to believe that any web browser exists other than the bleeding edge release of Chromium)

And sorry but I just laughed when you said you need to spend "1000s of dollars each year on new devices". The only people who might need to do that are large corporations which already spend 1,000,000s of USD each year on developer salaries. A one-man team needs, at most, one desktop Mac made in the past 8 years ($200–1000 every 3–6 years) and one iOS device made in the past 5 years ($100–500 every 2–4 years). And that's assuming they don't already have either or both of these. And that's assuming that you're trying to do very complicated things. Most web developers shouldn't be doing anything that would break on a 10-year-old version of any major web browser (with the exception of TLS root certificates).

As an independent web developer with a Mac and iPhone, I begrudgingly buy and maintain a Windows computer and an Android phone, but you don't see me bitching and moaning about that, even though it's exactly the same thing.

No, it's not different because you're "forced" to acquire a new or used Apple product. As a developer, you are "forced" to acquire a reasonable spectrum of products based on what your audience is using. You are "forced" to test in Chrome. You are "forced" to pay taxes on income. You can wish the world was different, but wishes don't change practical realities.

Even if Safari was perfect, people would still switch to Chrome because that's what they think they need.