Hacker News new | past | comments | ask | show | jobs | submit login
WebKit Features in Safari 16.4 (webkit.org)
347 points by om2 on March 27, 2023 | hide | past | favorite | 193 comments



Yet another huge update of features to Safari, building upon the great progress they made last year in:

- leading on the Interop 2022 dashboard results [1]

- posting the best Speedometer score on the Mac [1]

- changing their pace of innovation and releases to deliver newer API features in a quicker manner

[1] https://www.magiclasso.co/insights/triumph-of-safari/


I would really like to give Safari a chance but I just cannot get over the fact that there's no support for more advanced ad blockers. Sticking with Firefox/Brave for now.


I'm extremely happy with Safari's approach to blockers. I very much appreciate that it is impossible for the extension to receive every URL you are browsing. I've been using AdGuard for Safari (GPL3) and it seems to work perfectly.

I'm shocked you'd choose Brave over this, whose security history and business model is very, very questionable.


I expect that at some point, declarative list ad blockers will stop working as well as they do today.

The companies with an interest in working around them probably temper their efforts, because they are aware it drives people to things like uBlock Origin that have more smarts, live heuristics, etc. Once manifest v3 kills that option off, there won't be any easy place for end users to escalate to. Then, they are free to start being more aggressive. Whatever measures they take would work around all the DNS based and declarative semi-static list based approaches.


How can you block URLs without seeing them? Is it something where the blocker has to submit all blocked URLs beforehand? Hashing?


The blocker provides a list of patterns to the browser, and the browser itself does the blocking.


So it can't block youtube ads then, for example.

Prepare for future, where such ad system is going to be standard and ad blockers useless.


It does block Youtube ads but very poorly. Sometimes the ad plays but a refresh immediately removes it, other times it can take multiple refreshes. It's not perfect like it is when i use Firefox or Opera so I stick to Yputube on those and Safari for general browsing.

Sidenote: Also Gmail is insaaaaaaaaaanely slow on Safari and a lot of sites just don't format well or ad blockers completely break the site. Safari is by far the worst browser on Mac for site compatibility and also extension selection but I use it for better battery life when not plugged in.


> "Sidenote: Also Gmail is insaaaaaaaaaanely slow on Safari"

Huh? I haven't seen this. I have 280,000+ messages (> 20 GB) in my Gmail and everything always works pretty much instantly in Gmail on Safari. Never see any slowness unless my internet connection is very bad, and even then Gmail does a decent job of hiding it.

