WebKit Features in Safari 16.4
webkit.org
webkit.org
- 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
(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)
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-...
I love safari but the ad blocking sucks, having to run stupid stuff on top (AdGuard for Safari)
1Blocker - a well known 'traditional' safari content-blocker - does this for example, to provide ad blocking on sites like YouTube.
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 kinda wish I could use 1Blocker on my Apple TV :P
I'm shocked you'd choose Brave over this, whose security history and business model is very, very questionable.
Prepare for future, where such ad system is going to be standard and ad blockers useless.
https://apps.apple.com/us/app/vinegar-tube-cleaner/id1591303...
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.
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...)
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.
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.
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.
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)
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?
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.
Edit: Sorry, missed the part about the "mobile" safari. You're right, I don't think it's available for mobile.
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.
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.
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.
Android does this so I figure quite a lot of users are willing.
Most preloaded apps are installed on a read only partition. Since it is read only you can't uninstall it.
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.
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.
The simple fact remains that Mojave doesn't have access to Safari updates.
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.
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.
Apple is more aggressive about removing backwards compatibility, but that doesn’t mean it’s linked to the OS.
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.
Though I think most "Web View" apps on Mac just use Electron (shipping Chromium in their bundles)
> 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.
[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.
https://support.apple.com/en-ca/guide/iphone/iphe3fa5df43/io...
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.
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
Edit: on the account page, it says “You're currently on the free plan.” But I can’t do anything with notifications.
I hope Safari iOS adds support for actions and shortcut workflows when clicking a notification.
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.
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.
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
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.
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.
Now if we could get periodic background sync api, and vibration api, that would be perfect.
New wake lock API does not work in PWA, only works in Safari...
Apple is making sure that nobody will use PWAs.
https://developer.apple.com/documentation/safari-release-not...
Does NOT work in PWA. Bug or intentional road block?
undefined is not an object (evaluating 'navigator.wakeLock.request')
Update: Turns out it's only available behind HTTPS. The PWA bug might be related.
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.
https://bugs.webkit.org/show_bug.cgi?id=254545
https://bugs.webkit.org/show_bug.cgi?id=249645
Thanks!
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?)
A next major step is inclusion into the app store, but until then this is a major win for PWA.
This is the 2020ies' "year of the Linux Desktop", right?
It's even funnier that they shipped fullscreen api to iPad and intentionally ignore iPhone without a reason.
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?
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.
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.)
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?
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...
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.
But I totally get you, Apple is but one company and they've completely bungled reasonable prices in many countries, for example India.
Do you feel the same way about console makers?
"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.
After a couple of years I decided to stop paying $99 a year for hosting a little 5MB app.
My point was not about distributing the app but about paying $99 every year to distribute a free app using the official app store.
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."
Obnoxious autoplaying video is a scourge.
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.
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.
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".
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...
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.
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.
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.
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.
"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."
(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.