> Just when you thought there weren’t enough different kinds of workers, there’s a new type of worker...
SharedWorkers shipping Chrome 4 in January 2010[1]!! Firefox eventually shipped in 2014 (Firefox 29).
> ...in Safari
Haha yeah. Maybe re-do your marketing on this one.
It took Apple well over a decade to support a basic, essential function required for webapps to be able to have elementary cross-tab capabilities. Apple kept the web down on this one, super super hard. Absolutely brutal punching down. They mercilessly said they would not do it, that it was not going to happen. And that kept the whole web down. iOS said no. The titan has spoken.
> Safari 16 introduces a re-architecture of WebKit’s accessibility support on macOS that delivers improved performance and increased responsiveness
This is a magnitudes more important improvement and pushing the web forward than pretending that whateverworkers are a thing that is usable beyond very few convoluted examples (even if those examples end up running in production somewhere)
Webworkers are a pretty critical foundational component of a lot of apps these days. You can probably skate by without them on simple cases but they are up there with ES6+, fetch, virtual DOM, etc.
We had that functionality back in the 80s even, with anothe type of app, called a "native app". Those apps are not why the web was created, it's just using browsers as a poor man's cross platform sandboxed app delivery mechanism...
Native apps is not why the web was created by Berners-Lee and gang, but a certain segment of the web has been chasing the desktop-like experience since, on, 1990-something. The obsession with the desktop experience, and the associated inferiority complex, are pretty much part of the web DNA.
The "obsession" is with having a good common platform for development. Powered by some of the fastest rendering engines on the planet, some of the fastest language runtimes out there. With an unbelievably joyous continuous development brought about by fantastic live tools. For over a decade, with ongoing & continuous & highly visible improvement.
It's disgraceful what sad moaning & endless disdain people who like working here have to suffer, how berated we get for seeing potential & chasing it. Getting insulted & slandered is so common, this is so typical, so regular; endless dogpiles by the haters, and it's so cheap, such an expression of negativity & bias & cruelty.
I never enjoyed writing Win32 or .NET. I never enjoyed writing Qt. I never enjoyed writing FLTK nor GTK. These systems did not spark joy. The native platforms always felt crap, were so much ceremony & encumbrance, and so controlled & crufty & verbose to work with. On the web, I had a live canvas of hypertext, with rich information, ready to go, with a couple lines of HTML. And then I could sprinkle in programmability, add some JavaScript & start to move & shake things. This was an endlessly rewarding loop, was pure joy. The web is joyful. It keeps bringing better & better capabilities, more and more joy. People can go play with WebMIDI now, we can work with Gamepads, or magnenometers or accelerometers. This is fun, this is amazing. It works on all devices (some iOS exceptions may apply).
> the associated inferiority complex,
News-flash: the web won. It's creaming everything else. It's where jobs & development are done today, the default-go-to. It's just better. Webapps like VSCode run stupid fast & do everything better than native did, and because they're built on JS & the web they have sick sick sickeningly awesome plugins that were fast & easy to build.
It's a tragedy that there's so many grumpy hurt feeling abound, around this great & good rise, that such a wonderful fantastic capable & competent system has so many cranky sad mopey feelings. If there's anyone that feels an inferiority complex, it's definitely native people. They will not simmer down & chill the frak out with their endless bemoaning & whining & belittling of the web. The web is constantly endlessly dragged on, shat on, in thread after thread after thread, by people acting high & mighty & telling us, effectively, how dare we? I didn't give you permission to be awesome! My skills are the only ones that count! What you do isn't right!
So again,
> the desktop experience,
This is a relic, ancient dust to us. Our medium is networked by default, can be reached instantly via any device. We have rich servers providing powerful capabilities behind our thick-client user interfaces. Network architectures & information design underpin & shape our implementation decisions, are considered as we model & extend. The word API? It basically means "web interface" more than it means "native library interface" for most people now- because the web is awesome, because what we do is visible & engageable & more a part of the world & active than any lonely, isolated, compiled-down desktop app ever can be.
That we happen to also have buttons & click on things doesn't make us the same.
I will try to insult your platform a little less in the future. But please ya'll, you too need to show a modicum of respect. Having nothing but degrading insults for the web is small, it's out of touch, and the complaining is seemingly bottomless: here ya'll are, in a submission about the web, once again complaining that it's advancing.
> The "obsession" is with having a good common platform for development. Powered by some of the fastest rendering engines on the planet, some of the fastest language runtimes out there.
Nothing in this sentence applies to web browsers. The rendering in browsers is abysmally slow and extremely inefficient due to the way DOM is structured and rendered on-screen.
> Webapps like VSCode run stupid fast
Sure, if you're a trillion-dollar corporation with thousands of man-hours dedicated to a single app, then sure, you can have a decent app. However, the whole story of VS Code is the story of fighting against its browser origins. You could, for example, read up on how they tried to make the terminal in VS Code fast.
> This is a relic, ancient dust to us.
You do not have the right to talk for all of "us".
There was a time when Apple supporters were huge fans of web apps. When Gmail and the like meant that it was possible to have a decent experience on a Mac as well, because software developers offered web apps. (Let’s not talk about that one year when Web Apps were the best thing since sliced bread before someone convinced Jobs that native apps on iOS is actually a good idea).
But now that it’s in Apple’s financial interests (not even its users’ interests) to push for native apps so Apple can collect their tax, the Apple supporters have seamlessly switched sides.
> the Apple supporters have seamlessly switched sides.
Good try at subtle insult, but it missed the mark.
Yes, the web had some promise many years ago. Now it's a monstrosity fuelled by Chrome non-standards that's one step away from collapsing under its own weight.
I don't see apple pushing some sort of open standard for how to write native apps that is cross platform. Google has done some efforts (like flutter), but all of those seem to tie the library/runtime to it instead of trying to make it an open standard.
The web is the best standardized, cross platform, multi-runtime app platform we have.
When has accessibility pushed things forward? In my mind, accessibility is about parity with some existing standard, not about pushing the envelope forward.
Accessibility has made some sites and apps expose their data in more-easily understandable ways. In general if you need to make your interfaces accessible you will also make them easier to parse.
> [Accessibility performance improvements are] a magnitudes more important improvement and pushing the web forward than...
I don't think zero-sum adversarial X vs Y thinking is helpful. Both of these have value. As a developer, it sounds like accessibility already worked, and that the benefit to the accessibilities-using features is speed, which is good, but likely not groundbreaking. But I also would like some of the many features of the web to be unlocked by this slow-to-implement browser, and SharedWorkers is over a decade old & sits in an important & unique spot. Trying to play favorites isn't in my interest, but recognizing the values of each I think is informative.
> pretending that whateverworkers are a thing that is usable beyond very few convoluted examples
If you don't even know what the thing is you probably aren't qualified to judge. You don't seem to be interested in learning or informing; you seem to be trying to score points, & doing so by mockery & cruelty. I hope we can find better manners, more appropriate for good, learned, engaged Hackers, than this.
Someone correct me if I'm wrong but isn't it just entirely about competition with the app store? That they don't want to invest in features for apps on a platform "owned" by their largest competitor that then compete with apps on their own platform? On the app store Apple makes 15%, on the web they make zero and Google likely gets whatever ad revenue. I'm not defending Apple, Safari causes has caused me professional pain in the past, but it seems predictable.
It's a mystery! Who knows? But it's not a mystery.
There's definitely good people working to advance the web at Apple. That's clear. Apple's even hired up some. But there's still endless struggles, endless conflicts, huge huge parts of the map Apple insists are bad for users that they will not do. Like SharedWorkers, which until recently they insisted they would not do & were bad for users.
> Someone correct me if I'm wrong but isn't it just entirely about competition with the app store
At a previous WWDC they talked about service workers and how they have the potential to significantly impact the performance and battery life of devices if abused.
And so a lot of effort has been made trying to isolate and optimise them.
They did have it in Safari, and they took it out. There was a webkit bug open since 2015 asking them to put it back in, finally closed earlier this year.
> a basic, essential function required for webapps to be able to have elementary cross-tab capabilities
Simply get out of here. Clipping my argument down to fit a contrite cheezy meanspirited vacuous soundbite rebuttal is gross & lacks respect. My statement is absolutely true. Go spread empty misleading hate somewhere else.
I think the answer is, it depends. It's been a pretty common-sense part of the web for a decade, powers a lot of experience, & allows developing much better user experiences in many cases. If you have an experience that needs to work across tabs, the alternatives are barbaric & crude & difficult, fault prone, & often waste network traffic.
As usual, the Apple fanboys show up to defend the prison they're locked into. By crudely rejecting basic longstanding technology. Typical. I'd like to see a little more high-road in some discussions, something beyond snide defensiveness.
A spreadsheet. A chat app. A document editor. A map editor. Anything where information is on screen & needs to be live. Aka, what a huge part of the web today does.
It depends. Sometimes, yes, users do have many different conversations going & tabs for different conversations.
Or they might be flipping between different sheets in the spreadsheet. And perhaps those sheets have cross relationships. Or perhaps the user changes which sheet they're looking at & has old data.
Whether or not it's common doesn't change that it's a concern that good developers strive to develop for, and it's something that ought be expected. Tabs are part of the web, are something that support user-agency, and it ought to be common that they are well supported. Now, we can start doing the job we ought to do.
The "exact same data" is often some change. Like user statuses in Slack. It's not terribly uncommon.
Opening a bunch of tabs is up to the user. I develop web apps for business users and often they open many tabs. But even me on reddit or hn I'll open a bunch of tabs to basically queue up reading.
Apple famously & longstandingly requires all "browsers" on iOS to use the builtin web views. There are Chrome and Firefox (and others), but they lack many many web platform capabilities & don't boast the far more more featureful render engine that either browser ships with on any other platform. It's all reskinned Safari, forever & ever.
For a while the web view they were making apps use was lagging way way behind Safari itself- was just dog slow & utterly unaccelerated[1], but they finally at least ship moderately capable webviews in iOS now. That was a solid half decade of brutal tyranny- anything trying to use the web platform at all had a terrible time, & alternative browsers were a sick laggy disgusting joke.
This is one of the biggest sorest points about Apple's complete dominion over iOS & their rule by app store (for many): this titan don't even allow healthy competition on the web. They hold the whole web back. Safari would feel like far less of a villianous poison if Apple didn't rule iOS with a bloody iron fist.
I understand the argument of being locked to a single rendering engine (WebKit), but there is just so much to a browser than a rendering engine. Chrome and Firefox on iOS both have the opportunity for their own sync, their own bookmarks/history/settings implementation, their own telemetry, choice to use native controls or not, to decide whether to block ads, trackers and respect user privacy - that is all at discretion of the actual browser app. The role of WebKit is just to render a web page - a modern browser is so much more than that.
Now, would allowing other rendering engines be better for iOS? I ultimately think it would, but also can understand Apple's stance of wanting to enforce the most performant, secure and energy efficient rendering engine on something as sensitive to these parameters as a mobile phone.
> The role of WebKit is just to render a web page - a modern browser is so much more than that.
The roll of the webview is more than webkit rendering. It encompasses the javascript engine, all it's capabilities, it includes many many many of the platform APIs. I'd be interested to hear if Chrome or Firefox or any other iOS browsers implement any web apis on iOS that aren't present in Safari, but I doubt it, and I'm not sure whether that's a hard web view limitation.
I think we're trying a little too actively to promote a sense of significant diversity here, where there is in fact a harsh & brutal monoculture. Yes, the user chrome is different. Bookmarks, history, settings & sync sound like the main differences. But fundamentally users are still trapped with a a browser that makes extremely fantastically conservative decisions that they cannot possibly escape from.
> wanting to enforce the most performant, secure and energy efficient rendering engine
Energy efficiency is indeed pretty good on Safari desktop, but there's also plenty of tests that will show Chrome winning. It's impossible to compare on mobile, because Google can't develop for iOS.
I'd be hard pressed to accept accepting Safari as more secure or more performant[1]. Especially as we continue to advance, Safari just doesn't have modern web features. Web bundles? Nope. Early-hints? Modern web optimizations just aren't possible.
I haven't ever seen any test where Chrome was more energy efficient than WebKit. Usually difference is so stark it is 2x.
Performance wise, Chrome/Blink had a brief lead in March but since WebKit has again surpassed it. Currently WebKit is about 10% faster on macOS.
Security wise - when is the last time you had to update your iPhone/iPad because of a security issue in WebKit? Even on desktop, check the rate of Chromium security vulnerabilities vs WebKit.
> I think we're trying a little too actively to promote a sense of significant diversity here, where there is in fact a harsh & brutal monoculture.
As someone building a macOS/iOS browser I can say that WebView != Browser. There is so much to be built around a rendering engine for something to be considered a browser today.
> Safari just doesn't have modern web features. Web bundles? Nope. Early-hints? Modern web optimizations just aren't possible.
Also consider that most users these days do not care about web bundles or early-hints. They care about speed, security, battery life and privacy. I feel as WebKit delivers on these essentials and is a good base for a browser. Having Blink/Gecko on iOS may bring a web feature or two but is also sure to compromise on other things.
> Performance wise, Chrome/Blink had a brief lead in March but since WebKit has again surpassed it. Currently WebKit is about 10% faster on macOS.
I've also heard no such claims, seen no evidence Safari has found new vast wins to "beat" chrome on, whatever that means.
I think it's also absurd that we accept such primitive rankings in the first place, although I myself have shared some of these reductionist claims. Fast at what? There's so many different conditions, so many things we could measure. Is Safari the fastest WebGPU engine? Are they best time-to-first-paint? For what kind of site complexities? Is there JS or just pure HTML? Apple themselves invented Speedometer- an interesting & creative test of loading a lot of different TodoMVC apps, one after another- and for a while dominated it, but Chrome continues to excel[1] (day old article). What data were you looking at, if any, or just heresay?
One category I'd point out: I haven't heard a single web-game developer ever thank Safari for anything. These people deserve good treatment, are doing great work. Safari isn't helping them, isn't fast there.
(Also props to Chrome for optimizing on a brand new platform that they have had far far less time to optimize for.)
> As someone building a macOS/iOS browser I can say that WebView != Browser. There is so much to be built around a rendering engine for something to be considered a browser today.
As a web site developer, it all looks like the same shitty, low feature, piece of crap turtle that doesn't implement shit. I can offer my users no more features on your browser than any other turd bucket WebView based browser. It's not your fault, the platform is just deficient, grossly.
As for wpt.fyi interop testing, I dig it. There's some very good stuff Safari is up to, thank you for sharing. Better colors is excellent. I would note however:
> These scores represent how browser engines are doing in 15 focus areas and 3 joint investigation efforts.
This seems to be 100% only agreed upon areas, where each browser already has some stake. It's all rendering, not platform features. So we basically ignore the fact that Safari doesn't have web bundles, doesn't have early hints, doesn't have http3, doesn't have gamepads, doesn't have midi. I'm barely getting started. Safari isn't always- but quite quite frequently is- an obstacle to modernity.
> Also consider that most users these days do not care about web bundles or early-hints. They care about speed,...
These two statements contradict. Webbundles and early-hints are techniques for performance optimization. I'm willing to bet by 2030 Safari is dragged into doing the right thing here, but right now they keep the web slow.
> I think it's also absurd that we accept such primitive rankings in the first place, although I myself have shared some of these reductionist claims. Fast at what? There's so many different conditions, so many things we could measure.
On macOS there is only one benchmark used by all sides to determine the 'fastest browser' title - Speedometer 2.0 benchmark.
It is used in Apple's marketing [1] and in Google marketing [2]
Blink had a brief lead in March when it reached 300, WebKit overtook, the just a few days ago (and a day before WWDC) Google claimed new best score (360 - I was not able to confirm [3]).
FWIW, Speedometer started with & always seemed like an Apple specific test. It greatly favors low optimization paths, because it's just loading app after app after app. It's basically not worth having optimizing compilers, because Speedometer is just testing initial load speed, more or less.
That's a valid number, and I love that others (like Chrome) accept the thrown gauntlet as is, withiut protest, & compete. But this is not really indicative of what life will be like after the first 2s. Maps (or any other app) may run way way faster on an engine that focuses more on optimizing compilers.
Thanks though, thanks for the links. Im not trying to invalidate this. But I do think it is limited, I do think it's origin & what it tests is worth noting in here. It's only one way of looking at performance.
It's just incredible to me that Apple saw how much people hated IE and decided "You know what, let's do them one better".
Really doesn't help that they've pull so far back from open standards. They used to champion OpenGL, OpenCL, and open web standards, now they are working like Balmer's Microsoft. Everything internal and they sabotage open standards. Either by not implementing them, or obstructing all evolution at the standards committees.
The idea that Safari is anywhere near what IE was is ludicrous. If anything, Chrome is the new IE because Google forces through its own features and expects the rest of the internet to make them standards.
> The idea that Safari is anywhere near what IE was is ludicrous.
People forget that Microsoft disbanded the IE dev team from 2001 for at least 5 years - IE6 remained unchanged from 2001 to 2006 and received absolutely no feature updates, HTML rendering or JavaScript engine changes during that time (though there were security patches). The next version of IE wasn't until IE7 was released to coincide with Windows Vista in early 2007.
5 years between major versions! No browser since then, developed by Google or Apple (and even now, Microsoft) has had a gap that long without feature updates.
All the denied sites shitting up my notification-apps list with noise isn't welcome, either.
The whole thing's a mis-feature. If it must exist at all, sites shouldn't be able to prompt for it, but simply advertise the functionality and let browsers add a little button or something for the user to actively engage with if they want to see a permissions prompt. Like the way browsers used to handle sites that advertised RSS feeds.
> Users opt into notifications by first indicating interest through a user gesture — such as clicking a button. Then, they’ll be prompted to give permission for your site or app to send notifications. Users will be able to view and manage notifications in Notifications Center, and customize styles and turn notifications off per website in Notifications Settings.
Looks like there will be some interaction required to prompt it.
That being said, hoping there's a browser-level option to just turn it off.
Is that user flow described actually a requirement somehow, or is that just an "ideal scenario"? Cause right after that it says "If you’ve already implemented Web Push for your web app or website using industry best practices, it will automatically work in Safari" and existing implementations don't require a button press that they used in their example. Facebook just pops up the browser prompts to allow or block as soon as you visit the page, as do many news sites and other stuff I don't want notifications from.
Maybe the "using industry best practices" part is key, and they somehow will block implementations like Facebook.
This is already the case for the install prompt used by PWA. The browser uses an interaction heuristic to send an event that allows a PWA to show an install button.
> and let browsers add a little button or something for the user to actively engage with
Meh, you'll just get full screen modals begging you to push the button. So long as a feature which (ostensibly) drives engagement exists, every ad based website is going to do whatever they can to get you to use it.
There are some really good use cases for it, but I think the balance is tipped by the far too many bad (for the user) use cases.
Having seen it in the wild I agree that it's more trouble than it's worth, and we'd be better off if the whole feature was ditched until/unless it can get a serious re-think. I'd be very surprised if the ratio of unwanted-to-wanted web-push messages is better than 10:1. I'd not be at all surprised if it's closer to 100:1.
For a while I would get web pushes from some new site I just have visited once and accidentally accepted. I had no clue how to disable them for ages until a friend showed me. (Yes I could have looked it up, never reached critical energy)
I have to imagine many people are in the same boat.
…OK, that’s too dismissive. I do know that certain web apps and sites have legitimate uses for push notifications.
But I encounter these far, far more often on news sites, where I profoundly do not want notifications, ever.
Probably too convoluted of a “power user” setting for Apple to consider, but I would rather have a very strict opt-in whitelist where I proactively enter sites where I actually do want notifications.
I think this is a big step towards more PWA support. Would love a world where the alternative to building native was just building a PWA instead of building to some other framework that only exists as an abstraction to interact with a few specific platforms.
That being said, I definitely hope it's off by default
Yep. We're now really close to the original iPhone launch promise of "Want a new app that isn't shipped with the phone by Apple? Just build it as a web app!"
(Although to be honest, apart from push notifications, which are still vapourware right now, we've been able to replace almost everything native apps do with web apps for a while now. I'll be super curious to see how stuff like Rust and WASM go using some of these newly announced features...)
Yup. Really hope PWAs don't go the way of web components. There's been some genuinely incredible work done on that set of APIs and I'd hate to see it looked over.
The web is in a really funny place right now. It's easier to synthesize audio to read your blogpost to the user in whatever dialect you want than it is to style a number input consistently across browsers
> where I proactively enter sites where I actually do want notifications.
Isn't this how it works in Firefox/Chrome right now? I routinely get prompts from websites asking for push notification permission, which I always deny. Can't imagine Safari not doing the same thing.
Safari goes beyond Firefox and Chrome here, making the sane choice to only let you show a notifications permission prompt in response to a click. That alone makes it considerably better than what we're subjected to today with permission prompts showing on page load.
Firefox and Chrome don't allow permission prompts without user input. That's why all news sites will show you a banner asking you to click it to enable notifications.
I believe Firefox doesn't show the prompt at the top at all anymore nowadays and just has a glowing notification bubble in the address bar, but it's been a while.
I’ve had to opposite experience as someone who’s worked extensively with platforms that utilize webviews, when Safari 15 released it broke a lot of WebGL things with their shift to using Metal and all I can say to users that are experiencing problems is update your OS or disable the experimental feature to use Metal with Safari, which both feel like awful answers. Safari has become the modern IE in my mind.
Meanwhile some other developer is really glad their software, that only supports iOS [previous-version] and hasn't been updated for the latest Safari, isn't generating shitloads of bug reports because some of their users updated the browser separate from the OS, and they aren't having to test multiple OS/webview combos.
Your particular case might have worked out better, but in general being able to test on an OS version and not have that change out from under you is really helpful.
It's a fundamental piece of functionality that you target with a release, if you're using webviews, and a ton of apps do. It's possible to argue that it shouldn't be, but it is, and that does come with some real benefits for developers.
On desktop, the popular solution to the same problem is to bundle an entire web browser.
> Fun fact: even with the latest release of Chrome, Safari is surpassing Chrome in Interop 2022[0]
There's only two things that Chrome is noticeably behind Safari on (Interop-2022-wise).
1. Colour spaces and functions.
-- Easy enough to implement, it's just some matrix math in the graphics stack.
-- It's not something that web developers in particular are crying out for just yet.
-- It's more for designers who want to remove the scss build step out of their build stack while still being able to make hue changes (using css' custom properties instead of scss' variables). But scss won't be going anywhere until css nesting has broad browser support. I'd argue that nesting is much more desired than expanded color support.
---- In fact, I just had a look at the last state of css survey. Nesting was the third most requested feature. Color spaces didn't even appear in the list. Going further, a search over the ~2k comments shows 47 responses using the word "color" and 168 using the word "nest".
2. Subgrid.
-- Google has/had been working on a new layout engine (LayoutNG) for chromium for quite a while. Subgrid support is/was easier to implement and maintain on the grid component of their new layout engine (GridNG), so they didn't bother making an implementation for their older layout engine. Microsoft and Agalia have both been working on the Subgrid implementation for the chromium core to push it forwards faster.
-- Personally I'm fine with this delayed approach to make sure it all works. It's more reliable for web developers than Safari's often maligned: "Hey we released this feature and don't care that it's broken. If 10% of it works we consider it a success." attitude.
> Say what you will about Apple, but I think the team behind Safari has been doing some fantastic work to make up for its reputation
I'm not going to give Apple a pat on the back for trying to catch back up to web standards only after lawmakers start eyeing up Apple's monopolistic and destructive web and app store practices.
I feel like I was pretty explicit in my attempt to separate Apple from the team working on Safari :P
Regardless, 10 years ago Microsoft was OSS Enemy #1. Today they've done a complete 180.
I don't think you have to be a dumb optimist to buy into this. Personally I think Microsoft's change mostly came from realizing that being a government contractor is much more profitable than serving consumers directly and playing nice with open source is really important for attracting talent. (And they've also innovated on ways to profit off of open source with things like Copilot)
There's some really great people working on Safari right now. I don't think a lot of this talent would've been attracted to the team if Apple didn't at least do some open source virtue signalling
> I don't think you have to be a dumb optimist to buy into this. Personally I think Microsoft's change mostly came from realizing that being a government contractor is much more profitable than serving consumers directly and playing nice with open source is really important for attracting talent.
Most likely, it came from them realizing they had lost their platform monopoly due to floundering so badly with consumer mobile.
Apple invested tons of resources to accelerate their initial iPhone OS efforts, and had a polished experience you couldn't get from third party integrators. Google capitalized on the technology gap for most non-smartphone third parties in releasing a quasi-open-source mobile platform, seizing the market that Microsoft would normally sell their platform into.
Their emphasis on backwards compatibility (and general developer distrust of Microsoft's long-term support of new API) wound up making it very difficult to get support for newer platforms, especially on new architectures like ARM.
My opinion however this wound up being overall healthy for them, because they have always mostly sold to companies and strived for more recurring revenue via support contracts and the like. The explosion of new platforms and of mobile devices meant it was easier for them to sell SaaS products like Office 365, and to treat Azure as their new platform play.
Microsoft's Open Source policy reflects that they now need to attract new customers in a diverse technical landscape, vs try to lock in existing customers to a Microsoft-created ecosystem. It also reflects the difference in their revenue being services vs software.
This is the go to button for all kinds of functionality, not just sharing. It's weird that Apple decided to cram everything there, but I'm thinking people are now used to just having everything there.
On a personal level I'd rather not have any more banners on top of half a dozen or so that already plague a typical website.
You need to explicitly opt into location access. The site you use for tracking your run shouldn't stop working because your phone went to sleep.
Sites already do "wake lock" by playing videos they you can't see. How many times have you tried to read a recipe and your phone shuts off while your hands are covered in flour, or you need to keep tapping your iPad screen while watching sports scores or election results?
These are both incredibly useful APIs that you probably would enjoy if you didn't dismiss them outright.
Opting in to location access so a bank can help me find a nearby ATM does not mean I want that bank to continue to track me after I put the phone in my bucket and go about my day.
Videos on iOS are forced to play full-screen. Background, autoplay videos, do not trigger wake lock.
These are features which, while I'm sure some applications would find useful, would more often be abused than useful.
Was hoping to see WebXR and WebGPU show up, these two technologies are going to allow an alternative distribution channel for game and app developers, which comprises the vast majority of Apple's services revenue from their app store tax.
Web push whilst great for developers and some use cases has also meant dealing with spam and user hostile behaviour. I have 50+ websites that I have to block from sending me web push notifications. It's yet another thing making the web less enjoyable.
Likewise alternative app stores mean that I will inevitably have dozens of companies to deal with for refunds, subscription cancellations etc. And many of them will be driven by the need to make money from the store and not the interests of end users.
You don't want notifications for your communication services? (Zoom, Meet, Slack, Teams, Discord, Messenger, etc...)
Why not? I only have three reasons coming to my mind, and each of them have a nullifying factor:
1. You're already getting the same notifications from the app of the same communication service you have installed. But then why are you viewing the web version of the service?
2. There is at least one channel/room/whatever that has too much noise and would send a lot of notifications. But each of those services has a way to mute notifications per channel/room/whatever.
3. You don't want to be notified between certain times. But isn't that what the do not disturb mode on your device is for? You put in the times you don't want to be notified and it's done.
As for "those news ones as well", I've only been asked if I wanted notifications per each news site once and never again since. I'm assuming you might be visiting a news site that's more spammy, but in that case, they're probably not a news source you really want to be following anyway.
And yet I have many, many App Store "apps" that are mere webviews, and the only reason I keep them is because the website can't send me notifications (e.g.: order status).
Plus, web notifications means I can scrap all of those "send notifications through me" apps you'd use for scripts, which all ended up costing subscription fees.
> I’ll never understand why people don’t want choices and want their tech to be intentionally limited.
Because there's always a limitation. For instance, if I want to go to most websites with Javascript off, they just don't work. That's a limitation. Limiting my tech keeps bad actors from abusing it. Frankly, every feature has good and bad uses, and sometimes the bad outweighs the good. For instance, I have no real good use case for a website accessing my location, camera, motion sensors, etc.
Could some apps be developed and served via PWA this way? Sure. But is it far more likely to be used for ad-tech? Also sure.
And I say this as someone who made a PWA and cannot deploy it to my own phone because it needs features that aren't supported. A small price to help wall off bad actors. Even though my PWA is only deployed to machines I control and I am not a bad actor to myself.
It’s so strange to see how many of these features not in Safari Tech Preview.
I’m so confused why Safari Tech Preview exists. It’s seems like features in Preview rarely graduate to mainline Safari - yet mainline Safari will get features that were never tested in Preview.
Tech Preview is typically a preview of what's coming up for Safari on the current version of macOS. So Tech Preview doesn't 'spoil' the major OS releases and I imagine it's also not really technically possible given the integration between Safari and the OS. Most major OS releases come with things that Safari makes use of.
I don't really track it that closely, the impression I had was most (or at least many?) of them do. Do you have some particular set of features in mind?
On second thought maybe the notifications weren’t push per se and it was just using the regular notification API with some web socket or long polling in the background.
As a Chrome apologist really this pisses me off but I've been waiting for this forever and applaud the team (especially if they beat Chrome to landing this in a stable release)
I know it might be year or more after this releases that this will be actually usable (due to adoption) but I cannot wait for this. I hate having to do math/calculations based on viewport height/width to decide how a container should behave at different sizes. There are just so many things that have to be taken into account and all your math/logic falls apart when you change almost anything else that affects the container.
Only major browser not to support it. If they enable it and put hooks for BLE event callbacks, we would no longer need a custom app per-device.
Also, if BLE support was there, you could provision your WiFi-connected device without having to go do the whole AP-mode dance: push button on device, toggle WiFi on your phone, set it up on WiFi, etc. It's a big usability blocker for consumer devices. That whole sequence could be automated by visiting a URL on your phone or desktop.
They've announced they won't support it, ostensibly because of fingerprinting and privacy concerns. But that could be tackled the same way they've blocked all the other fingerprinting methods (fuzzing, threat of blocking, etc.)
Only major browser not to support it? Firefox doesn’t either and every other browser just does so because they all use the same engine. A better characterisation of the situation might be: “Web Bluetooth is a non-standard feature supported only by one of the three modern browser engines”.
I’m so tired of Google inventing arbitrary stuff for the web, implementing it, and everyone then expecting Mozilla and Apple to just follow suit.
> I'm so tired of Google inventing arbitrary stuff for the web, implementing it, and everyone then expecting Mozilla and Apple to just follow suit.
I agree, the situation is awful.
It'd be so nice to have a more diverse & robust community of web browsers. The jury pool for "voting" on stnadards is way too small. I'd also point out that Microsoft is still very much here. They may be using Chrome's engine, but they're under no obligation to enable all the features, to stick exactly to what Google is doing. If Edge agrees, it's at least somewhat of a vote.
Right now, either Apple & Mozilla have effective veto power on the web. Mozilla is deeply understaffed & barely if at all able to keep up with development. They thankfully started answering request-for-positions a bit back, but I see a lot of specs now-a-days with no response.
There's so much web-hating about that things are really tough. There's so many people for whom the web is joy & amazingness, & this feels like a hard condescension to face. Push back feels like broad push back against doing good things, feels like a desire to keep what feels great to us from growing. Tools like VSCode are superpowered badasses, fast & capable with great easy-to-write extensions; true blood of the web. But we can't escape Slack being a dog, and people's long & deep feelings of dislike.
Apple has long (well over a decade) been the foot dragging, complaining, miserable laggard, with lots of their own ideas & little willingness to play with others. They invested so little into their webtech for decades, just absolutely miniscule, and the teams had heavy bias, strong ways of thinking they wouldn't bend on. Mozilla recently seems to have switched sides: having given up on WebOS & an rich web platform, they now seem to spend more time claiming to be "pro-privacy" & fighting against really good new capabilities (eg WebMIDI) than working things forwards. Apple and Mozilla both know Google is widely reviled & mistrusted, and are marketing the shit out of their anti-web-platform stances; 'any risk to users is too great!'.
Thankfully we see a ton of really really good work happening on https://wicg.io. It's a good neutral territory to make the platform better. Tons of the web improvements happening are vendor-neutral, are just people with good ideas, that eventually, with support & community, stand a chance of getting sensible improvements implemented in 1 or 2, very occasionally 3 browsers. Alas, there's Apple. :'(
Once again being downvoted for being pro-web & having some suggestions/feelings. Anyone care to contribute some actual points, or are we just going to downvote each other silently?
I haven't downvoted you, and won't, but I might gently offer the observation that you are perhaps just a wee bit strident. By which I mean that after a half-dozen of your comments on this thread, I am now basically translating them all as "the web is super duper amazing and full of rainbows and everything is wonderful on it except for some poopyheads who don't do everything that the great Google demands and also you tired jerky jerky relics who think there's a place for native apps which haven't advanced since 1970 OMG I bet you people are all using black-and-white CRTs get with the program."
Thanks; not wrong. I don't want to try to rebut; I accept this, appreciate it.
I do want to just offer, perhaps, that I feel like there's a huge tide I feel, of rejectionism & negativity, in the world & also here. One of the site guidelines that I think is violated consistently, that deeply violates the Hacker ethic of inquiry & exploration is:
> Please don't post shallow dismissals,
I respond a lot because I see a lot of people just blowing shit off, creating a lot of iniquitous social pressure- creates a sense of certainty & derision- without argumentation, without allowing that there might possibly be good or advantages or reasons for things. People stridenly believe this or that things are terrible & awful, & they don't want to debate: they just want to score points, be able to preserve what parts of them have that belief. I'd like to see such a more explorative mindset. Let us speculate, let us regard positive possibilities of things, consider how so/so things might possibly get better or improve.
I think humanity deserves far better fates, and we deserve them on most topics. Contrary especially to the loudest & often most cantankerous opinion-havers- the jury is out. To seed only doubt & debate-to-win denies the future. To condemn too quickly & too readily is to obstruct gain & possibility, prevents the letting the good ever occur, predisposes us to ruination. I stridenly believe that, and stridenly believe it is existentially imperative that unbounded negativity be routed. I admit readily it's hard for me to keep balanced, keep eyes on the real prize, of openness & exploration, but I hope I can reasonably channel & embody the open & inquisitive Hacker spirit, hope I can encourage growth & exploration & interest in electronic frontiers. I hope I'm learning & getting better at it.
Damn straight I do, holy shit. Safari is a staunch, immovable obstruction. It's acted like the enemy of the prize I keep my eyes on:
> keep eyes on the real prize, of openness & exploration,
I'm willing to regard it's upsides, but there aren't many. And it being fixed & forced upon people is vulgar decrepit shit. And people are gaga for this prison they are trapped in.
You literally posted a "counterfactual" advocating doing nothing. How is that open & exploratory? How does that line up at all with anything I'd value? This sounds like The Enemy of Good talking.
This case isn't well made, except in it's crafty eloquent manipulation. It's bitter & pitch-axe raising about two pretty minor potentially breaking changes. Mountains out of mole hills. There's definitely very very very good reason for one of them, to protect users from some really ugly & janky manipulation (alert()... c'mon). The other I understand less. This actual evidence (someone actually bothered finding some for once, at least) is a small section in the middle.
> "But why is Google breaking the web forward at such a pace?"
> With Google’s move-fast-break-absofuckinglutely-everything axiom in mind,
The majority of the article is elaborate framing to make us feel bad, to manipulate us towards hatred & distrust & suspicion. Through elaborate historical analogy. But these two little specs of evidence... they're like 0.00000000000001% of the web platform. It's ridiculously overblown. Get real, show some sense of scope; this is yellow dog journalism, sensationalism & creating rabidness. Civil society needs defenses against this would-be scandal-mongering. Against this ego, this control freaking:
> Ages ago I argued we should give up on this, but of course no one listened.
The article's conclusion is horriying. Taking a snapshot of the web, freezeframing it now, and refusing to grow the platform is death. Should we do the same for iOS? Sorry, you need to put it on hold for a decade. Your priests are too uppity Apple, you need to not alter your shit anymore.
I do think the web has a much higher calling & standard than the lowly proprietary platforms. But I see very very few things that I think have been bad. People just protest change itself- they have little specifically to cite or dislike- & have staid desires, locked down & emotional responses. They want to shoehorn things into what they know. Being unwilling to accept change, demanding a hypermedium restrict itself to small ambitions is such a ridiculous & absurd conservative propoganda system. And it's one propogated by people, who, more often than not have other dogs they want to win the race.
> Shall we push the web forward until it’s broken,
The evidence of breakage is so vanishingly slim. There is so much hype, so much fear, so much hate against the web, against it's growth. But there's so little evidence. The author chalks this up to self-selection of communities, but don't you think there'd be like, you know, some actual evidence of the web actually breaking by now? Where is the walls of flame? Where is the horrible end of days we've been undergoing since this horrible apocalypse has not been abated? Where are the sites we use & love that just dont work anymore?
Being afraid of the web having utility, being a dynamic medium, is such a foolish Fear Uncertainty Doubt cavalcade. No other medium has ever been so widely, so roundly kept down, by such hostile & pointless griping. And the anti-web forces are backed by an immovable object against which no progress can be made: the tyrannical Apple app store, the scummiest most loserly & unreasonable & staunchly unmovable obstructions of unfair anti-competition hacks.
It's ironic because the article you shared to back yourself up is just another "unhinged lunatic" (a more wonky better lunatic-nerd than I, I can admit, but also manipulative & with less base to go off) going the fuck off, going rabid hog wild, end over end. Making absurd accusations, based on tiny evidence.
Apple's locking down of the app store & obstruction of the web, however, is blatant & obvious for all, is clear & longstanding & critical.
Anyways, yeah, I think this reply is pretty cheap-ass shitposting. Still awaiting a reasonable case against Chrome & the webplatform but I've been waiting for many years (not feeling pressured over it) and the arguments haven't gotten any better. I've already shared my breakdown of Quirksmode's. Seems petty. Dismissing me for unwinding & critiquing anothers lunacy- that feels pretty eyeroll worthy.
> It's ironic because the article you shared to back yourself up is just another "unhinged lunatic" (a more wonky better lunatic-nerd than I, I can admit, but also manipulative & with less base to go off) going the fuck off, going rabid hog wild, end over end. Making absurd accusations, based on tiny evidence.
You've started showing up well after the fact in thread after thread to just leave your persistent brand of negativity.
I think the quotes I've shared make some mind of a reasonable case. You just being rude & snide again is low class. I at least tried to present, with humor & appreciation, a reasonable review. You havent provided any value, and you keep showing up to be a soggy sock.
> But that could be tackled the same way they've blocked all the other fingerprinting methods (fuzzing, threat of blocking, etc.)
The reason browsers implement convoluted AI-based systems for things like rejecting cookies is that browser makers can't risk the regulatory fallout of blocking without a consistently enforced and static business policy.
Not implementing a feature at all is a great way to avoid getting in a conflict, such as a lawsuit in some international jurisdiction over whether blocking a particular use of bluetooth is anticompetitive.
Thats ignoring that some of the most harmful forms abuse come from those who are willing to register hundreds of throwaway domains to avoid static block lists. Block lists are based on location and not on legal entity.
162 comments
[ 3.9 ms ] story [ 185 ms ] threadSharedWorkers shipping Chrome 4 in January 2010[1]!! Firefox eventually shipped in 2014 (Firefox 29).
> ...in Safari
Haha yeah. Maybe re-do your marketing on this one.
It took Apple well over a decade to support a basic, essential function required for webapps to be able to have elementary cross-tab capabilities. Apple kept the web down on this one, super super hard. Absolutely brutal punching down. They mercilessly said they would not do it, that it was not going to happen. And that kept the whole web down. iOS said no. The titan has spoken.
[1] https://caniuse.com/sharedworkers
This is a magnitudes more important improvement and pushing the web forward than pretending that whateverworkers are a thing that is usable beyond very few convoluted examples (even if those examples end up running in production somewhere)
That's it.
Sure, users benefit from rich apps. The web isn't a suitable platform for rich apps and will hardly ever be.
The "obsession" is with having a good common platform for development. Powered by some of the fastest rendering engines on the planet, some of the fastest language runtimes out there. With an unbelievably joyous continuous development brought about by fantastic live tools. For over a decade, with ongoing & continuous & highly visible improvement.
It's disgraceful what sad moaning & endless disdain people who like working here have to suffer, how berated we get for seeing potential & chasing it. Getting insulted & slandered is so common, this is so typical, so regular; endless dogpiles by the haters, and it's so cheap, such an expression of negativity & bias & cruelty.
I never enjoyed writing Win32 or .NET. I never enjoyed writing Qt. I never enjoyed writing FLTK nor GTK. These systems did not spark joy. The native platforms always felt crap, were so much ceremony & encumbrance, and so controlled & crufty & verbose to work with. On the web, I had a live canvas of hypertext, with rich information, ready to go, with a couple lines of HTML. And then I could sprinkle in programmability, add some JavaScript & start to move & shake things. This was an endlessly rewarding loop, was pure joy. The web is joyful. It keeps bringing better & better capabilities, more and more joy. People can go play with WebMIDI now, we can work with Gamepads, or magnenometers or accelerometers. This is fun, this is amazing. It works on all devices (some iOS exceptions may apply).
> the associated inferiority complex,
News-flash: the web won. It's creaming everything else. It's where jobs & development are done today, the default-go-to. It's just better. Webapps like VSCode run stupid fast & do everything better than native did, and because they're built on JS & the web they have sick sick sickeningly awesome plugins that were fast & easy to build.
It's a tragedy that there's so many grumpy hurt feeling abound, around this great & good rise, that such a wonderful fantastic capable & competent system has so many cranky sad mopey feelings. If there's anyone that feels an inferiority complex, it's definitely native people. They will not simmer down & chill the frak out with their endless bemoaning & whining & belittling of the web. The web is constantly endlessly dragged on, shat on, in thread after thread after thread, by people acting high & mighty & telling us, effectively, how dare we? I didn't give you permission to be awesome! My skills are the only ones that count! What you do isn't right!
So again,
> the desktop experience,
This is a relic, ancient dust to us. Our medium is networked by default, can be reached instantly via any device. We have rich servers providing powerful capabilities behind our thick-client user interfaces. Network architectures & information design underpin & shape our implementation decisions, are considered as we model & extend. The word API? It basically means "web interface" more than it means "native library interface" for most people now- because the web is awesome, because what we do is visible & engageable & more a part of the world & active than any lonely, isolated, compiled-down desktop app ever can be.
That we happen to also have buttons & click on things doesn't make us the same.
I will try to insult your platform a little less in the future. But please ya'll, you too need to show a modicum of respect. Having nothing but degrading insults for the web is small, it's out of touch, and the complaining is seemingly bottomless: here ya'll are, in a submission about the web, once again complaining that it's advancing.
Nothing in this sentence applies to web browsers. The rendering in browsers is abysmally slow and extremely inefficient due to the way DOM is structured and rendered on-screen.
> Webapps like VSCode run stupid fast
Sure, if you're a trillion-dollar corporation with thousands of man-hours dedicated to a single app, then sure, you can have a decent app. However, the whole story of VS Code is the story of fighting against its browser origins. You could, for example, read up on how they tried to make the terminal in VS Code fast.
> This is a relic, ancient dust to us.
You do not have the right to talk for all of "us".
But now that it’s in Apple’s financial interests (not even its users’ interests) to push for native apps so Apple can collect their tax, the Apple supporters have seamlessly switched sides.
Good try at subtle insult, but it missed the mark.
Yes, the web had some promise many years ago. Now it's a monstrosity fuelled by Chrome non-standards that's one step away from collapsing under its own weight.
Cases in point: https://www.quirksmode.org/blog/archives/2021/08/breaking_th... and https://toot.cafe/@nolan/106715828929897555 and https://drewdevault.com/2020/03/18/Reckless-limitless-scope....
sliced bread is disaster
The web is the best standardized, cross platform, multi-runtime app platform we have.
I don't think zero-sum adversarial X vs Y thinking is helpful. Both of these have value. As a developer, it sounds like accessibility already worked, and that the benefit to the accessibilities-using features is speed, which is good, but likely not groundbreaking. But I also would like some of the many features of the web to be unlocked by this slow-to-implement browser, and SharedWorkers is over a decade old & sits in an important & unique spot. Trying to play favorites isn't in my interest, but recognizing the values of each I think is informative.
> pretending that whateverworkers are a thing that is usable beyond very few convoluted examples
If you don't even know what the thing is you probably aren't qualified to judge. You don't seem to be interested in learning or informing; you seem to be trying to score points, & doing so by mockery & cruelty. I hope we can find better manners, more appropriate for good, learned, engaged Hackers, than this.
There's definitely good people working to advance the web at Apple. That's clear. Apple's even hired up some. But there's still endless struggles, endless conflicts, huge huge parts of the map Apple insists are bad for users that they will not do. Like SharedWorkers, which until recently they insisted they would not do & were bad for users.
At a previous WWDC they talked about service workers and how they have the potential to significantly impact the performance and battery life of devices if abused.
And so a lot of effort has been made trying to isolate and optimise them.
Simply not true.
Simply get out of here. Clipping my argument down to fit a contrite cheezy meanspirited vacuous soundbite rebuttal is gross & lacks respect. My statement is absolutely true. Go spread empty misleading hate somewhere else.
As usual, the Apple fanboys show up to defend the prison they're locked into. By crudely rejecting basic longstanding technology. Typical. I'd like to see a little more high-road in some discussions, something beyond snide defensiveness.
Or they might be flipping between different sheets in the spreadsheet. And perhaps those sheets have cross relationships. Or perhaps the user changes which sheet they're looking at & has old data.
Whether or not it's common doesn't change that it's a concern that good developers strive to develop for, and it's something that ought be expected. Tabs are part of the web, are something that support user-agency, and it ought to be common that they are well supported. Now, we can start doing the job we ought to do.
Opening a bunch of tabs is up to the user. I develop web apps for business users and often they open many tabs. But even me on reddit or hn I'll open a bunch of tabs to basically queue up reading.
More at https://news.ycombinator.com/item?id=31682131.
For a while the web view they were making apps use was lagging way way behind Safari itself- was just dog slow & utterly unaccelerated[1], but they finally at least ship moderately capable webviews in iOS now. That was a solid half decade of brutal tyranny- anything trying to use the web platform at all had a terrible time, & alternative browsers were a sick laggy disgusting joke.
This is one of the biggest sorest points about Apple's complete dominion over iOS & their rule by app store (for many): this titan don't even allow healthy competition on the web. They hold the whole web back. Safari would feel like far less of a villianous poison if Apple didn't rule iOS with a bloody iron fist.
[1] http://9to5mac.com/2014/06/03/ios-8-webkit-changes-finally-a... https://news.ycombinator.com/item?id=7843943 (12 points, 8 years ago, 1 comments)
Now, would allowing other rendering engines be better for iOS? I ultimately think it would, but also can understand Apple's stance of wanting to enforce the most performant, secure and energy efficient rendering engine on something as sensitive to these parameters as a mobile phone.
The roll of the webview is more than webkit rendering. It encompasses the javascript engine, all it's capabilities, it includes many many many of the platform APIs. I'd be interested to hear if Chrome or Firefox or any other iOS browsers implement any web apis on iOS that aren't present in Safari, but I doubt it, and I'm not sure whether that's a hard web view limitation.
I think we're trying a little too actively to promote a sense of significant diversity here, where there is in fact a harsh & brutal monoculture. Yes, the user chrome is different. Bookmarks, history, settings & sync sound like the main differences. But fundamentally users are still trapped with a a browser that makes extremely fantastically conservative decisions that they cannot possibly escape from.
> wanting to enforce the most performant, secure and energy efficient rendering engine
Energy efficiency is indeed pretty good on Safari desktop, but there's also plenty of tests that will show Chrome winning. It's impossible to compare on mobile, because Google can't develop for iOS.
I'd be hard pressed to accept accepting Safari as more secure or more performant[1]. Especially as we continue to advance, Safari just doesn't have modern web features. Web bundles? Nope. Early-hints? Modern web optimizations just aren't possible.
[1] https://www.theverge.com/2022/3/7/22965756/google-chrome-app...
Performance wise, Chrome/Blink had a brief lead in March but since WebKit has again surpassed it. Currently WebKit is about 10% faster on macOS.
Security wise - when is the last time you had to update your iPhone/iPad because of a security issue in WebKit? Even on desktop, check the rate of Chromium security vulnerabilities vs WebKit.
> I think we're trying a little too actively to promote a sense of significant diversity here, where there is in fact a harsh & brutal monoculture.
As someone building a macOS/iOS browser I can say that WebView != Browser. There is so much to be built around a rendering engine for something to be considered a browser today.
> Safari just doesn't have modern web features. Web bundles? Nope. Early-hints? Modern web optimizations just aren't possible.
This is not always true.
https://wpt.fyi/interop-2022
Yes I am cherry picking, but so were you ;)
Also consider that most users these days do not care about web bundles or early-hints. They care about speed, security, battery life and privacy. I feel as WebKit delivers on these essentials and is a good base for a browser. Having Blink/Gecko on iOS may bring a web feature or two but is also sure to compromise on other things.
I've also heard no such claims, seen no evidence Safari has found new vast wins to "beat" chrome on, whatever that means.
I think it's also absurd that we accept such primitive rankings in the first place, although I myself have shared some of these reductionist claims. Fast at what? There's so many different conditions, so many things we could measure. Is Safari the fastest WebGPU engine? Are they best time-to-first-paint? For what kind of site complexities? Is there JS or just pure HTML? Apple themselves invented Speedometer- an interesting & creative test of loading a lot of different TodoMVC apps, one after another- and for a while dominated it, but Chrome continues to excel[1] (day old article). What data were you looking at, if any, or just heresay?
One category I'd point out: I haven't heard a single web-game developer ever thank Safari for anything. These people deserve good treatment, are doing great work. Safari isn't helping them, isn't fast there.
(Also props to Chrome for optimizing on a brand new platform that they have had far far less time to optimize for.)
> As someone building a macOS/iOS browser I can say that WebView != Browser. There is so much to be built around a rendering engine for something to be considered a browser today.
As a web site developer, it all looks like the same shitty, low feature, piece of crap turtle that doesn't implement shit. I can offer my users no more features on your browser than any other turd bucket WebView based browser. It's not your fault, the platform is just deficient, grossly.
As for wpt.fyi interop testing, I dig it. There's some very good stuff Safari is up to, thank you for sharing. Better colors is excellent. I would note however:
> These scores represent how browser engines are doing in 15 focus areas and 3 joint investigation efforts.
This seems to be 100% only agreed upon areas, where each browser already has some stake. It's all rendering, not platform features. So we basically ignore the fact that Safari doesn't have web bundles, doesn't have early hints, doesn't have http3, doesn't have gamepads, doesn't have midi. I'm barely getting started. Safari isn't always- but quite quite frequently is- an obstacle to modernity.
> Also consider that most users these days do not care about web bundles or early-hints. They care about speed,...
These two statements contradict. Webbundles and early-hints are techniques for performance optimization. I'm willing to bet by 2030 Safari is dragged into doing the right thing here, but right now they keep the web slow.
[1] https://9to5google.com/2022/06/06/chrome-mac-speedometer/
On macOS there is only one benchmark used by all sides to determine the 'fastest browser' title - Speedometer 2.0 benchmark.
It is used in Apple's marketing [1] and in Google marketing [2]
Blink had a brief lead in March when it reached 300, WebKit overtook, the just a few days ago (and a day before WWDC) Google claimed new best score (360 - I was not able to confirm [3]).
[1] https://www.apple.com/safari/#footnote-1
[2] https://twitter.com/googlechrome/status/1533524079717892098
[3] https://twitter.com/vladquant/status/1534301507566202880
FWIW, Speedometer started with & always seemed like an Apple specific test. It greatly favors low optimization paths, because it's just loading app after app after app. It's basically not worth having optimizing compilers, because Speedometer is just testing initial load speed, more or less.
That's a valid number, and I love that others (like Chrome) accept the thrown gauntlet as is, withiut protest, & compete. But this is not really indicative of what life will be like after the first 2s. Maps (or any other app) may run way way faster on an engine that focuses more on optimizing compilers.
Thanks though, thanks for the links. Im not trying to invalidate this. But I do think it is limited, I do think it's origin & what it tests is worth noting in here. It's only one way of looking at performance.
Really doesn't help that they've pull so far back from open standards. They used to champion OpenGL, OpenCL, and open web standards, now they are working like Balmer's Microsoft. Everything internal and they sabotage open standards. Either by not implementing them, or obstructing all evolution at the standards committees.
Evidence ? Pretty extraordinary claim to make.
People forget that Microsoft disbanded the IE dev team from 2001 for at least 5 years - IE6 remained unchanged from 2001 to 2006 and received absolutely no feature updates, HTML rendering or JavaScript engine changes during that time (though there were security patches). The next version of IE wasn't until IE7 was released to coincide with Windows Vista in early 2007.
5 years between major versions! No browser since then, developed by Google or Apple (and even now, Microsoft) has had a gap that long without feature updates.
> "look for Web Push for iOS and iPadOS in 2023."
Anyway, I look forward to every shitty site asking for permission to send notifications adding to the trillions of requests a year...
The whole thing's a mis-feature. If it must exist at all, sites shouldn't be able to prompt for it, but simply advertise the functionality and let browsers add a little button or something for the user to actively engage with if they want to see a permissions prompt. Like the way browsers used to handle sites that advertised RSS feeds.
Looks like there will be some interaction required to prompt it.
That being said, hoping there's a browser-level option to just turn it off.
Is that user flow described actually a requirement somehow, or is that just an "ideal scenario"? Cause right after that it says "If you’ve already implemented Web Push for your web app or website using industry best practices, it will automatically work in Safari" and existing implementations don't require a button press that they used in their example. Facebook just pops up the browser prompts to allow or block as soon as you visit the page, as do many news sites and other stuff I don't want notifications from.
Maybe the "using industry best practices" part is key, and they somehow will block implementations like Facebook.
Meh, you'll just get full screen modals begging you to push the button. So long as a feature which (ostensibly) drives engagement exists, every ad based website is going to do whatever they can to get you to use it.
There are some really good use cases for it, but I think the balance is tipped by the far too many bad (for the user) use cases.
> Notification prompts are very unpopular. On Release, about 99% of notification prompts go unaccepted, with 48% being actively denied by the user.
So 99%+ are spam and the rest are probably users who accidentally hit accept.
I have to imagine many people are in the same boat.
But engagement is up 3%!
…OK, that’s too dismissive. I do know that certain web apps and sites have legitimate uses for push notifications.
But I encounter these far, far more often on news sites, where I profoundly do not want notifications, ever.
Probably too convoluted of a “power user” setting for Apple to consider, but I would rather have a very strict opt-in whitelist where I proactively enter sites where I actually do want notifications.
That being said, I definitely hope it's off by default
(Although to be honest, apart from push notifications, which are still vapourware right now, we've been able to replace almost everything native apps do with web apps for a while now. I'll be super curious to see how stuff like Rust and WASM go using some of these newly announced features...)
The web is in a really funny place right now. It's easier to synthesize audio to read your blogpost to the user in whatever dialect you want than it is to style a number input consistently across browsers
Isn't this how it works in Firefox/Chrome right now? I routinely get prompts from websites asking for push notification permission, which I always deny. Can't imagine Safari not doing the same thing.
No Signal, I do _not_ want to enable push notification on this iPad. Still. Just like every other time you asked me.
I'd rather go to the website, enable notifications, and never install any app.
I believe Firefox doesn't show the prompt at the top at all anymore nowadays and just has a glowing notification bubble in the address bar, but it's been a while.
They absolutely do.
https://web.dev/notification-on-start/
Safari messes up rendering engine all the time and creates bugs in many websites.
Usually fixes are fast, but it will take ages to get the fix to iOS update.
Your particular case might have worked out better, but in general being able to test on an OS version and not have that change out from under you is really helpful.
I don’t understand why iOS would be any different.
On desktop, the popular solution to the same problem is to bundle an entire web browser.
Fun fact: even with the latest release of Chrome, Safari is surpassing Chrome in Interop 2022[0]
Say what you will about Apple, but I think the team behind Safari has been doing some fantastic work to make up for its reputation
[0] https://wpt.fyi/interop-2022
There's only two things that Chrome is noticeably behind Safari on (Interop-2022-wise).
1. Colour spaces and functions.
-- Easy enough to implement, it's just some matrix math in the graphics stack.
-- It's not something that web developers in particular are crying out for just yet.
-- It's more for designers who want to remove the scss build step out of their build stack while still being able to make hue changes (using css' custom properties instead of scss' variables). But scss won't be going anywhere until css nesting has broad browser support. I'd argue that nesting is much more desired than expanded color support.
---- In fact, I just had a look at the last state of css survey. Nesting was the third most requested feature. Color spaces didn't even appear in the list. Going further, a search over the ~2k comments shows 47 responses using the word "color" and 168 using the word "nest".
2. Subgrid.
-- Google has/had been working on a new layout engine (LayoutNG) for chromium for quite a while. Subgrid support is/was easier to implement and maintain on the grid component of their new layout engine (GridNG), so they didn't bother making an implementation for their older layout engine. Microsoft and Agalia have both been working on the Subgrid implementation for the chromium core to push it forwards faster.
-- Personally I'm fine with this delayed approach to make sure it all works. It's more reliable for web developers than Safari's often maligned: "Hey we released this feature and don't care that it's broken. If 10% of it works we consider it a success." attitude.
> Say what you will about Apple, but I think the team behind Safari has been doing some fantastic work to make up for its reputation
I'm not going to give Apple a pat on the back for trying to catch back up to web standards only after lawmakers start eyeing up Apple's monopolistic and destructive web and app store practices.
Edit: Grammar, layout
I feel like I was pretty explicit in my attempt to separate Apple from the team working on Safari :P
Regardless, 10 years ago Microsoft was OSS Enemy #1. Today they've done a complete 180.
I don't think you have to be a dumb optimist to buy into this. Personally I think Microsoft's change mostly came from realizing that being a government contractor is much more profitable than serving consumers directly and playing nice with open source is really important for attracting talent. (And they've also innovated on ways to profit off of open source with things like Copilot)
There's some really great people working on Safari right now. I don't think a lot of this talent would've been attracted to the team if Apple didn't at least do some open source virtue signalling
Most likely, it came from them realizing they had lost their platform monopoly due to floundering so badly with consumer mobile.
Apple invested tons of resources to accelerate their initial iPhone OS efforts, and had a polished experience you couldn't get from third party integrators. Google capitalized on the technology gap for most non-smartphone third parties in releasing a quasi-open-source mobile platform, seizing the market that Microsoft would normally sell their platform into.
Their emphasis on backwards compatibility (and general developer distrust of Microsoft's long-term support of new API) wound up making it very difficult to get support for newer platforms, especially on new architectures like ARM.
My opinion however this wound up being overall healthy for them, because they have always mostly sold to companies and strived for more recurring revenue via support contracts and the like. The explosion of new platforms and of mobile devices meant it was easier for them to sell SaaS products like Office 365, and to treat Azure as their new platform play.
Microsoft's Open Source policy reflects that they now need to attract new customers in a diverse technical landscape, vs try to lock in existing customers to a Microsoft-created ecosystem. It also reflects the difference in their revenue being services vs software.
Literally only for porn—I doubt I'd ever have noticed the feature was missing, otherwise—but still.
Visit https://dl8.webmfiles.org/big-buck-bunny_trailer.webm for example and it will just play.
From: https://www.webmfiles.org/demo-files/ (where its embedded with a JavaScript player)
Also see: https://caniuse.com/?search=webm
It is not javascript player. It is plain old html video tag.
* controllable PWA install prompt
* Keep GPS working after screen lock or app change and then return
* Wake lock
The PWA install rate on iOS is abysmal for this reason.
On a personal level I'd rather not have any more banners on top of half a dozen or so that already plague a typical website.
No website should have that level of access to my device.
Sites already do "wake lock" by playing videos they you can't see. How many times have you tried to read a recipe and your phone shuts off while your hands are covered in flour, or you need to keep tapping your iPad screen while watching sports scores or election results?
These are both incredibly useful APIs that you probably would enjoy if you didn't dismiss them outright.
Videos on iOS are forced to play full-screen. Background, autoplay videos, do not trigger wake lock.
These are features which, while I'm sure some applications would find useful, would more often be abused than useful.
I'm sure i've stored more than 50mb in idb before...
The flag for web push has been available, albeit non functional since 15.3.
Apple needs to hurry and simply allow for alternative app stores as well.
Web push whilst great for developers and some use cases has also meant dealing with spam and user hostile behaviour. I have 50+ websites that I have to block from sending me web push notifications. It's yet another thing making the web less enjoyable.
Likewise alternative app stores mean that I will inevitably have dozens of companies to deal with for refunds, subscription cancellations etc. And many of them will be driven by the need to make money from the store and not the interests of end users.
I only ever see it on tabloid websites that I accidentally mis-click on or the occasional marketing page.
Why not? I only have three reasons coming to my mind, and each of them have a nullifying factor:
1. You're already getting the same notifications from the app of the same communication service you have installed. But then why are you viewing the web version of the service?
2. There is at least one channel/room/whatever that has too much noise and would send a lot of notifications. But each of those services has a way to mute notifications per channel/room/whatever.
3. You don't want to be notified between certain times. But isn't that what the do not disturb mode on your device is for? You put in the times you don't want to be notified and it's done.
As for "those news ones as well", I've only been asked if I wanted notifications per each news site once and never again since. I'm assuming you might be visiting a news site that's more spammy, but in that case, they're probably not a news source you really want to be following anyway.
Edit: Formatting
Plus, web notifications means I can scrap all of those "send notifications through me" apps you'd use for scripts, which all ended up costing subscription fees.
Because there's always a limitation. For instance, if I want to go to most websites with Javascript off, they just don't work. That's a limitation. Limiting my tech keeps bad actors from abusing it. Frankly, every feature has good and bad uses, and sometimes the bad outweighs the good. For instance, I have no real good use case for a website accessing my location, camera, motion sensors, etc.
Could some apps be developed and served via PWA this way? Sure. But is it far more likely to be used for ad-tech? Also sure.
And I say this as someone who made a PWA and cannot deploy it to my own phone because it needs features that aren't supported. A small price to help wall off bad actors. Even though my PWA is only deployed to machines I control and I am not a bad actor to myself.
I’m so confused why Safari Tech Preview exists. It’s seems like features in Preview rarely graduate to mainline Safari - yet mainline Safari will get features that were never tested in Preview.
Been in Preview since 13.4, never graduated to mainline Safari.
Another thread here as well:
https://twitter.com/Dieulot/status/1473247987790921728#m
There's a flag in Chrome. It seems to have landed in early December. https://chromestatus.com/feature/6525308435955712
Only major browser not to support it. If they enable it and put hooks for BLE event callbacks, we would no longer need a custom app per-device.
Also, if BLE support was there, you could provision your WiFi-connected device without having to go do the whole AP-mode dance: push button on device, toggle WiFi on your phone, set it up on WiFi, etc. It's a big usability blocker for consumer devices. That whole sequence could be automated by visiting a URL on your phone or desktop.
They've announced they won't support it, ostensibly because of fingerprinting and privacy concerns. But that could be tackled the same way they've blocked all the other fingerprinting methods (fuzzing, threat of blocking, etc.)
Also: WebXR please.
I’m so tired of Google inventing arbitrary stuff for the web, implementing it, and everyone then expecting Mozilla and Apple to just follow suit.
I agree, the situation is awful.
It'd be so nice to have a more diverse & robust community of web browsers. The jury pool for "voting" on stnadards is way too small. I'd also point out that Microsoft is still very much here. They may be using Chrome's engine, but they're under no obligation to enable all the features, to stick exactly to what Google is doing. If Edge agrees, it's at least somewhat of a vote.
Right now, either Apple & Mozilla have effective veto power on the web. Mozilla is deeply understaffed & barely if at all able to keep up with development. They thankfully started answering request-for-positions a bit back, but I see a lot of specs now-a-days with no response.
There's so much web-hating about that things are really tough. There's so many people for whom the web is joy & amazingness, & this feels like a hard condescension to face. Push back feels like broad push back against doing good things, feels like a desire to keep what feels great to us from growing. Tools like VSCode are superpowered badasses, fast & capable with great easy-to-write extensions; true blood of the web. But we can't escape Slack being a dog, and people's long & deep feelings of dislike.
Apple has long (well over a decade) been the foot dragging, complaining, miserable laggard, with lots of their own ideas & little willingness to play with others. They invested so little into their webtech for decades, just absolutely miniscule, and the teams had heavy bias, strong ways of thinking they wouldn't bend on. Mozilla recently seems to have switched sides: having given up on WebOS & an rich web platform, they now seem to spend more time claiming to be "pro-privacy" & fighting against really good new capabilities (eg WebMIDI) than working things forwards. Apple and Mozilla both know Google is widely reviled & mistrusted, and are marketing the shit out of their anti-web-platform stances; 'any risk to users is too great!'.
Thankfully we see a ton of really really good work happening on https://wicg.io. It's a good neutral territory to make the platform better. Tons of the web improvements happening are vendor-neutral, are just people with good ideas, that eventually, with support & community, stand a chance of getting sensible improvements implemented in 1 or 2, very occasionally 3 browsers. Alas, there's Apple. :'(
Anyhow, yes.
You like web apps. We get it.
I do want to just offer, perhaps, that I feel like there's a huge tide I feel, of rejectionism & negativity, in the world & also here. One of the site guidelines that I think is violated consistently, that deeply violates the Hacker ethic of inquiry & exploration is:
> Please don't post shallow dismissals,
I respond a lot because I see a lot of people just blowing shit off, creating a lot of iniquitous social pressure- creates a sense of certainty & derision- without argumentation, without allowing that there might possibly be good or advantages or reasons for things. People stridenly believe this or that things are terrible & awful, & they don't want to debate: they just want to score points, be able to preserve what parts of them have that belief. I'd like to see such a more explorative mindset. Let us speculate, let us regard positive possibilities of things, consider how so/so things might possibly get better or improve.
I think humanity deserves far better fates, and we deserve them on most topics. Contrary especially to the loudest & often most cantankerous opinion-havers- the jury is out. To seed only doubt & debate-to-win denies the future. To condemn too quickly & too readily is to obstruct gain & possibility, prevents the letting the good ever occur, predisposes us to ruination. I stridenly believe that, and stridenly believe it is existentially imperative that unbounded negativity be routed. I admit readily it's hard for me to keep balanced, keep eyes on the real prize, of openness & exploration, but I hope I can reasonably channel & embody the open & inquisitive Hacker spirit, hope I can encourage growth & exploration & interest in electronic frontiers. I hope I'm learning & getting better at it.
That is, Chrome and its army of "developer advocates".
> To condemn too quickly & too readily is to obstruct gain & possibility
And then you condemn Safari.
Damn straight I do, holy shit. Safari is a staunch, immovable obstruction. It's acted like the enemy of the prize I keep my eyes on:
> keep eyes on the real prize, of openness & exploration,
I'm willing to regard it's upsides, but there aren't many. And it being fixed & forced upon people is vulgar decrepit shit. And people are gaga for this prison they are trapped in.
Of course, it isn't
> And it being fixed & forced upon people is vulgar decrepit shit. And people are gaga for this prison they are trapped in.
Ah yes. The more emotional outrage you poor into your rants, the more people will agree with you. Not.
Here's a counterfactual point to your rants: https://www.quirksmode.org/blog/archives/2021/08/breaking_th...
This case isn't well made, except in it's crafty eloquent manipulation. It's bitter & pitch-axe raising about two pretty minor potentially breaking changes. Mountains out of mole hills. There's definitely very very very good reason for one of them, to protect users from some really ugly & janky manipulation (alert()... c'mon). The other I understand less. This actual evidence (someone actually bothered finding some for once, at least) is a small section in the middle.
> "But why is Google breaking the web forward at such a pace?"
> With Google’s move-fast-break-absofuckinglutely-everything axiom in mind,
The majority of the article is elaborate framing to make us feel bad, to manipulate us towards hatred & distrust & suspicion. Through elaborate historical analogy. But these two little specs of evidence... they're like 0.00000000000001% of the web platform. It's ridiculously overblown. Get real, show some sense of scope; this is yellow dog journalism, sensationalism & creating rabidness. Civil society needs defenses against this would-be scandal-mongering. Against this ego, this control freaking:
> Ages ago I argued we should give up on this, but of course no one listened.
The article's conclusion is horriying. Taking a snapshot of the web, freezeframing it now, and refusing to grow the platform is death. Should we do the same for iOS? Sorry, you need to put it on hold for a decade. Your priests are too uppity Apple, you need to not alter your shit anymore.
I do think the web has a much higher calling & standard than the lowly proprietary platforms. But I see very very few things that I think have been bad. People just protest change itself- they have little specifically to cite or dislike- & have staid desires, locked down & emotional responses. They want to shoehorn things into what they know. Being unwilling to accept change, demanding a hypermedium restrict itself to small ambitions is such a ridiculous & absurd conservative propoganda system. And it's one propogated by people, who, more often than not have other dogs they want to win the race.
> Shall we push the web forward until it’s broken,
The evidence of breakage is so vanishingly slim. There is so much hype, so much fear, so much hate against the web, against it's growth. But there's so little evidence. The author chalks this up to self-selection of communities, but don't you think there'd be like, you know, some actual evidence of the web actually breaking by now? Where is the walls of flame? Where is the horrible end of days we've been undergoing since this horrible apocalypse has not been abated? Where are the sites we use & love that just dont work anymore?
Being afraid of the web having utility, being a dynamic medium, is such a foolish Fear Uncertainty Doubt cavalcade. No other medium has ever been so widely, so roundly kept down, by such hostile & pointless griping. And the anti-web forces are backed by an immovable object against which no progress can be made: the tyrannical Apple app store, the scummiest most loserly & unreasonable & staunchly unmovable obstructions of unfair anti-competition hacks.
Apple's locking down of the app store & obstruction of the web, however, is blatant & obvious for all, is clear & longstanding & critical.
Anyways, yeah, I think this reply is pretty cheap-ass shitposting. Still awaiting a reasonable case against Chrome & the webplatform but I've been waiting for many years (not feeling pressured over it) and the arguments haven't gotten any better. I've already shared my breakdown of Quirksmode's. Seems petty. Dismissing me for unwinding & critiquing anothers lunacy- that feels pretty eyeroll worthy.
Just leaving it here.
I think the quotes I've shared make some mind of a reasonable case. You just being rude & snide again is low class. I at least tried to present, with humor & appreciation, a reasonable review. You havent provided any value, and you keep showing up to be a soggy sock.
I switched to Sublime text just because it is not fast and eats lots of RAM for no good reason.
The reason browsers implement convoluted AI-based systems for things like rejecting cookies is that browser makers can't risk the regulatory fallout of blocking without a consistently enforced and static business policy.
Not implementing a feature at all is a great way to avoid getting in a conflict, such as a lawsuit in some international jurisdiction over whether blocking a particular use of bluetooth is anticompetitive.
Thats ignoring that some of the most harmful forms abuse come from those who are willing to register hundreds of throwaway domains to avoid static block lists. Block lists are based on location and not on legal entity.