A critique of Safari's influence on the web
httptoolkit.tech
httptoolkit.tech
I find it cringeworthy to even have to explain the problem here. "The web" is not an app written for one browser. By the same logic, Firefox is also "killing the web" because it can't run Chrome-only apps.
The web is all mainstream browsers, and the web standards. Do you want to know what's really killing the web? Google subverting the standards process and unilaterally adding all kinds of random "standards" (like connecting to USB and Bluetooth devices, for some reason) as part of the web, then guilting other browsers into not following along.
Instead of critiquing Google for acting as if they singlehandedly own the web, web developers are parroting their line and enabling them.
Fucking embarrassing.
1) you can decide to use other browsers besides Firefox if some sites don't work on it, but on iOS you can't use anything else (every browser still uses safari under the hood)
2) you can still use "chrome apis" even if you don't use chrome. More and more browsers use chrome's engine (see: Opera, Edge, Vivaldi etc.) and while I am not happy with that, it is becoming more and more commonplace.
- User: "This site is broken. Fuck Safari, I want Chrome on my iPhone!"
What users actually think:
- User: "This site is broken. Fuck it, I'll go to another site."
Safari isn't THAT BAD that sites can't work on it. It's mostly minor differences, and lack of some "nice-to-haves" that are not crucial to UX (or in fact, their lack improves UX).
No one cares about your site that much to go to another browser just to browse it ON A PHONE. This is why I said, outside the web dev echo chamber, no one cares.
I've been around for IE6, and comparing Safari with IE6 is honestly absolutely ignorant and laughable. But I did also make my sites work fine with IE6 back in the time. That's our job.
Safari will move at its own pace. The only thing I care about it, is that it's secure, power efficient, fast and user friendly. I speak also as an iPhone user, because users matter more than developers and their endless whining about features.
Because they literally CANNOT switch from Safari’s rendering!?
The fact that you wrote this with so much confidence (featuring all caps and gratuitous swearing) signals to me that you aren’t genuinely listening to the argument(a) at all.
It signals to me that you are only interested in tribalistic hyperbole.
Besides: “It’s fine for me therefore it should be fine for you” is a terribly unconvincing argument.
So, like it or not, even if iOS allowed other rendering engines on browsers, you would probably be stuck with supporting Safari anyway.
Sorry but, history says otherwise:
1) Netscape users came across "works best in IE" banners and IE usage skyrocketed.
2) IE users came across "works best in Firefox/Chrome" notices and IE usage plummeted in favour of those better browsers.
Chrome didn't get to where it is solely based on marketing - it had some very strong advantages in the early years.
>you would probably be stuck with supporting Safari anyway.
I don't disagree there. But increased competition would force Apple to up their game. A win for everyone.
This is a good thing, you need a monopoly(iOS) to fight against a monopoly(Chrome).
The author has already addressed many of the things in your comment, including Google doing whatever they want (they clearly stated that it is unacceptable).
Mozilla quite clearly didn't want to implement EME, for example, but they couldn't afford for Firefox to not work with Netflix!
Apple has more freedom than Mozilla precisely because Safari users can't just switch to another browser. And for as much as I find that abhorrent and anti-competitive... if Apple is going to retain so much power anyway, I'm at least happy they're using it to prevent Google's total dominance.
It's abhorrent period.
But Apple doesn't particularly care what I think, so I'm glad they're at least making moves which help preserve the open web, regardless of their motivations.
As it so happens, Apple has no issues with DRM; their products are full of it.
† I do think EME is bad, but that's beside the point.
Doesn’t most of Mozilla’s revenue come from Google?
Somewhere in the middle lies Mozilla. They need to stay competitive to chrome, but also want good privacy and most importantly lack the resourcing to just implement all of Googles whims. You don't just implement a Bluetooth API into your browser that works on Windows, mac and Linux!
If you think standard APIs for screen orientation, pixel density, or touch events are some Chrome conspiracy, please do explain why.
Google Chrome is Google's master plan to remove responsibility from the Operating System and put it into their full control. Of course, they have operating power to move forward 300 APIs at the same time. However, they do it with the main propose of governing the ecosystem where those APIs are pushed (the web).
The only way to be up to date with all those changes is power (operating money).
Firefox is barely able to catch up with all the updates to the standards... there is obviously a burden on what is needed to be implemented for a browser in 2020 vs what was necessary 10 years ago.
However, Apple argument is not about delivering value to their users via a browser, since that's an ecosystem they don't control. They deliver value through their macOS/iOS SDKs, which are ecosystems they fully own. Apple moves Safari as minimal as possible (regarding new APIs added) to make sure people can still browse, but while still incentivizing their own routes.
This kind of API strategies are everywhere the software touches. From Apple moving Metal forward instead of Vulkan, Microsoft with Directx12. Google with Flutter (towards cross-platform API UI dominance) and so on.
I don't think is a question of what the companies want, but what do their users use. As long as Safari is the dominant browser in Apple's ecosystem, they will make sure you can max out the value received through other ways that align more with their vision and proprietary APIs.
So, if you consider "Web" what Google is pushing on now, it's clear Safari is not pushing forward in that ecosystem. But none of them do it for the sake of their users, but their ecosystems
Safari, regardles of Apple's selfish reasons, is the last man standing.
That seems to me like the point of all these recent articles.
At least you can fork ChromeOS, and apps can be hosted or ‘installed’ by any entity with the freedom to choose centralized control or not (as many school districts too)
My concern is that the approach you describe - if Chrome goes further & further forwards and Safari refuses to keep up or engage whatsoever and more sites start to use those features - eventually leads to a world where everybody _must_ to use Chromium to use the web.
If we get there, the whole browser ecosystem collapses, and the open web is in very serious trouble.
I would rather a world where Safari actively leads web standards, and ensures that they are designed from the start with a concern for privacy and battery life.
Even in my non-web-dev circles of average folks, they're saying "I hate Chrome" and going somewhere else for their browser.
Even if Chrome "goes further and further forwards" it won't matter if it becomes the de-facto hated browser over time. Safari is banking on the fact that security and stability are more important than "some new flashy CSS" and it is possible they might succeed by following this strategy.
I don't think either of our circles are representative of the wider world unfortunately.
There are markets where iOS is pratically 0% and there are markets where it has almost all the market for itself.
So it depends to whom certain business want to sell.
I'm not so sure about that. It doesn't seem to me that users are demanding ever more features in their browser. I'm personally just interested in relatively dumb websites, and the only features that could improve the experience is those that improve speed (so I did see some features on the list I wish Safari added, but not many).
And I'm not sure that approach is even sustainable in the long term. How big should the collection of web standards be? Maybe it's come to a point where it's good that a browser holds back a bit? I think that makes it easier for Firefox to keep up with the common standard. It's clear that they're a few years behind on a lot of things, but if Apple really tried Firefox could be the one browser that was always behind, and since nobody is really encourage to use it by any big corporation, it could easily die. I make a point of supporting Firefox on my Windows devices (and it's my back-up browser for Mac as well).
I think the Web being such a gigantic standard that only one or two big megacorporations has the chance to make a browser engine for is much worse for the open web, than Safari lagging a few years behind.
I don't get this take. Everyone says if Apple doesn't catch up to Chrome then Google will control the web... But like... If Apple is implementing everything Google releases in Chrome to "stay up to date" then don't they already control the web?
Isn't Apple staying back and saying "Nah, we won't be implementing that stuff" making sure that Google doesn't control the web?
We can assume Safari is leading.. but is Chrome following? :)
I don't mind telling users that a particular software doesn't work on Safari and to use Chrome/Firefox. and Many of them will switch too.. if they could.
New recently introduced gimmicks only solve problems that were already solved. There is no reason that a site such as reddit should have to run scripts for 11s on page load, when a pretty much feature-identical site such as HN manages the same with 100ms of scripts running.
Modern webdev is, for the most part, creating new problems that didn't need to be solved. It's a job placement program, nothing more.
The really disheartening thing about this dichotomy is realizing that all of this extra effort, code, and time are in service of the banality of tracking and ads.
> There is no plausible option where other vendors stop these features coming to the web entirely. In many cases, they're already there. There's only a world in which they stop them reaching beyond Chrome's 65% market share (~70%, including all Chromium-based browsers, or ~80% for desktop).
If 2 out of 3 browser engines decide not to implement a feature out of principle than arguably it isn‘t part of the Web and if Google was serious about being a good web citizen they‘d disable features (or make them only available to ChromeOS) where they can‘t convince one other browser engine to implement it.
I wouldn't necessarily describe this as malicious, merely impatient (perhaps too generous) - they've been doing controlled origin trials and similar for web bluetooth for example since 2015, but the other browsers haven't engaged.
I do think if Firefox/Safari had serious counter-proposals today that would work for everybody and limit the standards to mitigate the concerns, the Chrome team would happily compromise in return for wider compatibility.
I believe you‘re right but that leaves no room to say “we fundamentally believe this feature should not be part of the web”. Something I consider quite reasonable with regards to Web USB and Web Bluetooth.
This is behavior typical of large corporations and monopolies, because they have the resources to throw at the creation of more and more features, at the expense of smaller competitors.
I would be A-OK with that if the alternative engines provided the same privacy and security guarantees to me that Mobile Safari does (with penalties for breaching those guarantees.)
Definitely.
Not necessarily - if an app I am required to use for work chooses to use Chrome/whatever as its engine, for example, I don't have a choice there. Same for my bank / doctor / school / etc.
So no, you can't choose. When we say "you can choose" we need to realize that this is only good when you can make an educated, informed choice. If you can't, you need to be protected. And that's Apple's role.
Random choice is not a choice. Would you have your infant "choose" what drugs to take for headache for example? What criteria will they use? Pill shape, color, size and flavor. Well that's basically also our proverbial mom and pop picking a browser engine.
Furthermore browser engines have this peculiar habit of getting into everything. Open any app at all and it's probably using WebKit without you realizing it. What if the app uses some random outdated fork of Netscape, why not? Do you realize what "choice" you made by opening that app?
No.
There is no reason to prevent competition in such a market, and hopefully regulators will become aware of the issue and act on it soon.
Not one reasonable and intellectually honest person expects that the average phone user out there even knows what a browser engine IS, let alone compare two of them, or know where it's used (when it's not even disclosed).
Keep in mind smartphones are even more widely used than "computers" in general. So I guess even 8 year olds now are expected to do a security analysis on the browser engine their game uses before playing.
Delusional.
And drop the ad hominem rhethoric please.
Also you should review what "ad hominem" means. Saying "no one intellectually honest would say 2 + 2 is 5" is not ad hominem.
Ad hominem doesn't mean "don't say bad words about me and my opinions". Ad hominem would be disregarding an opinion not by discussing the opinion, but by discarding the opinion based on WHO said it.
It's in fact very hard to commit ad hominem against an anonymous person online who has said nothing about themselves. If they said "I have a history of delusions" and I said "therefore your opinion has no merit", that's ad hominem.
The fact that despite that you constantly hear people complaining about "ad hominem" online is just that much funnier. Strawman is another one that most people love to say, while having no clue what it means.
https://www.patheos.com/blogs/barrierbreaker/two-misundersto...
I don't know or care who said the above opinion. I care about their opinion and their opinion was delusional.
Thinking the world at large knows, cares, and can make "informed choices" about the browser engines used throughout their phone apps is delusional.
Also, there's nothing "subjective" about whether all smartphone users are web developers, and therefore happen to care about browser engines.
But, "Delusional" is often associated with name-calling, so it sounds more like you're calling the person delusional, rather than what they said. Something like "This sounds delusional to me" would avoid that confusion.
But even if I decided to call the commenter names, that wouldn't be ad hominem (link above on details).
It's rude, it's uncivilized maybe, we can have qualifications like that. But it's not "ad hominem", because "ad hominem" isn't about "you insulted someone".
Probably more than 95% of car owners do not understand how the engine of a car works. So, following your reasoning, it would justify having no competition in the car market?
Thankfully most of the world chose the free-market economy model, of which free competition is a pillar. There is no reason for the web browser market to be an exception and justify obstructed competition like Apple does on iOS.
why do they have to make this choice, why can't they just use safari?
> So no, you can't choose. When we say "you can choose" we need to realize that this is only good when you can make an educated, informed choice. If you can't, you need to be protected. And that's Apple's role.
I'm getting strong deja vu to arguments over authoritarian nanny states in this.
Even if I accept the contentious value judgment that people need to be guided and protected by an entity that has strongly conflicting interests to them, I still don't think this is a strong argument as the default browser would still be Safari. People with little to no understanding of what a browser is are hardly going to download some outdated fork of Netscape.
My 80+ year old grandma made the informed choice to use Firefox on macOS. She can't use Firefox on her iPhone. She wants to use Firefox everywhere. She disagrees with you.
https://www.csoonline.com/article/3243284/firefox-users-are-...
https://www.pcmag.com/archive/google-accused-of-tracking-saf...
Would you give a pass to Apple for how they handled privacy in the past and not to Mozilla who comparatively had only a few hiccups ?
Service providers where mostly in the deal to get user data, and Apple’s push on privacy only started well into Cook’s tenure.
But you have trust in them in their current business position (it only was “the early days”). By that token I don’t think it’s unrealistic to assume at some point you’ll find other companies that are either new or show they changed enough to get your trust.
With regards maps, although what this has to do with your original question is beyond me, Apple informed the user very clearly on where the data is from and what data they were collecting, they still do. It was originally a combination of TomTom and OpenStreetMap, by the way.
Also, Jobs was pushing privacy in 2010 - "Privacy means people know what they're signing up for, in plain English and repeatedly. I believe people are smart and some people want to share more data than other people do. Ask them. Ask them every time. Make them tell you to stop asking them if they get tired of your asking them. Let them know precisely what you're going to do with their data."
I agree that companies can change. Big companies rarely do. I'm concerned that it's only a matter of time before Mozilla make the decision to switch to blink, which would be the end for them and the open web.
Interestingly, of the complaints made in this article, 6 are Editors Drafts, not agreed upon standards, or Working Drafts, again experimental un-agreed 'standards'. I'll concede that a working draft is close enough to being standardised. The rest, bar one, are implemented in WebKit. So the complaint in the article is that the WebKit project is holding up the web by not including Google's experimental features in a bid to say Apple should be allowing other, less secure rendering engines on a platform where users store a ridiculous amount of PII. It's being framed as 'freedom' - I'm sceptical. They'll be caterwauling about 'choice', but by enforcing 'choice', there is very real, and frankly sinister, risk that it will be lost irrevocably along with any semblance of an open web. Careful what you wish for.
The ironic part here is that back in 2007-2013 Microsoft was sued by the European Union [1], and was forced to implement a downloader GUI that offers a randomized overview of available Browsers [2]; and their website/download links.
Back then Microsoft's defense was that an enduser could just install another Operating System on the hardware if they didn't want to be forced to use Internet Explorer.
And now, 10 years later, here we are, where Apple absolutely controls the Hardware _and_ the Software. Yet the European Union does seemingly nothing against it.
[1] https://en.wikipedia.org/wiki/Microsoft_Corp._v._Commission
[2] (with screenshots) https://www.zdnet.com/article/microsoft-fined-731m-by-eu-in-...
With Apple you have viable alternatives from Android handset manufacturers: alternatives that are suitable for the average person on the street.
With Microsoft this was not the case. When that case started Apple were basically dead in the water on the desktop... and then you had Linux, which was not suitable for the average user (yes, I'm sure we can all cherry pick a story about somebody's grandparent being perfectly happy with Linux back in the day but these anecdotes, whilst fun and interesting, do not add up to meaningful data).
It used to be a lot easier 10 years ago, federated protocols were more common, websites were forced to be more accessible in a more fragmented browser marketshare. It wasn't until Chrome started doing forced auto-updates (and the other browsers followed) that really pushed to a monoculture and led to more locked down websites. Developers loved that it made their work easier, but there is a cost of freedom.
Windows was the dominant operating system of the PC platform. But the openness of the PC platform wasn’t a problem. On smartphone, you are bound by the hardware to keep the OS sold with it. So it could make sense to consider the « iPhone devices » market instead of the « smartphone » market (same for Android).
That does not make much sense, coming from Microsoft. Users were never forced to use Internet Explorer on Windows* and could always install other browsers freely. No need to switch OSs.
*The only time Microsoft imposed the use of Internet Explorer, as far as I can remember, was back in Windows XP, when Windows Update came as a web application.
I think your parent's history is wrong, but I'm pretty sure you couldn't avoid using Internet Explorer if you were on Windows. You could also use other browsers, but so much crucial functionality passed through IE that you simply couldn't opt entirely out of it. (For example, it couldn't be uninstalled.) I think that, at least for a while, Explorer (the file browser) was basically IE pointed at the local filesystem.
If you actually want stronger competition the best thing you could do is separate Chrome from Google.
Good luck having bunch of lawyers figure out what the impact of a browser "engine" is.
And honestly good luck having regular users care about this, either.
The reason Apple won't have a problem with it is because the whole argument is just in the echo chamber of web developers who want their new shiny.
I don’t remember my parents losing sleep at night because third party ISP couldn’t get the same access to copper lines. Yet we got meaningful regulation of that market.
I think as long as there’s big enough third parties losing money there is hope for change.
Apple monetizes Safari. They sell hardware and subscription services.
Facebook monetizes in part through these browsers. The changes to Safari hurt Facebook revenue.
If Google were to lose android I wonder if they’d also push for more regulation on Apple.
I wish I could just say “Firefox”, but I’m afraid they would be small potatoes in this.
Anti-trust doesn't so much care about competition to improve web APIs. Because it's not really a market, what with no money changing hands etc.
In MS/IE/Netscape times, the idea of licensing browsers was still fresh. And, more importantly, browsers differed In more than just synthetic benchmark scores: IE had ActiveX plugins that weren't available for any browser or operating system, and those were widely used, discriminating against other OS, an actual market.
A similar situation would be Apple intentionally crippling Google Docs, or amazon.com. The changes to ads and tracking are the closest we've gotten in the last decade, and Apple has a pretty good case that they are doing so with the user's interest in mind.
I have to disagree with the view point of the article however. I view technology as serving users. The author makes a great argument that Safari makes life more difficult for developers. I believe that Safari makes life easier for users. The latest privacy features and reporting are great.
I love my Linux laptops where I run Firefox and Chrome, but for day to day work, writing, and consuming books and digital content, I rely on the limited ecosystem of MacBook, iPad, iPhone, and Apple Watch.
If companies or web developers really want to use features not in Safari, please do show me a message that warns me to not use your web site. The digital world is a big place, and we all get to make our own decisions.
Except when it doesn't. I use Safari iOS (because there's basically no choice since only their engine is allowed) and I regularly come across webms that don't load or that decode atrociously. It would not be that bad if only they would allow other browsers to ship their own engine.
But why are you blaming Safari for that instead of the site choosing to serve up that particular format rather than something more well supported?
Well, one important part of the web developers job is to /not/ expect their production to work on every browsers. It’s even an important singularity of this job.
I see too much webdevs folks around me who conveniently work with Google Chrome on their 32 inch screen on a $3k+ workstation.
The web is meant to work everywhere and fail gracefully when it can’t. And this rule applies also if you despise a browser.
Specifically not a standard?
https://w3c.github.io/mse-byte-stream-format-webm/ is better in that it's now an "Editor's Draft" but still says "This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress." which strongly implies to me that this is far from a "web standard", no?
Safari/webkit, as far as I can see, is merely trying to help. Perhaps not proactively, but by showcasing slight conservatism regarding which kind of bullshit bells and whistles get implemented. They're no knight in shining armor, and I shudder as I compliment Apple on anything at all, but they're doing what they can while still keeping their users satisfied.
If you care about the web and want to see it survive, build to Safari's standards. It's the least YOU can do.
Safari is the reason I bought an iPhone because using Chrome on a flagship Android phone compared to Safari was night and day. Pages would load in milliseconds not seconds and scrolling and zooming didn’t stutter.
I really don’t want Apple to lose this fight and live in a world where you can’t use non-chrome browsers without dealing with broken websites.
Firefox handles most of the site perfectly `without special treatments`. It you develop a website against it, it will about 98% work on chrome, and the reverse also hold.
The safari... on the other hand is a terrible s*t. If you try to develop against other browser. Your site will break on it about 4 in 5 even only use old feature that ie11 supports.
Its web standard support is a total joke in my opinion.
It isn't really a excuse to ship a browser that is so broken. Given the small mozilla handles mostly fine with it.
How on the earth a such giant company can't?
Devs mostly failed to realize both were WebKit, targeted chromium and not WebKit, allowing breakage and letting Google get away with it. Devs is more giant than Apple. What’s devs excuse?
If a bug exists in half of browsers and spec don't really defined it, then it's my fault.
If a bug exists in exactly one browser and behaved contrary to the spec, then it's browsers fault. And there are way too many to count on safari.
Apple had it right back in 2010, when they showed the world what was possible with the web as a platform. They took a principled stance, and made the web as a whole better because of it.
If you ship a browser (especially if you don't let users install competing engines) then you need to support web standards. You don't get to pick and choose. Standards are not optional add-ons. Apple's own words!
Even if you ignore any of the new shiny APIs and features being ignored by Apple, the general state of web support by Safari is atrocious and forces developers into many one-offs specially for that browser. This is actively anti user.
It was the buggy implementation of a feature that go unfix for years [0]. It say it is supported only to find out it really doesn't. Or those one-offs, I think [1] is a much better take on the problem.
And as a Web page browser. I dont have much complain. But in terms of Web Apps.... there is where the fuss is all about.
[0]https://github.com/adobe/react-spectrum/wiki/Tracker-for-Ext...
Safari either isn't attacking, protecting or killing the web. It has a different purpose.
Apple's main objective is to sell services and devices. iPhones, iPads and their accessories. Also, Mac laptops/desktops.
As most of us know, they use their Apple Store, with a 30% cut for every transaction to sell their services. If a company doesn't like that they end up in court (Epic vs Apple) or getting special conditions under the table.
Safari is another piece of the iOS/macOS ecosystem to browse the web. They don't have any hurry to implement fancy features like Midi, Bluetooth, Notifications, proper PWA support, CSS rules, JavaScript. After all, you should have access to those things if you submit your app to their Store and accept their cut. They implement the features they find interesting or important and that's all. Even the release circle is slower than other browser implementations. Obviously, allowing other engines can hurt their services division and that's why the alternatives use the provided WebKit on iOS as enforced by the ToS.
As a user Safari is a bliss, but as a web developer is sometimes a pain.
Maybe we should stop supporting Safari on web applications which require non existing APIs with an encouraging message to try Chrome or protest to Apple if you're on iOS.
Having switched exclusively to safari over last 1 year, I couldn’t agree more.
They have nifty features like sms OTP auto fill that make transactions super smooth.
It had around 90% of market share at its peak. So Microsoft had a complete monopoly.
They stopped caring about Internet Explorer since their business was selling Windows XP licences and PCs with Windows preinstalled. As Safari, IE was an afterthought, a nice thing to have to craft a more complete desktop environment out-of-the-box (like Windows Media Player, Microsoft Works...).
Luckily Firefox, Opera (Presto[1]), Safari and Chrome shattered the monopoly in the early 2010s.
Safari is just the secondary browser in the ecosystem and pretty much the only relevant after Chrome and its derivatives. This days the duopoly has been achieved by fast pacing new web features and vendor lock-ins instead of grinding browser development to a halt (I lived the days of IE6/7 hell).
[1] Dang I miss the good old days of Opera Presto, it was great... Vivaldi is the closest thing and I use it everyday.
With Apple here, it's different. We have a similar set of question as in the days of yore (Is Google bringing much needed innovation to the web, or are they pushing their own proprietary features to control the web? Is Apple the last sane browser vendor preserving privacy and being user-first or are they purposefully holding back the web to maintain their App Store revenues?) but the ability of the market to answer is stunted by the fact the browser is tied to the hardware. If it happens I am not happy with Apple choice, I have to change my $1000 smartphone, my $400 smartwatch, ... just to use a different browser.
As freelancer/WFHer, I'm already using Chromium for the unavoidable Teams, G-whatever-its-called-now, Zoom, or other videochat/collaboration app anyway and can run these as sandboxed Electron app right now just as well. Or even better since these type of apps tend to require frequent updates of both the browser and loaded JavaScript code due to living on the edge of browser APIs, release-early-and-often, ads, "telemetry", or whatever.
While on the way out, please advertise script-heavy sites, preferably with an "application/html" media type for content negotiation and/or proper metadata for search engines, to spare me bulk loading tons of JavaScript when accidentally visiting your page just to leave on the spot anyway. It's appalling browsers had to disable basic HTTP features such as caching because everything can and will be used for fingerprinting. AFAIU, both FF and Safari deliberately chose not to implement the worst offenders in WHATWG's JS API landscape for that reason. Worse, any "cure" for fingerprinting is bound to benefit Google even more as the only ones to receive sensor data of each and every contact individuals make with public information.
"It's dead, Tim"
Tangential to the topic: is there any reason you could not use FireFox? I switched a while ago and was pleasantly surprised to discover all web apps work perfectly, including the Zoom webapp and Google apps (these always feel bloated no matter what browser I use).
Maybe I'm burnt by having FF experienced getting slower over time with script-heavy pages (memory or resource leaks?) in the past, and don't want to loose my browsing sessions? It's a moot point anyway since I don't consider collaboration/videochat apps part of the web, so in the end why not have "web" developers target Chrome if they absolutely want to depend on Google. It'll always be more work to target multiple browsers, and developers/bosses will always find arguments to reduce the effort and suck that is browser development/testing. For me, that isn't what the (extant) web is about; there's a reason that a browser, like an MP3 player, used to be more like a decoder/media player rather than all things to all people. I found that, with few exceptions, quality of content I care about correlates inversely with the amount of JavaScript crap on a page/app.
I'll happily burn karma to get the point across: Safari is not good enough for my needs, and it's starting to feel like MacOS is also not good enough for my needs. As Mojave continues to lose support in mainline apps, I find myself avoiding my Macbook for most things. Got some photos to process? Eh, I'll do it in Linux. Got code to work on? Who cares, it probably won't run anyways. It's that kind of latent frustration that drives people away from the platform, so people should at least be aware of it.
This is almost certainly true now, but the rules predate their big services push. The main thing that prevents other browser engines is:
- Apps cannot run arbitrary code. So an emulator that bundles a fixed set of games is fine (providing the copyright is kosher), but an emulator that allows you to supply your own games is not. This of course also rules out executing JavaScript on web pages.
- iOS apps cannot mark memory as executable, i.e. no dynamic compilation. This alone would tank the performance of any competing engine even without the above restriction.
Lame rules, imo. I understand their origin, but it’s one of many things holding the platform back.
Their balance sheet of naughty and nice web wise will be hard to put into naughty for quite some time.
I've had enough of these junk takes. Let's talk about a real world scenario.
I've been writing a simple web app in vanilla JS, that relies on some well established browser standards to accomplish the following goals that I think we can all get behind:
1. How do I make the UI look nice?
2. How do I make it usable and accessible, especially to people who rely on browser focus to use a website?
3. How do I make it behave consistently across Safari/Firefox/Chrome?
4. How do I make it run as fast as possible?
I've worked hard to reach these goals in tandem, and for the most part, things are working (you can see for yourself at https://rezmason.github.io/wireworld-player/ ). The UI is built from standard form elements, there's no buttons made of <div/>s; screenshots taken in the different browsers very closely match; it runs very fast, though that's a WIP; and most importantly, every browser properly handled element focus.
Or so I thought.
Last week I realized non-Safari browsers set the focus on whatever element is clicked. Combined with Safari's lack of support for focus-visible, this causes the same user interactions in and out of Safari to result in completely different browser focus states, while still having identical display states.
In my opinion this is a worst case scenario for accessibility and usability. I hope we can all agree that any GUI ambiguity that can hide a bug for two weeks can equally derail the experience of a site visitor. But this ambiguity is the default, and I don't think it can be resolved without a workaround written in JavaScript. As the article above points out, these Safari quirks are long-standing open issues.
But my main point is this: by developing and testing my app in Safari first, I wound up making a worse user experience for my visitors. My choice of browser was an obstacle to half of my goals. I'm not shooting for the moon, here— my project is pretty barebones. It's just DOM and 2D canvas drawing in a single thread, for Pete's sake. (For now, anyway.) But it would be better executed if I'd primarily tested it in Firefox and Chrome, or if Safari was better stewarded.
Saving the web means killing the modern WPA-related feature-creep, and Google's mono-control.
Safari helps with both.
Native apps with APIs are the best approach.
Reverse engineering minified JavaScript isn't the only path to learning.
Monopoly app stores with no opt-out for a device you paid $1000 should be straight up illegal.
Better is arguable. It is, however, easier.
Which method produces better developers though?
- edit my files in Google Docs (seamless sync)
- play games w/o ever downloading them
- do design in Figma
- swipe on Tinder w/o ever having to install or uninstall it
- browse code on GitHub
I want as much stuff as possible to be on the web. I dislike having to install applications locally.
On a less self-centered level, the web helps small businesses succeed. Do startups have the time to develop 3 different applications? I don't think so. The power of the web allows people who don't need to be developing native apps to avoid duplicating their work.
The web seems extremely important to small business innovation.
As for "large" / "bloated" sites. Features like new CSS properties seem unlikely to add more bloat or degrade accessibility.
If we left the web as hypermedia / documents only we would have killed its potential (figma / repl.it / so many others wouldn't have existed).
I'm mainly a Safari supporter precisely because Chromium's domination is bad for everybody. I'm glad the author of this recognized that.
- CSS contain (CSS Containment Module Level 2) - Editor's Draft[1]. First published in 2019. Not supported by Safari/WebKit.
- CSS offset-path (Motion Path Module Level 1) - Editor's Draft[2]. First published in 2015. Not supported by Safari/WebKit.
- CSS overflow-anchor (CSS Scroll Anchoring Module Level 1) - Editor's Draft[3]. First published in 2020. Not supported by Safari/WebKit.
- Resolution media queries (dppx) - W3C Recommendation since 2012[4]. Not supported by Safari/WebKit.
- :focus-visible (Selectors Level 4) - Editor's Draft[5]. First published in 2011. Not supported by Safari/WebKit.
- Touch Events - W3C Recommendation since 2013[6]. Supported by Safari/WebKit since 2010 (iOS 3.2). I assume the author meant Pointer Events[7] which became W3C recommendation since 2019, and supported since 2019 (iOS 13.2).
- BroadcastChannel - WHATWG Living Standard[8]. Blocked by privacy concern on WebKit side since 2020[9]. Initial support landed on WebKit trunk as of 2021-07[10].
- beforeprint/afterprint - WHATWG Living Standard[11]. Supported by Safari/WebKit since 2019 (iOS 13).
- Regex Lookbehind - ECMAScript 2018[12]. Not supported by Safari/WebKit.
- scrollIntoView (CSSOM View Module) - Editor's Draft[13]. First introduced as an update to CSSOM View Module in 2011. Not supported by Safari/WebKit.
- Screen Orientation API - W3C Working Draft[14]. First committed in wc3/screen-orientation in 2012. Not supported by Safari/WebKit.
- Date and time input types - WHATWG Living Standard[15], partial support by Safari/WebKit since 2012 (iOS 5) but no week/min/max.
- Service Workers - W3C Candidate Recommendation since 2019[16]. Supported by Safari/WebKit since 2018 (iOS 14.5).
- AbortSignal - WHATWG Living Standard[17]. Supported by Safari/WebKit since 2018 (iOS 11.3)
- Intersection Observer - W3C Working Draft[18]. First published in 2017. Supported by Safari/WebKit since 2019 (iOS 12.2).
- Client-side form validation - WHATWG Living Standard[19]. Supported by Safari/WebKit since 2017 (iOS 10.3).
[1]: https://drafts.csswg.org/css-contain/#contain-property
[2]: https://drafts.fxtf.org/motion/#offset-path-property
[3]: https://drafts.csswg.org/css-scroll-anchoring/#exclusion-api
[4]: https://www.w3.org/TR/css3-mediaqueries/#resolution
[5]: https://drafts.csswg.org/selectors-4/#the-focus-visible-pseu...
[6]: https://www.w3.org/TR/touch-events/
[7]: https://www.w3.org/TR/pointerevents/
[8]: https://html.spec.whatwg.org/multipage/web-messaging.html#br...
[9]: https://github.com/whatwg/html/issues/5803
[10]: https://bugs.webkit.org/show_bug.cgi?id=227924
[11]: https://html.spec.whatwg.org/multipage/timers-and-user-promp...
[12]: https://262.ecma-international.org/9.0/
[13]: https://drafts.csswg.org/cssom-view/#dom-element-scrollintov...
[14]: https://www.w3.org/TR/screen-orientation/
[15]: https://html.spec.whatwg.org/multipage/input.html#date-state...
[16]: https://www.w3.org/TR/service-workers/
[17]: https://dom.spec.whatwg.org/#abortsignal
[18]: https://www.w3.org/TR/intersection-observer/
[19]: https://html.spec.whatwg.org/multipage/forms.html#client-sid...
That bug has been present for at least two major iOS version. I’ve reported it to Apple, but they’ve never bothered to fix it. On the plus side, it does load eventually now without crashing the browser, but the underlying bug is clearly still present, and it takes a long time to load.
Note: To test it in something other than Safari, you will need to use something other than iOS, because all browsers on iOS are wrappers around Safari.
I often wonder how many bytes of data and seconds of rendering time would be saved in the last decade if the most popular browser supported MathMl?
AV1 support would be nice though. Everyone should push for that.
* MS cares a little bit about the web because they have a few web apps that are pushing the envelope, but they really don't benefit from a powerful browser as much as Google does (at least yet). The #1 reason they have a browser is to push Bing.
* Amazon's websites (twitch, Amazon Prime Video..) could probably run on IE6.
* Apple's revenue stream would get hurt by people moving to the web.
* Facebook... well it's complicated. For now they've been doing a good job with their VR browser, but in the long term they will likely pull an Apple and make it not possible for VR website to be as good as the VR apps purchased through the oculus store.
(I don't know enough about all the big Chinese players)
It seems like the WebKit team was relying a lot on Google contributions, and the Blink fork (in 2013) was the starting point for a slow but steady decline.
Apple is swimming in money, yet they apparently can't staff their Safari team enough to keep up with Firefox, which notoriously lags behind Chrome. Not just feature wise but with stability and polish. Eg the flexbox implementation was extremely buggy for years.
I do believe part of it might be strategic to prevent webapps from becoming too useful on mobile, but that can't be the whole story.
(a) The web is a failure
and
(b) Chrome monopoly is the best outcome for the web.
OK, obviously the web is great, I'm using it right now, and it hosts millions of useful websites, so why is it a failure?
Consider the simple act of buying something. To make a purchase on the web, I have to type in a 16 digit credit card number, 3 digit CRC number, expiry date, name and address. Every single time. After 30 years of the web, nobody has figured out a way to make this securer or simpler. Well, no, I'm sure many have figured out a way, but nobody has implemented it.
By contrast, on my phone, I can buy with a simple fingerprint check. Apple provides that service, I find it valuable, and the firms in Apple's walled garden of apps find it valuable too.
Why is payment easy on iPhone? Because Apple, as monopoly provider of that walled garden, makes a profit from making it easy.
Why is payment hard on the web? Because there is nobody to make a profit from making it easy.
In short, the web's infrastructure is a massive public good, and like many public goods, in the absence of government coercion it is underprovided.
Web payment is just one example, and I'm sure there are others, but it's an important one. The lack of a decent payment infrastructure leads to pathologies. When paying for content is a hassle, people give away free content and use alternative monetization strategies like advertising - so we get Facebook, "you are the product" and manipulation by algorithms. When paying for items is a hassle, it's easier to just use Amazon who have stored your credit card already - so we get a huge ecommerce monopoly.
If Google effectively owned the web, change would happen faster; users would be more satisfied; web development would get easier instead of being a mass of horrible hacks around 30 years of legacy standards.
There'd still be competition. Apple, Google and Facebook would compete as platforms. That's an oligopoly, but platforms are natural oligopolies - nobody wants 1000 different platforms.
Conclusion: Chrome's dominance is probably efficient.
When I make a purchase in my browser, either:
* I select a card from the autofill drop-down and validate with CVC or fingerprint
* I'm already logged in, and the site remembers previous cards
Is it possible you have a bad experience here because you've asked your browser not to remember credit cards?
The subtler point is whether a website owner can put in place a simple payment system - and be sure it will work on all clients. This is what you can do with Apple Pay, right?
I'd argue PayPal is way more ubiquitous than Apple Pay.
Some sellers don't want to use a service like Apple Pay/PayPal because they don't want to give up the money from the associated fees like Amazon for example.
Is that really true? There are payment processors that fulfill the role Apple does when you pay on their device and, just like, Apple, make profit from those transactions.
Paypal may not be as dominant in the grand scheme of things (anymore?) making the market of transaction processing somewhat fragmented but you still don't need to enter credit card details every single time you buy from a new vendor. I certainly don't.
For a significant portion of the population (disclaimer: me included) this equals to going on amazon and pushing a few buttons. That’s on par with anything Apple provides.
I think your whole point about the web being complex is because you’re ok with that complexity so you engage with it. People who want to keep it simple naturally do so (we don’t gush over GAFA for no reason. A ton of users live their online life within these 5 companies).
> By contrast, on my phone, I can buy with a simple fingerprint check. Apple provides that service, I find it valuable, and the firms in Apple's walled garden of apps find it valuable too.
> Why is payment easy on iPhone? Because Apple, as monopoly provider of that walled garden, makes a profit from making it easy.
There are tons of competing companies out there that make a profit by making online payments easier for vendors and users. Vendors that support stripe allow you to make purchases within ~3 clicks.
My point wasn't that there's no tech which makes payment easier. There is. My point is that there's no standard; as a result there are many different technologies and providers, none of which have dominance; as a result, I still have to fill in my cc details for the majority of websites where I purchase something. (Not for the majority of purchases - because I make most purchases on one website, Amazon. But then we're back to my point about pathologies.)