Apple's Safari browser runs the risk of becoming the new Internet Explorer – holding the web back for everyone
- Reference: 1634897105
- News link: https://www.theregister.co.uk/2021/10/22/safari_risks_becoming_the_new_ie/
- Source link:
Or maybe you would. Today developers who want to use "cutting-edge" web APIs find themselves resorting to the same kind of browser-specific workarounds, but this time the browser dragging things down comes from Apple.
Apple's Safari lags considerably behind its peers in supporting web features. Whether it's far enough behind to be considered "the new IE" is debatable and may say more about the shadow IE still casts across the web than it does about Safari. But Safari – or more specifically the WebKit engine that powers it – is well behind the competition. According to the [2]Web Platform Tests dashboard , Chrome-based browsers support 94 per cent of the test suite, and Firefox pulls off 91 per cent, but Safari only manages 71 per cent.
[3]
On the desktop this doesn't matter all that much because users can always switch to Google Chrome (or even better, Vivaldi). On iOS devices, however, that's not possible. According to Apple's App Store rules: "apps that browse the web must use the appropriate WebKit framework and WebKit Javascript." Every iPhone user is a Safari/WebKit user whether they use Safari or Chrome.
[4]
[5]
Apple has a browser monopoly on iOS, which is something Microsoft was never able to achieve with IE. In Windows you could at least install Firefox. If you do that on iOS it might say Firefox, but you're still using WebKit. The reality is if you have an iOS device, you use Safari and are bound by its limitations.
Another thing web developers find distressing is Apple's slow development cycle. Apple updates Safari roughly every six months at best. [6]Blink -based browsers update every six weeks (soon every four), Firefox releases every four weeks, and Brave releases every three. This means that not only is Apple slow to add new features, but its development cycle means that even simple bug fixes have to wait a long time before they actually land on users' devices. Safari workarounds are not quick fixes. If your website is affected by a Safari bug, you can expect to wait up to a year before the problem is solved.
[7]
One theme that emerges when you dig into the Web Platform Tests data on Safari's shortcomings is that even where WebKit has implemented a feature, it's often not complete. Take the case of progressive web apps (PWAs). Progressive web apps is an umbrella term of websites that want to behave like native mobile applications. Some of the APIs used to build PWAs include the ability to run full screen (no browser UI), send notifications and alerts, offline capabilities, and launch from an icon on your home screen. Probably the two best-known examples of PWAs are Twitter and Uber.
Apple has implemented much of what developers need to build PWAs, but there are limitations. Apple hasn't added support for sending notifications and home screen icons. In essence Apple hasn't implemented some of the core features that make websites able to behave in an app-like way.
This has long been the core of the argument that Apple is deliberately crippling WebKit to protect its App Store business. In other words, if Apple implements these things, developers will start building better web apps, no one will buy native apps, and Apple will lose its 30 per cent cut of the iOS App Store.
[8]
That might make sense to web developers, who are deeply passionate about building web apps, but it doesn't make much sense outside that context. Apple is one of the wealthiest companies on Earth, and it probably isn't too worried about what web developers are going to do with all those fantastic new APIs it isn't supporting. Apple is certainly protecting its interests, but at least right now that seems to be more related to Apple's move to position itself as the protector of user privacy than worry about web apps.
Is Safari saving the web?
Safari's defenders, and Apple itself, argue that the company isn't implementing all these new APIs because letting developers have access to your USB ports, Bluetooth, battery status, and proximity sensor will allow advertisers to build device "fingerprints" which further erode privacy, to say nothing of the impact on battery life.
I don't own any iOS devices but, in all honesty, Apple's stance here almost makes me want one.
I should probably admit now that I hate the modern web. I don't really worry all that much because having a mobile device and having privacy are mutually exclusive. I punt on privacy, but I find the experience of modern websites so unreliable, slow, and overall user-hostile that I prefer to do literally anything else.
I dislike the experiences enabled by JavaScript-driven web APIs so much I've taken to browsing with JavaScript disabled. This returns the web to a beautiful, clean simplicity that would probably make Apple happy. Sites that load without JavaScript I read – sites that don't I can't be bothered. Yes, I am serious. If Invidious can load YouTube content without JavaScript, why can't YouTube? I don't know and I don't care. I wrote a script to make sure I am always redirected to Invidious ( [9]PeerTube is a better alternative) but I digress.
[10]Alternative search providers write letter to EU complaining that Google antitrust action achieved diddly-squat
[11]What if Chrome broke features of the web and Google forgot to tell anyone? Oh wait, that's exactly what happened
[12]Apple warns of arbitrary code execution zero-day being actively exploited on Macs
[13]Google emits Chrome 94 with 'Idle Detection' API to detect user inactivity amid opposition
My point is, I want to support Apple here, but unfortunately I think the argument that Apple is holding Safari back to protect user privacy is weak. While I don't think Apple is all that worried about web developers hurting its App Store profits, I also don't think the company is big enough to ignore the web completely and not suffer the consequences. That is, Apple may believe that it's acting to protect user privacy, but it won't work.
Failing to implement these APIs hasn't stopped them from being adopted in every other browser. It will take a while, but we already know how this story ends. It ends like it ended for Internet Explorer: Microsoft lost. Everyone else moved on and eventually Microsoft was the company with the product no one wanted. If Apple goes down that road, not only will Apple lose, but the web will as well. Because the Apple defenders are right about one thing: if Apple doesn't stand up to Google's Blink juggernaut, it doesn't look like anyone else will either.
Just what does that juggernaut look like? Web developer Tim Perry recently [14]pointed out that once upon a time every browser was offering their own add-on APIs. But, as Perry writes, "Chrome effectively dominated developer mindshare, provided more powerful and easier to use extension APIs that became far more popular, and both Firefox and Safari … killed their own APIs and accepted Chrome's, unintentionally allowing Google to unilaterally set the web extension standard." This is what happens when no-one is around to push back against the market leader.
Now the same thing is happening with dev tools and APIs. "Chrome is following the same path today," writes Perry, "offering web developers more powerful tools and a better development experience (better devtools, fewer bugs) than Safari. If nothing changes, the outcome is likely to be similar. This is bad."
How Apple really could help the web
What the web needs is someone to put the brakes on Google and Blink and make sure that the APIs being created are good for web users. Not just good for Google users. Not just good for Apple users. Not just good for web developers. Good for everyone.
Too much of modern web feature development happens in silence with very little debate. Blink developers propose features by shipping them in Chrome behind a developer flag. At that point there's already a working implementation and debate is difficult – if not impossible.
I'm not suggesting that Apple would have impure motives, but it seems like perhaps its vision for Safari might, temporarily at least, be helpful to the web standards process … if Apple could change how it approaches Safari.
It's probably a pipe dream. But as long-time web advocate (and former Opera evangelist) Bruce Lawson recently [15]wrote : "If Apple allowed Safari to actually compete, it would be better for web developers, businesses, consumers, and for the health of the web."
If Apple were less opaque and faster in its development process it could participate more in the debate over new APIs. If the company truly has concerns about the privacy implications of APIs, then it should voice them. Push back against Google, and provide a real alternative to Chrome. It wouldn't be easy, but it might be the only hope we have. ®
Get our [16]Tech Resources
[1] https://www.theregister.com/2001/08/29/internet_explorer_6_one_mans/
[2] https://wpt.fyi/compat2021?feature=summary&stable
[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2YXLgPmKkYNuOihB8XqQ7jwAAAMc&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YXLgPmKkYNuOihB8XqQ7jwAAAMc&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YXLgPmKkYNuOihB8XqQ7jwAAAMc&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[6] https://www.chromium.org/blink
[7] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YXLgPmKkYNuOihB8XqQ7jwAAAMc&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[8] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YXLgPmKkYNuOihB8XqQ7jwAAAMc&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[9] https://joinpeertube.org/
[10] https://www.theregister.com/2021/10/07/alternative_search_providers_protest/
[11] https://www.theregister.com/2021/10/04/chrome_breaks_web/
[12] https://www.theregister.com/2021/09/24/apple_zero_day/
[13] https://www.theregister.com/2021/09/22/google_emits_chrome_94_with/
[14] https://httptoolkit.tech/blog/safari-is-killing-the-web/
[15] https://brucelawson.co.uk/2021/set-safari-free/
[16] https://whitepapers.theregister.com/
Re: it's Chrome's insistence that API's it includes should be an industry standard.
Cui bono? Users? Developers? Datasucking evil corporations?
Upvoted IGotOut: get shit right and stop pissing people off with new "features"
Case in point when I was reviewing our sites in Web Vitals was support for .webp - Safari is the only browser that doesn't support it.
Pathetic.
You must have an old version of Safari - webp support was introduced last year around June with Safari 14.
Oh no...
... there isn't a new feature added every 4 weeks.
Here's an idea, slow it down to Safari's 6 month cycle and get shit right and stop pissing people off with new "features" and "improved experiences" nobody asked for.
Re: new "features" and "improved experiences" nobody asked for.
This. One thousand million trillion zillion times this.
The world needs web content and web browsers that are primarily *display* tools. Want more than that? Lots more than that? Then it probably doesn't belong on the web, and it's not the job of the web browser to provide an all singing all dancing "portable" runtime environment (same nuisances incompatibilities and vulnerabilities everywhere? [1])
The web is dying anyway. The walled garden approach now universally found in "modern" mobile applications will see to that. Sometimes simpler really was better.
[1] "Same idiocies everywhere linked into everything" is systemd's job.
Re: new "features" and "improved experiences" nobody asked for.
Don't usually upvote Anonymous Coward posts but yes, this.
Re: new "features" and "improved experiences" nobody asked for.
In tomorrows news - how Google/Chrome are breaking the internet all over again by rushing out a feature that nobody other than the advertisers actually want.
I would rather have properly-thought out stuff than Google's slapdash approach any day.
Re: Oh no...
@ IGotOut
Absolutely agree. but what's worse is web devs immediately latching onto the new "features", making older browser unable to render their productions. That in turn forces the churn that sustains the update rate - a vicious positive feedback loop that serves nobody except the technocrats.
Many flat content web pages now refuse to render except in the very latest generation of browser. When you examine the source it's typically a bloat of obfuscated client side code that can neither be checked for security or run in the older browser. For example, until a couple of months ago, the RS components web site (which we've been buying from for years and years) worked perfectly in a slightly older version of Firefox with javascript disabled. One simply searched for a component and the item came up on the screen. Then suddenly one day any attempt to search for a component yielded nothing except a permanent spinner, apparently waiting fro something that never occurred. So no more component searches and RS lose a customer.
As another poster asked, "cui bono?"
Odd post
I’m Safari user on macOS and iOS, by choice, don’t work for Apple and am heavily involved in some parts of the Web Platform Tests.
While I recognise some of what you’re saying here, each of the three browser vendors is behind the curve - as it must be. The spec moves forward and the browsers play catch up. Where they focus is inevitably a decision that rests with them, but each of them has coverage issues, some of which are very long standing.
Personally I don’t see that Safari is noticeably further back, and in some areas it leads (I believe CSS Color 4 is fully implemented in Safari, including mobile. Chrome’s work is ongoing, and Firefox haven’t started as far as I know). I can’t speak for all areas, and I know in the areas I work in it’s probably the weakest of the three. But not by much.
It could be that the author has a point on certain API’s, I wouldn’t know as I don’t use them. But we’re a long way from IE6.
Re: Odd post
Okay, you found one thing Apple leads on. Unfortunately, that really doesn't impact my day to day usage.
But you know that if anybody's not implemented a feature yet, it will be Apple. Take Object.hasOwn(). Core. Useful. Okay, trivially polyfillable. But I'm carrying around a pollyfill because Apple hasn't got round to it yet. And will have to continue to carry around that dead weight if I want to support older iOS devices.
There's Safari's half-hearted supports for custom elements which is holding back modularisation of code.
And then there's the buggy implementations, too. Of stuff like CSS grid.
Re: Odd post
“And will have to continue to carry around that dead weight if I want to support older iOS devices.”
Or, you know, Macs running older versions of OSX, Windows 7 and 8 clients, 3 year old Androids that no longer get updates…
Re: Odd post
As an end user, I couldn't give a poylfill.
Wrong comparison - IE6 (and IEs in general) added all sorts of MS-specific shit that was not thought through or actually desirable to most folks.
Now it is Google Chrome that is adding all sorts of shit that is not desirable because of privacy or security. Google don't care because the business model is about whoring you from advertiser to advertiser, and web developers have drunk their kool-aid.
Although the language in which that was put grates a bit on me it's (a) 100% correct and, well, (b) 100% deserved as phrasings go because they &^$%# keep trying.
As far as I can see Google is simply the new Microsoft, just several shades more evil.
Ahem, 13 shades of blue, green, yellow, and read.
Anther problem with Safari is its bound to the version of iOS. So once your phone stops being supported, you get stuck with an old version.
Whereas my Android 6.0 still has the latest version of Chrome (and matching Webview).
iPhones are typically fully supported far more and more often than Android devices, including the rather important bits like the network stack / operating system that lets your browser do its thing.
Chrome and Firefox are in the iOS app store. Just not very popular compared to safari.
I'm an old git
using a browser on your phone? Never heard of it. I make calls, do some texting, take photos(mostly of work related crap)
If the alternative is Chrome
or derivative of it then
Sorry, I'll pass. I will not run any Google software on my systems. Google.com is blocked at my firewall.
Re: If the alternative is Chrome
No need to apologise.
'holding back' ?
Why do you feel the need for constant spec updates ?
Other presentation systems don't do this. If some feature isn't provided, you implement it from the existing features. If those aren't flexible enough you look at the core features and redesign on a sensible schedule
Adding to the basic spec and expecting it to be available on every one of billions of browsers worldwide is just insanity.
A man after my own heart
"I should probably admit now that I hate the modern web. I find the experience of modern websites so unreliable, slow, and overall user-hostile that I prefer to do literally anything else. I dislike the experiences enabled by JavaScript-driven web APIs so much I've taken to browsing with JavaScript disabled."
Some websites try to load scripts from 15+ different sites. Many times they try to load multiple analytic websites; why is one not enough? There are multiple unscrupulous, abhorrent privacy-hating advertisers; internet ads once worked quite well without tracking, which means they can work today. And worst of all, some websites will not load unless you enable javascript. All this is bad and wrong.
It seems to me that modern programmers have myopia. They use Google Chrome, they test on Google Chrome, therefore it works. They don't test with Firefox or Safari. If it doesn't work, their solution is to use what they use. They create websites on powerful computers with ultra-fast internet. If a website is too slow, their solution is to buy a stronger computer and get a faster internet. Not everyone can afford a new computer, not everyone can get or afford fast internet. Instead of people conforming to you, you need to conform to your users. And that means assuming they use a different browser, assuming they have a weak computer, and assuming their internet is slow.
Re: A man after my own heart
This. My internet speed keeps getting faster. Websites keep getting slower.
I dread to imagine what today's internet experience would be like through a 33k6 modem. Imagine, once upon a time, Google was perfectly usable with that.
Re: myopia
It's not only that modern programmers are myopic, they are worse: arrogant . They make a decision, they believe that their decision can only be the "right" choice, and stick to it through thick and thin.
MS Ribbon. GNOME. Systemd. Google (just about anything, actually). Facebook.
The examples are endless . User preferences be damned, better ideas be damned, [I / we] are going to stick with our idea because it must be the "right" one. What is right for me by definition will be "right" for you, because I'm the programmer, I know more about tech than you, so that makes me fundamentally correct from the very outset.
It is absolutely killing our tech experiences.
To anyone who desires a slowdown...
Please understand that the web moves at breakneck speck partly because the majority of its users (read: NOT THE LIKES OF US HERE) demand it, and partly because the pace drives demand from the aforementioned, creating a vicious cycle and leaves us either hanging on or giving up and getting off and getting left behind. Sorry, but that's just the way it is. If you want to change things for the better (like for me, a split between a passive web and an active graphical terminal interface), you'll need to convince Joe Stupid and all the Facebook Friends first.
Re: To anyone who desires a slowdown...
"Please understand that the web moves at breakneck speck partly because the majority of its users (read: NOT THE LIKES OF US HERE) demand it"
Nonsense. The vast majority of users don't have the slightest clue about anything regarding computers or the internet. They just take whatever they're given. If they're given browser updates every half hour to allow sites full of tracking, infinite scroll, flashing adverts, dogs and cats living together, and so on, then that's just what they'll use and will quickly consider normal. Give them a stable browser with a consistent interface that rolls out relatively minor updates once a year, then that's what they'll use and will consider normal. Not a single part of the internet was created because it was demanded by ordinary users before they even knew it might be possible.
Re: To anyone who desires a slowdown...
"because the majority of its users ... demand it"
Citation needed.
When was the last time anyone heard a typical web user exclaim. "What I really want is for my phone/PC to run slower ... and more erratically. And I **LOVE** ads. Please send me more of them. And I don't think I'm being spied upon anywhere near enough."?
you use Safari and are bound by its limitations
Such as a site that crashes Safari. It's okay, I'll just load it up in...oh, wait...
I think it’s great that they don’t give in. A browser should be as simple as an email client. Websites should be cleaner, simpler, faster. And follow standards. For all other advanced features there is the OS to support them.
Chrome will soon make french fries (a saying in my native language which means it will start doing stuff a browser should not do).
Personally, I hate that Google and others refuse to make native apps and insist on making all apps web-based. But they’re only doing it to promote their own browser and also ChromeOS.
How do you think web standards work?
I understand your don't like Google, that's your right, but don't just make stuff up. The web goes through standards bodies of very hard working people from many companies, all trying extremely hard to make a safe, secure web experience.
The fact that you feel native apps are actual safer prices my point, they are not and not getting upset with Apple about this again proves you don't understand what's actually happening.
Don't like Google AMP? Either do I! That's something you should be upset about, I agree with you! But that's not part of the web standards process.
Re: How do you think web standards work?
Safe and secure? Like the Battery status API?
[1]https://www.w3.org/TR/battery-status/#:~:text=The%20Battery%20Status%20API%20specification,for%20the%20task%20at%20hand.
[1] https://www.w3.org/TR/battery-status/#:~:text=The%20Battery%20Status%20API%20specification,for%20the%20task%20at%20hand.
Re: How do you think web standards work?
From the spec of that API
The Battery Status API specification defines a means for web developers to programmatically determine the battery status of the hosting device. Without knowing the battery status of a device, a web developer must design the web application with an assumption of sufficient battery level for the task at hand.
A web developer should NOT have access to the battery status of my device under any circumstances. It can tell when you are on battery or power which is all part of tracking the user and device.
The reasons quoted for needing is info is IMHO total spurious. Who would design a web page that would suck the life out of a battery? Oh yes, crypto mining.
Re: How do you think web standards work?
Agreed. There are no legitimate circumstances when the battery life of the device is required by the website; that is exclusively an issue for the user.
Oh no, we don't have the latest!
> developers who want to use "cutting-edge" web APIs
...should get publicly flogged! Novelty for novelty's sake, having to constantly add some new "feature" to justify your salary is stupid, counterproductive and utterly dangerous. It leads to today's horribly bloated web, where the least meaningless web page loads tons of 3rd party JavaScripts for no other reason except justifying somebody's salary.
Here is a crazy idea: What if (let's imagine) they started building web sites just for the purpose of informing/selling/whatever? Streamlined, perfectly tuned for the purpose they were built for? I know it would be utterly unprofessional and not command a huge price, but I think the web would be much better for it.
In the same spirit, fixing the browsers' development cycle to 12 months would be great. Not only would we be spared all those constant meaningless updates ("added a line break in the About menu")), but one could even hope they would have time to squash more bugs before release (yes, I know that's unprofessional too, testing is supposed to happen after release).
It wasn't actually that IE6 was a long way behind as such. It was more that MS seemed determined to make their browser totally proprietary in every way possible. Their plan was obviously to try to leverage their dominance to such an extent that websites would only work on their browser, so that people would have to at least keep a copy of IE6 for those websites. But of course what this meant in reality is that everybody coding a website had to put in loads of browser specific code*
So the difference between Safari and IE? Microsoft were malicious, Apple are merely hopeless.
*This does not include those sad individuals who did their best to code their minority interest websites so that they would only work on one browser (usually firefox) in order to try to force the uptake of their favourite browser.
The choice
I mean if we have to choose between Google and Apple, I'd very much go back to using Lynx in the terminal.
Web standards have grown too complex (& sold out re DRM, I sympathise with EFF feeling they had no choice but leave W3C).
I hope Apple hold out against some of those Google APIs, which are privacy invading (& a security issue too).
Apple may be small but have enough market share to make a difference, e.g. Apple unilaterally stopping Flash support was the thing that really killed off Flash.
Disclosure: I am not an Apple user (partner is), hate the whole idea of web apps, a browser should not be a "mini OS", give me proper applications, don't try and do everything in a browser.
Surfs the web with JS disabled...
...and at the same time complains about Safari's missing features.
What.
I honestly can't recall a time when I've read an article on El Reg that was THIS nonsensical.
Siding with apple on this one
I don't need autoplay videos, I don't need my browser to know my location, I don't need any of that needlessly complex, info sponging, buggy spyware enhancing 'features'. If my desktop can't do it...
Why can't I render a page on an old Pentium? Crap features that I don't need or want that's why. I don't buy off those ads anyway... Just heat up my phone, kill the battery, and blow up memory usage. And I have yet to see the killer feature any of the junk/bloat provides.
An example
A perfect example of this is the official government of Canada weather web page (weather.gc.ca). For years it worked just fine. Had a button for radar maps, which came up and didn't change other than when they had to wait for radar data to fill in the space.
A year or two ago they started messing with it. They have continued to make it worse.
Now, it bounces around two times before stabilizing (I suspect async stuff, and the actual data arriving after the basic web page is shown).
I once tried it on my old Android phone. The weather radar stuff was slow to load. I scrolled around to try to find actual radar imagery, and it let me scroll to places 1000 miles away. Eventually I realized that its another async monstrosity - I should have simply waited after the page first came up, hoping to see local radar data. Only when it was done should I have tried scrolling the page to center the radar imagery. Ick.
I think we have different memories of Internet Explorer, but IE's inability to implement standards wasn't the reason it was bad. It was the audacity IE had to think it's implementation of various things should be the standard. Which meant when it came time to coding a website, you would often have it working perfectly in Firefox, with cascading versions of the CSS to suit IE8, IE 7, and the total car crash of IE 6.
The issue really isn't Apple's reluctance to implement various API's in to Safari, it's Chrome's insistence that API's it includes should be an industry standard. Like what's been said, a web developer really shouldn't have or need access to various parts of the computer viewing the site. So why is there an insistence that this should be the case?