(Don't get me started about Apple Mail on iOS being incredibly slow at loading Gmail messages, however...)


Not being able to block YouTube ads is always used as some kind of gotcha, but for me the trade-off is easily worth it.

Besides, blocking YouTube ads seems a lot scummier than blocking regular ads. Ad least some percentage of that ad revenue goes to the creator of the video you're watching, and not to Google. It's why I'm happy to subscribe to YouTube Premium.


In practice safari blocks all ads I can see, youtube ads might be an exception but it's one of the few services that is 100% worth paying for, considering how crucial they are, how much time most of us spend watching content there, and how fair their premium offering is.


It does, at least for me (using free AdGuard).


I've noticed YouTube seem to have introduced (or are testing?) some sort of partial countermeasures recently that sneaks occasional ads through. I don't see anything like the quantity of ads I get in the YouTube iOS app, just the occasional one ad every now and then?


This seems to be possible, not entirely sure how though.

https://apps.apple.com/us/app/vinegar-tube-cleaner/id1591303...


Vinegar replaces the YouTube player with the baked in HTML5 video player. It blocks ads, but YT also restricts quality and many advanced features are not supported.


You might like Orion from Kagi. https://browser.kagi.com/


Thanks, I didn't know about this one, will try it out.

I love safari but the ad blocking sucks, having to run stupid stuff on top (AdGuard for Safari)


Got recommended Orion from one these threads and haven't looked back. Love Orion!


Huge fan of Kagi and Orion, though unfortunately I couldn't live without Firefox's Multi Account Containers. I'd hop back to Orion in a heartbeat if they had something comparable.

(And also it's been three months since I used Orion, and development is fast-paced, so things could have changed a lot since then)


They are still working on it. [1]

Personally, Right now I basically resorted to using several profiles but it only supports 1 profile per window so I end up having sometimes 3 windows at the same time. I still switch from time to time to Firefox but it has actually helped me sometimes to keep focus (I.e work).

1. https://orionfeedback.org/d/43-something-like-firefox-multi-...


This doesn't seem to be true anymore, with products like Wipr Extras going beyond the content blocker API:

https://giorgiocalderolla.com/wipr-faq.html#what-is-wipr-ext...

Naturally, Safari Extensions seem to more frequently cost money since Apple's developers have to pay for Mac hardware and developer accounts. But to say that Safari doesn't have good enough extension capability from a technological level doesn't seem to be true anymore.

On my Mac Safari is my default browser due to the battery efficiency and OS integration (e.g., SMS code integration), but I do sometimes use Firefox/Chrome for specific websites where needed, something like 5% of the time.


... what do you mean by "more advanced"? The default/efficient approach with Safari is content blockers (i.e. a precompiled list of url patterns to block in the engine itself), but extensions can also include javascript too.

1Blocker - a well known 'traditional' safari content-blocker - does this for example, to provide ad blocking on sites like YouTube.


I've found that AdBlockers on Safari don't work well at all. I have 1Blocker on my iPad, and not only does it fail to block YouTube and many other ads, it also seems to slow down Safari and induce crashes + memory leaks.


I have to admit I don't use 1Blocker for YouTube ads. I use Vinegar, which isn't strictly speaking an ad blocker - what it does is replace the custom YT player with a native platform player (i.e. regular controls you get with a plain <video> element)...

this has the side-effect of removing all Youtube ads, and you get familiar controls for the video player.

I can't say I've seen any issue with performance or crashes due to 1blocker being active, on phone or Mac (I have on my iPad too but dont use that device any where near as much as the phone/mac)


I use Wipr and it handles everything including YouTube ads (iPhone & Mac)


1Blocker works fine for blocking YouTube. Are you sure you have the `1Blocker Actions` and `1Blocker Scripts` extensions enabled?


I use 1Blocker on both my Mac and my iPad/iPhone and have had no issues with it blocking YouTube ads.

I kinda wish I could use 1Blocker on my Apple TV :P


Strange, I also have 1Blocker on my iPad, and it blocks YouTube ads just fine in safari.


What do you get with advanced ad blockers? I'm using 1Blocker on Safari — what am I missing out on?


Things like blocking ads in YouTube videos, I guess.


Have AdGuard for Safari and see no YouTube ads (or anywhere else).


There’s an extension for Safari called Vinegar who does this, and due to how Safari works it works on both desktop and mobile!


Wipr blocks YouTube ads without replacing the video player


AdGuard (the full, paid version for MacOS) is the way. I don't use Safari anymore, but I'm still happy enough with it to not install anything else for other browsers. Unfortunately, the iOS version only works as an extension for Safari.


Ka-Block!

Open Source ad-blocker with silly name but its great.

Vinegar

Native video player on youtube, also means no ads.

Hush

Hides cookie consent dialogs (this sometimes break some sites, thanks EU)


> posting the best Speedometer score on the Mac

Are browsers that don't use Webkit as an engine (just their own skin on top of it) allowed on MacOS? Or is that just iOS?


Yes. macOS is an open platform. You can install whatever you want.


Yes, MacOS never had similar limitations as on iOS. I'm using Firefox which uses its own renderer as a daily on my Mac. There are signs that iOS will (be forced to?) drop that restriction as well in the future. Google started working on a Blink based Chrome for iOS.


Yes they are, what you are talking about is only happening in iOS.


I disagree with the Chrome comment, but how about decoupling Mobile Safari upgrades from OS upgrades?

It would be nice for all users to get access to these new APIs via a simple app update. This would allow developers to actually start using them within days/months rather than years.


The built-in webkit is used extensively in apps. Tying it to the OS release makes testing and development a whole lot easier.


> Tying it to the OS release makes testing and development a whole lot easier.

Right now I'm having to debug an obscure issue with Safari and Mojave.

In my experience, coupling the browser with the OS version has been nothing but problems.


Well joke's on you, on macOS Safari is decoupled from the operating system.


Nope it's not. You can't get v15 or v16 even in Mojave which is just a couple of years old.

https://en.wikipedia.org/wiki/Safari_version_history


The fact Safari is no longer supported in Mojave doesn't mean you can't get Safari updates separate from OS updates.


You're arguing semantics.

The simple fact remains that Mojave doesn't have access to Safari updates.


I think you're arguing semantics. Apple's refusal to push app updates to much older OSes is unrelated to coupling Safari's release with macOS.

Safari team is constantly deploying new features and you can get advance access through Safari Technology Preview. These aren't part of the system but are standalone applications. The simple fact that you can download multiple versions of them on your Mac is the point. New versions don't ship when macOS updates ship. OP is right.


You just agreed with him by saying pushing updates to older OS versions.

If Safari was an app it wouldn’t matter what OS version you were on. Edge will run on windows 7, 8, 10, and 11 all from the same installer.


Exactly.


But it doesn’t run on Windows 95 so…

Apple is more aggressive about removing backwards compatibility, but that doesn’t mean it’s linked to the OS.


Safari uses frameworks from macOS and iOS which is the reason you can't get v16 in Catalina or before.

Whether this is "coupling to the OS" or "deprecation" or "aggressive removing backwards compatibility" is really a matter of semantics.

I will say this though, it seems Apple is changing their policies since Safari v16 is now available down to Big Sur.


Android's webview is updated separately from the OS. Is that a problem in practice?


Last time I developed mobile apps that depended on consistent webview functionality, Android went a step farther: Android vendors could replace the webview provider with something custom, and some did (Samsung, at the time, notably and impossible-to-ignore since they're huge). Not only might you not get a particular version of Chrome/Blink providing your webview—you might get any engine. There were basically no guarantees at all.

The result was that the only way to obtain non-crazymaking behavior and bug report loads on Android, if you needed a webview or even just a javascript engine, was to bundle your own thing. IIRC we ended up bundling a JS engine to get around the worst of it, for what we needed—might have been a full browser we bundled, can't recall for sure. We encountered multiple real problems in the wild trying to use the built-in engine(s). On iOS, we both couldn't bundle our own JS or browser engine (by policy) and... had no need to, since that never caused many problems.

It's one of of several reasons that, while Android developent was probably easier even then at a hobbiest level than iOS was, it was a much bigger pain in the ass to support & develop for at any kind of scale. But, that was a while ago—maybe it's gotten better.


Echoes of Microsoft's "Windows Internet Explorer"


Is it very difficult to ship two versions of it, one "stable" in the OS for embedding, and another in an app?


Then you have to have two copies of the program, on disk and, at least at times, in memory. And they behave differently, which might be confusing. And all kinds of handoff scenarios and edge cases get potentially-weird.

Meanwhile, how many users would sacrifice any amount of stability or even just disk space to get somewhat-quicker releases of browser features? I'm guessing the percentage may very reasonably be rounded to zero. It's not even close to being urgent enough to be worth any amount of risk or extra resource use, IMO, as someone who conceivably might care about it, and the vast majority of users are even less likely to give a damn than I am.

So: why? Maybe I'm unusual, but it's been a really long time since I saw a new browser feature and was like "holy shit, this is amazing and I don't know how I browsed the web without it!" I can wait a few months for a browser update, it's really not a big deal.


>how many users would sacrifice any amount of stability or even just disk space to get somewhat-quicker releases of browser features?

Android does this so I figure quite a lot of users are willing.


Not only that; Chrome, even when preloaded, is uninstallable like any other app. It's use is not mandatory.


>even when preloaded, is uninstallable like any other app

Most preloaded apps are installed on a read only partition. Since it is read only you can't uninstall it.


You can disable them. System then behaves as if it wasn't there, without having to write into read only partition.


That's what they originally did, and developers complained that in-app browser wasn't getting the same features as the main browser


Make it an option for developers. They should be able choose between an OS-provided "stable" webkit, or the Safari-provided "evergreen" webkit.

You could even make it so that the stable option is automatically used as a fallback if Safari isn't installed, if that ever becomes an option.


or just ship both at the same time so it's nice and simple


How does macOS handle it then? It also provides a web view for apps to use, but Safari is updatable separately from the OS.


Is Safari actually updatable separately? I thought that Safari major versions are OS locked on Mac as well?

Though I think most "Web View" apps on Mac just use Electron (shipping Chromium in their bundles)


Yes, it's updatable. You install it as a separate component under "software update" in system preferences.

> Though I think most "Web View" apps on Mac just use Electron (shipping Chromium in their bundles)

I mean specifically WKWebView. The thing native (AppKit) apps use when they want to display web content.


Probably a lot more apps bundle their own shit on macOS, like on Android. Not permitted on iOS—and also less necessary than on other platforms, since the available webview provider is much more predictable and consistent.

[EDIT] But I'm a lot more familiar with mobile dev (Android and iOS both) than macOS development, so I could be wrong about that.


It will be there when DMA kicks in. The sole reason for Safari updates being coupled with OS upgrades is because "it's a system service, so we cannot allow other browser engines!".


For a developer, it exists already as a simple app update: https://developer.apple.com/safari/technology-preview/

Edit: Sorry, missed the part about the "mobile" safari. You're right, I don't think it's available for mobile.


It also wouldn't matter much to me if developers could upgrade. What I would want is for users of my app to be able to upgrade when prompted.

Fortunately the cutoff I've chosen for my current project isn't that bad - 15.4. It means some iPhone users won't be able to use it. Eventually I'll feel OK about requiring 16.4. But I second the request for being able to install a new version without upgrading the whole OS.


Why assume the Safari release cycle is hindered by iOS updates? iOS has an update every month or two. Chrome is every 6 weeks.


Old iOS devices don't get Safari updates for one.


Define old. The oldest iOS device receiving today's updates is the iPhone 8 released in 2017.

https://support.apple.com/en-ca/guide/iphone/iphe3fa5df43/io...


Firefox for Android still supports Android 5.0, which came out in 2014.

Many devices released prior to that were upgradeable to Android 5.0, including 2013's Samsung Galaxy S4.

Apple may have a good track record in terms of device upgrades, but a 10 year old Android device can still run the latest browser.

Apple's policies make that an impossibility for iOS.


Like the iPhone 5, I suppose?


Apple releasing support for web push was a big reason I decided to build an API for sending push notifications to PWAs.

Relatively easy to work with, though I hope their OS integration will add support for more native iOS notification features like actions.

If you wanna try out native push notifications it's pretty fast to try out: https://alerty.dev


Is there a trial or free tier to try out? I’m only seeing options to pay $5 to see if this could fit my workflow.

Edit: on the account page, it says “You're currently on the free plan.” But I can’t do anything with notifications.


Sorry I missed this. Yes there is a free trial- right now you get 100 notifications to test while building your integration out. Also a promo on producthunt today for 20% off.


it seems the WebPush on Safari does not play sound alert


The API also has support for things like custom vibrations, urgency, icons, and action URLs. But- these are minimally supported by Safari Desktop and Safari Mobile today.

I hope Safari iOS adds support for actions and shortcut workflows when clicking a notification.


Nice to see Apple giving some love to web apps. One feature (bug fix?) that I've been wanting for a long time is the ability to autofill from my password manager in Home Screen web apps on my phone. Autofill works in Safari, but once I turn a site into a Home Screen app it no longer appears. But only on my phone, iPad it still works.

Edit: Looks like someone may have already reported it 3 years ago: https://bugs.webkit.org/show_bug.cgi?id=210061

> The space for the saved accounts is there, yet the text is empty. There's nothing to select

Sure sounds like what I'm seeing, except instead of being intermittent it's always like that.


I've been waiting on that update to ElementInternals for years now - this was one of the main blockers to really allowing for accessible webcomponent form inputs.

Really excited to see some cool custom form inputs, and for those will inevitably say "use the native form elements, dont make your own!" I agree when that's an option, but often times you do want custom form inputs (i.e. a video uploader form element that allows you to define crops / cuts / etc). This will open up the options for things like that, and will result in some great custom experiences that are also accessible.


I'm a bit surprised no one has brought up the issue with App Library support (or rather, the lack thereof) yet.

When you "install" an PWA, you can only keep it on the Home Screen, while native apps can be removed from Home Screen (not uninstalled) and only shown in the library


There's another place for apps other than home screens now?

I guess what your saying makes sense uninstalling apps lately has been "Remove from home screen" and "Uninstall", but i have no clue where they are.


Drag to your rightmost home screen and then drag one more time


> Safari 16.4 adds support for the video portion of Web Codecs API.

Interesting that they still don't support Media Source Extensions on iOS but are adding WebCodecs support. I keep hoping Safari will add MSE, as I'd like to support both live and historical content with one API on all browsers. WebRTC doesn't seem suitable for historical. Chrome and Firefox don't support HLS. Now WebCodecs seems the most likely option, by Firefox adding support. Fingers crossed that will happen... I haven't really played with WebCodecs but it seems nice in concept.


I find the dev tools/Web Inspector in Safari incredibly flakey. Just trying to autocomplete a selector in the CSS styles pane often mangles the string and doesn’t autocomplete properties correctly. Hope that Web Inspector gets some significant improvements soon


This. Safari overall is incredibly insensitive to developers and web community, and it is not easy to make your generic Chromium website to render on Safari nicely. For me personally it's sad to see them packing dozen new features incompatible with any other browser, much like Microsoft's infamous embrace, extend, and extinguish philosophy. I would love them to work on some stability and consistency with the rest of the web.


Pretty big deal for PWA. Now we can send push notifications, and update app badges.

Now if we could get periodic background sync api, and vibration api, that would be perfect.


Only for web pages that user has manually added to the home screen. Since normal users don't even know what that is, I don't see this as pushing the PWA envelope forward.


This is one of the integral features that prevented a lot of places from even creating PWAs. Now that it no longer exists as a problem, PWA adoption will increase and alongside it education. For example, many places are probably going to show a "add to home screen" banner, with related icons to make it easy for people to find where that setting is. Kind of like how many "normal users" in the past would have been scared about downloading a new browser, but now when you download a new browser it shows you the next steps on how to do so (most of us don't even think about these anymore, but they exist and are important).

A next major step is inclusion into the app store, but until then this is a major win for PWA.


> PWA adoption will increase

This is the 2020ies' "year of the Linux Desktop", right?


I tested some features on my PWAs.

New wake lock API does not work in PWA, only works in Safari...

Apple is making sure that nobody will use PWAs.

https://whatpwacando.today/wake-lock


If there is a bug, we will fix it. Bugs can be reported at https://bugs.webkit.org. We would never intentionally prevent web technology from working when a site is added to the Home Screen and opened as a web app.



Thanks for posting the bug links.

Also wanted to point out that the user feedback in https://bugs.webkit.org/show_bug.cgi?id=249645 is not the way we should treat browser developers. (Not blaming the parent - I assume this is some other user being..... cranky?)


Notification from WebPush does not play alert sound

https://bugs.webkit.org/show_bug.cgi?id=254562


> Apple is making sure that nobody will use PWAs.

Ah yes. The amount of random APIs that are an absolute necessity for something to be called the true PWA just keeps growing with every release.


Not really


The release notes for 16.4 include "Added Support for the Screen Wake Lock API"

https://developer.apple.com/documentation/safari-release-not...


Yeah, but "bugs" happen and this new wake lock only works in browser safari.

Does NOT work in PWA. Bug or intentional road block?


It does not work for me in browser Safari (iOS) either:

undefined is not an object (evaluating 'navigator.wakeLock.request')

Update: Turns out it's only available behind HTTPS. The PWA bug might be related.


I'd love to know if anyone discovers what is goin on with PWAs. I got wake lock working in the browser but not with the PWA.


That is a bunch of features that solve problems I have margin-trim, lh and :user-valid will all allow me to improve code in my projects. Unfortunately they aren't supported anywhere yet (except for :user-valid on Firefox). I would love to see the other browsers roll out support.


I tried :user-valid on Firefox and I can't see this supposed checkmark that's supposed to appear https://developer.mozilla.org/en-US/docs/Web/CSS/:user-valid


Remember you need to interact with it first (e.g. modify the value)—that’s the whole point of :user-valid. (That is: works for me, and this is all I can think of that would make it appear not to work.)


I did modify it and blur https://i.imgur.com/D04xIia.png

No error on empty string either


This is :user-valid and an email field.


Still no Fullscreen API and no Screen Orientation API(and also orientation in web manifest) on iPhone. Apple surely hate PWA right? Without these, you can't even make a simplest portrait pwa that didn't got rotate by user accidentally.

It's even funnier that they shipped fullscreen api to iPad and intentionally ignore iPhone without a reason.


Why wouldn't they hate a direct competition for their precious Monopoly Store


What is the best way to maintain a session cookie when a web app is added to home screen?

Right now I take people to a secret URL with long generated token so the web app will also have it and be able to correlate the two. Yes I can have the user re-sign-in with credentials, or webauthn, but seems overkill.

Also can Apple add some sort of thing like Chrome has “beforeinstallprompt” to actually show an install promopt?


> beforeinstallprompt

Apple's philosophy is that it needs to be on the home screen, and that popups prompting users to install the app were a mistake (many people will allow notifications and app installs just to dismiss prompts). Making people do a song and dance should reduce the potential for "your grandparents" accumulating an infinity gauntlet of spam notification PWAs.


Looks like I might finally have a reason to upgrade my iPhone 7!

Web Push is fantastic for developing useful applications without paying the apple tax, which necessarily results in the garbage-tier free apps dominating the App Store today (Want to do anything at all? Watch an ad every minute. Want functionality that's not the absolute bare minimum? Pay $5/month forever.)


Free apps are not using ads because they need to fund their $99 developer fee.


I ain’t publishing any utility apps for free if I have to pay. I have made plenty of utility websites I use as Home Screen apps though, all without ads.


I had a free password generator app on the Mac App Store. It wasn't super popular but had like 50-70 daily downloads. I didn't make any money from it. Just made the app because I needed it myself and wanted to learn a bit of macOS dev.

After a couple of years I decided to stop paying $99 a year for hosting a little 5MB app.


And that was your choice on the Mac. You could put the app on your own website and let users download it.


Indeed. So?

My point was not about distributing the app but about paying $99 every year to distribute a free app using the official app store.


If you don’t want to spend $99 to use the “official Mac App Store”. You have other options on the Mac. What’s there to complain about?


Me: "X has this problem"

You: "but you can use Y"

Me: "I know, just saying X has this problem"

You: "But you can use Y. Don't complain about X."


If my head hurts when I repeatedly hit myself over the head with a hammer, guess what I do?


Does the app disappear from the store when you stop paying the yearly Apple tax or you just can't update it?


Gone. I used to make utilities on iOS but got sick of paying $99 a year for a platform where an update takes a week+ to go through and sometimes will get rejected for... basically no reason at all. All those utilities are gone now.


It's removed from the AppStore.


Do you not have any hobbies that you pay for?

When I was deep in the C# ecosystem, I personally paid for my own JetBrain license.

Do you also not pay someone to host your web apps?


Paying for the privilege of getting to fill gaps and solve problems on my device operating system that the recipient of those payments who also happens to control said device and operating system refuses to resolve or has even purposefully introduced. Yeah, no thanks.. I'll pass.


So are you saying that Apple should produce any app that anyone ever might need?

Do you feel the same way about console makers?


That's not at all what I'm saying, you are putting words in my mouth.

"I'm not paying for the privilege of..."

Edit: A continuation of the above but paraphrased from my previous comment: ...being allowed to step over this ridiculous barrier to implement these fixes myself on my own device.


It is not only $99.

It is $500+ (used) computer also.

Cannot use your old PC do develop iOS apps.

$99 may be nothing for most HN users, but for 3rd world developer...


I’m a third world developer. In the third world, at least in Ghana, iPhones are over represented in the middle class and by association many people have MacBooks.

This means there is a glut of older models in second hand market or passed down to kids, cousins, and family friends.

The problem with the 99 dollars is that it’s payable yearly. Yes someone might sponsor you once and give you enough for a single year but they won’t do it ever year. You have to make enough yourself and that’s a tall order of business if you are a student.

Thus no one learns iOS development first.


I get that PCs are more common but you can't classify that as a recurring cost. I mean, if your computer is a Mac than there's no cost. It's only if you're using a PC that you have to get a Mac to develop for iOS etc.

But I totally get you, Apple is but one company and they've completely bungled reasonable prices in many countries, for example India.


I use Cloudflare free tier and am trialing Fly.up free tier for always-on servers as needed (websockets, etc.)


There are good apps out there written by casual people, they just can't spend the time and money on making their app easy to find.


I hope they fix the "Never Auto-Play" setting some year.

Obnoxious autoplaying video is a scourge.


[self-promotion] Use my extension StopTheMadness: https://underpassapp.com/StopTheMadness/


And with this, finally certain people can stop saying Safari is the new IE6 because it is lagging badly.

Because that title is reserved for a certain behemoth that enjoys the same popularity as IE6 once had and which IMO is probably more dangerous to the free web than IE6 was when EU reacted.


It's not about it lagging behind it's about it requiring more special consideration compared to the other big players.

Like styling scroll bars in FireFox. But more often it feels like Safari is the special needs browser.

Sometimes it's because it lags on features. Sometimes it implements a spec differently. Maybe it's the websocket bug of 2021/2022 that took forever to fix(was it?!) because their weird update cycles.

It all adds up.


If you're developing for Chrome first, it's hardly surprising that a browser made by a company which takes a much more conservative approach with user privacy and device efficiency isn't going to just adopt every half-baked API the Chrome team throws out there.

Does Safari lack support for some actual standards? Sure. No browser is "feature complete". The difference is, a good chunk of what people complain about, are draft features, made available in Chrome because Google's whole business model is "put everything in a browser, and track the bajeezus out of it".


It is sad to watch MS (Windows as a whole; they seem to have forgotten they should be an OS) and Google (Chrome in particular*) compete for title of "most widely deployed spyware".

But IE6 was not spyware, it was a browser that was maddening to use, and purposely anti standards. That title, currently, is theirs alone.

* It is really no contest - Chrome is king. But even Google's little things - G-Fonts loads JS to track users on websites, and Android SDK installs an updater that also spawns nameless DLLs that run in the background and regularly send info home, would be impressive for any other spyware app...


If anyone finds themselves wanting to build a static site with cron-interval push notifications using the Web Push API announced here. I wrote a simple service that lets you get notifications on a cron interval without needing to write any backend code / host anything:

https://benkaiser.dev/time-trigger-web-push-notifications/


Lazy loading iframe is finally supported! That will be a huge perf. improvement! Loading a YT embedded video requires 15 network requests and downloads ~1Mo.


Simd128 for wasm is a big deal, safari was the last major browser to not support it.


Yes, want to see if I can get whisper.cpp :P


Am excited about the support for the :has() selector for Safari Content Blockers. It will enable a lot of sophisticated blocking of page elements based upon characteristics of the child elements.

For example, in a feed of post where one post has a 'sponsored' text element, the :has() selector could be used to easily target the full sponsored post while leaving organic posts untouched.


There obviously is still a long way to go for Safari to become "good", but I think they are on the right way. For example I have one weird bug than only occurs on an M1 machine. For some reason getComputeStyle() returns wrong values for cx, cy and r of an SVG ellipse/circle. No idea what is going on and what must go wrong internally for this to happen, and I cannot even extract a test case, because the bug is not reproducible outside the app. Just hoping that it will be fixed eventually "by accident".


With more and more update recently, it's seems that Apple doesn't want to get another EU compliance rule of default browser?


Still no WebXR support :(


Yep, that's what I was hoping for as well. :/


Animated AVIF is nice.


Wake Lock API a godsend for music web apps


New wake lock api is broken.

Passes feature detection but does not work in home screen.

Just like in IE you need to add some extra if’s for Safari version and environment detection.


Web Share Target still missing :/


[flagged]


As much as I hate that no other browser engine is allowed on iOS, browser engine monoculture is toxic, and overtly caustic to the open web as a whole. Safari officially adopting Blink would have wide rippling effects beyond Apple's own ecosystem. It would likely also sound the death knell for Firefox in it's blast radius.

This would surrender web standards as a whole to Google, who in my opinion, cannot be trusted to equitably shepherd this forward; given their propensity to push their own browser heavily, push non-standards forward and so adversely affect their own sites on rival browsers who do not use their extensions to the specifications.


I really wish that Microsoft went with Gecko (Firefox) instead of Chromium. That would have spread out user across the the three main browser engines.


I can't imagine a world where this argument would be correct. Honestly, I'm appalled anyone would seriously consider this.

Chrome is taking over due to inertia and many websites targeting it as the one and only legal implementation of web standards, regardless of the actual spec. "Please use Chrome to continue".

For example, despite Edge woes, the Trident-based version was markedly better looking, and better performing as long as the tabs count didn't get massive. It used native system APIs for input integration, rendering, scroll and memory management, making it much faster and efficient especially on low power devices. It's JS engine had issues, true, but despite that, it was a decent browser outperforming Chrome on many critical aspects of user experience. Safari is in the same vein but even better and without any issues mentioned before. It has power-efficient AdBlocking API, it uses correct HW for rendering content and it is more memory-friendly.

Again, and I can't stress this enough, Chrome and Chromium are developed by a company which main source of revenue is AdTech.


I’ve been building websites for 10+ years, and still prefer Safari as my daily browser. I switched over from using Chrome full-time 5 years ago.

Compared to Chrome it’s anecdotally faster, objectively more power-efficient, and on par with Firefox for privacy.

I don’t know why you think Apple’s uninterested in making a “competitive” browser. It’s been years since Safari didn’t support something I needed it to do, and I’d consider myself a power user.


I've been building websites for 10+ years as well, and I can't tell you how many hours I've wasted on workaround to make something trivial work in Safari that required no work in other browsers. I've also run into some pretty gnarly animation performance issues over the years.

That being said, Apple has clearly upped the focus on the browser in the last two years, and they are shipping a ton more features and fixes in each update, so kudos to them for refocusing as of late.


If you develop for Safari first you will feel the exact opposite: you'll get it working perfect in Safari only to have to frustratingly deal with tons of issues in Chrome.

I think it was objectively true that Safari was lagging 3 years ago, but in the last two years in terms of standards, Safari is equal or better. Safari feels much faster in practice for quite a while.



I'd like to see third party benchmarks. But beyond battery, there's a fluidity to Safari that is simply unmatched by Chrome. I'm talking about stuff like: back/forward, tab open/close, resize window, scroll, quit/reopen. Also a native feel in general that makes it especially nice, like text selection and the various elements.


> Data cleary shows that when the platform is open and fair, Chrome is the preferred browser by consumers.

I think this data is somewhat tainted by how many things have been developed and tested thoroughly against Chrome only, resulting in subpar performance or nonfunctionality in other browsers. Rather than users downloading Chrome because that's what they prefer, I suspect a great many do it because that's the most surefire way to avoid bugs and sluggishness in the many front end codebases that are tuned almost exclusively for Chrome.

It's similar to how Netscape suffered because developers increasingly developed against IE only in the 90s. People want the web to "just work".


Do you see any problems with there only being one browser engine that is relevant?


Apple should open up and allow other browsers, but they shouldn’t just adopt Chrome themselves. Aside from throwing us back to the days of a browser monopoly, relying completely on a service provided by Google is becoming an increasingly questionable decision.


on the one hand, a browser engine monoculture is going to be a disaster for the standards-based internet (if it's not already a disaster).

on the other hand, apple crippling webapps with a half-assed browser so that they can sell apps and rent-seek also sucks.

i'm glad safari exists, but for the wrong reasons. it's such a tragedy that there are not more for-profit browser companies.


> apple crippling webapps

Of course apple isn't crippling them.

On top of that you have the world's most popular OS with none of the perceived crippling, and we've yet to see a single amazing web app on that OS.


Apple IS crippling webapps.

They just released new Wake Lock API, but it only works in browser Safari. It is broken in PWA...

QA cannot be that bad they do not test PWAs for new features.


> Apple IS crippling webapps.

Of course it isn't. Unless you can come up with a non-random list of things of what constitutes a PWA. Everytime someone screams about Apple not doing something in PWAs, that list is different.

Meanwhile, as I said above, there's an OS that holds about 70% of the world's marketshare that has none of this "crippling" as you put it. And yet, there are literally none of these amazing PWAs there that Apple supposedly cripples on their OS.

Something tells me, the problem doesn't lie with Apple.


Just because you do not like PWAs does not mean there are not amazing uses of PWAs.


> Just because you do not like PWAs does not mean there are not amazing uses of PWAs.

Talk is cheap. And yet in all these discussions no one ever says "ho, look, over there in this amazing OS with no restrictions that has 70% of the world's market there are these amazing PWAs, just look at them!"

It's always complaining about some absolutely random API that absolutely must be there on iOS for the PWA to finally happen (even if it exists on that other OS).


As I said, there are more people in the world than you.

There are other opinions also.

I know it is hard to accept it.


See how there's still zilch about the amazing PWAs on Android.

But sure, do tell me how it's "just my opinion".


My most useful PWAs are local websites. City transport, government websites etc.

These sites never make their own native app because they cannot afford to maintain those apps.

Websites and PWAs are great and cheap compared to apps.

But it is not hard to google?

https://www.monterail.com/blog/pwa-examples


> But it is not hard to google?

The question about hard-not-hard to google.

Always in discussions about Safari you will find someone complaining about "Apple crippling PWAs" and coming up with yet another random APIs that they absoluely need to finally make a great PWA.

Always in these discussions I hint that Android is 70% worldwide market share, and has none of the perceived restrictions on PWAs. Surely these amazing PWAs that Apple doesn't allow should exist there. Right? Right?!

And invariably there are crickets.

Even your "example" are literally "we made our site not suck and open faster, this increased conversions, yay! It's all because of PWAs".

Of course it's not. Correlation is not causation. If your page load went from 3s to 0.9s (Washington Post) or is now 4x faster (BMW), it's not really PWA who's responsible for people staying on your website. Oh, you pushed your bloated abomination of a website into offline storage on users' phones and now the site opens faster? Yay (not)!

And then there are egregiously bad takes like "Thanks to PWA Telegram's platform cna be accessed from different devices". Newsflash: Telegram's native apps are available across different platforms


Notwithstanding the issues with your argument, which have already been raised by others in their replies, I wanted to say I'm puzzled to find people still preaching about Chrome when Firefox is just as good these days if not better

It's like people switched from Firefox to Chrome a while back and never came back to see how great it is


> It's like people switched from Firefox to Chrome a while back and never came back to see how great it is

That is exactly what happened


Absolutely not. Chromium needs as much competition as it can get.


I would have said this exact thing two years ago. But Apple's since proven that they can make a good browser, if they try hard.


> But Apple's since proven that they can make a good browser, if they try hard.

It was a good browser two years ago, and it still is a good browser.

Pushing every Chrome-only non-standard API does not a good browser make.


> Chrome is the preferred browser by consumers. Apple is stifling competition and harming their consumers on iPad and iOS by not allowing competition. Apple knows when they open the gates, Chrome will take over the iPhone and iPad and Safari will fizzle out.

Correct. Chrome has already won. No contest. Undisputed. [0][1][2]

The moment Apple opens up the competition to other browsers, Chrome dominance will essentially be further entrenched. The digital markets act will just guarantee this further.

Google might as well make Chromium a independent standard organization maintaining a standard browser engine.

[0] https://gs.statcounter.com/browser-market-share

[1] https://www.w3counter.com/globalstats.php

[2] https://www.statista.com/statistics/268254/market-share-of-i...


> Google might as well make Chromium a independent standard organization maintaining a standard browser engine.

In all honesty, they are already doing that. They are shipping 400 new APIs a year. Imagine how many of them are standard.


If they did that, they'd inevitably lose their ability to vacuum up data while you're logged in.

Never gonna happen.


I agree, we should all be using IE6 as it's clearly the engine everyone is using and competing with it is a waste of effort /s


Every time a non-chromium browser pushes updates it's good news. That being said, if you care about open standards, privacy and a fair market, you should just delete whatever you have and install Firefox right now.


> That being said, if you care about open standards, privacy and a fair market, you should just delete whatever you have and install Firefox right now.

I wonder if you realize that these days Firefox is more often than not on Safari's side when it comes to all the things you've listed.


How's that?


On privacy, APIs etc. Firefox backs Safari in their attempt to stop Chrome from just barging ahead


Here comes the web push notification spam avalanche going onto iOS.

The SaaS grifters will metastasize, multiply and deliver their snake oil as they did to Android now onto iOS users only to degrade the platform further.


Two thoughts:

(1) For this to work at all, users will need to have added the app to their Home Screen.

(2) Because they "work exactly like notifications from other apps", you can easily control when they're able to interrupt you, and also easily mute abusers.


You can of course choose not to add web apps to your Home Screen.


Can't wait to see stuff like this everywhere.

"To pay your phone bill, please add the T-Mobile web app to your Home Screen."

"To read the rest of the article, please add the News web app to your Home Screen."


You already have this, it's called native apps.


Acting like most apps don't already bombard us with crap on the regular... this is not a webapp issue.


All you have to do is click "No thanks".




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: