6 ms·
I know that their developer evangelist is earnestly doing all that can and I applaud them for that, but I'd love to know what internal Apple politics around web
by no_wizard 3y ago
I know that their developer evangelist is earnestly doing all that can and I applaud them for that, but I'd love to know what internal Apple politics around web standards made them focus so much on CSS and a few quality of life things, but completely ignores what developers have been clamoring for in many respects.
The popover support is nice, and I like the new CSS stuff, and focus on making Pointer Events and Mouse Events more consistent is a big win, however
- Most (all?) of these was work that was being done by the Safari team to support anyway
- There is no explanation about why these were chosen over other items
- They're still refusing to look at what developers have been clamoring for and I know most of these things are not on the top of the list of every day developers. Things like the Origin Private FileSystem, Trusted Types, URLPattern, Import Assertions, JSON Module scripts and a host of other things that would really benefit day to day developers in greater numbers are completely ignored
I feel like Interop is a superficial thing, because these are all things that were going to be implemented anyway and aren't the things that developers have been pounding the door over for years prior (except maybe the CSS nesting stuff, lots of people want to ditch sass and that was one of the last things keeping it around for alot of people)
Overall while I appreciate these features, I'm not terribly impressed, it doesn't really solve my day to day concerns in any meaningful way, sans the `popover` attribute (which will take time to roll out across the industry anyway, regardless of browser support).
As much as I hate the chromium engine monopoly, Apple resists standards with little explanation way too often, and doesn't bother introducing alternatives when they do.
- chrismorgan 3y ago> Origin Private FileSystem Safari’s had that for more than two years. (Chromium, more than three, Firefox, almost one.) > Import Assertions An excellent example of why Firefox and Safari tend to be more reserved in what they ship, in contrast to Chromium which is much more fond of shipping immature stuff. Import assertions are dead, superseded by import attributes. V8 has deprecated import assertions and will remove them soon. See https://v8.dev/features/import-assertions https://v8.dev/features/import-assertions for more info on why. Chromium shipping immature stuff is, from time to time, a real pain, because it makes it harder to fix problems in the spec as you sometimes have to avoid breaking real usage. Sometimes this basically makes things worse forever, because of naming things. I can’t remember a specific case in browsers, but know they exist; but a similar case is how we have some methods named includes instead of contains like they should have been because of Mootools touching stuff it shouldn’t have, and so now everyone suffers for that mistake.
- no_wizard 3y agoImport Assertions being replaced, thats cool (its replacement perhaps should have made the list if the spec is done) but OPFS is not widely supported. Its partially supported. Its not on the same interoperable standard as Chrome, for instance. hence for Interop 2024 it would have made sense to include, to close the gaps between the browsers.
- jprete 3y agoI'm really confused because the import assertions link doesn't say that they're deprecated at all, let alone why. (It's also possible I'm being served something different than you were because I'm on mobile?)
- da_chicken 3y agoI believe you meant to link this: https://v8.dev/features/import-attributes https://v8.dev/features/import-attributes That page actually explains the change: > V8 shipped the import assertions feature in v9.1. This feature allowed module import statements to include additional information by using the assert keyword. This additional information is currently used to import JSON and CSS modules inside JavaScript modules. > Since then, import assertions has evolved into import attributes. The point of the feature remains the same: to allow module import statements to include additional information. > The most important difference is that import assertions had assert-only semantics, while import attributes has more relaxed semantics. Assert-only semantics means that the additional information has no effect on how a module is loaded, only on whether it is loaded. NB: The above quotes have been edited to just the most relevant notes. See the link above for more information.
- chrismorgan 3y agoYou are correct, that is the link I meant.
- apatheticonion 3y ago> Origin Private FileSystem Question that is both on and off topic. Is the Origin Private FileSystem permanent on Safari? Apple released an update a few years ago the cleared the contents of localStorage and indexeddb for an origin if the user hadn't visited in 14 days. This makes it hard for purely offline PWAs to store data offline. e.g. I wrote an offline only exercise tracker PWA (akin to "Strong" on Android) that used indexeddb to keep records and required no account. The 14 day policy makes it basically DOA for iOS clients. Is the OPFS a viable alternative?
- nwienert 3y agoSafari has been absolutely crushing things in terms of standards and general shipping velocity for nearing on 3 years now. Your comment would be 100% true 3 years ago, but today is basically completely incorrect. A sibling comments corrects some of it, but needless to say the endless FUD around this is bad. Safari is an incredible browser - standards wise - but also way faster and more efficient than Chrome. I use it for everything except the dev tools and switching to Chrome always feels like I'm using a gas car vs electric - clunky, slower, heavier.
- no_wizard 3y agoThey have done a ton on the CSS side in particular, I agree with that, and its in a better place than it was 3 years ago, no doubt about that either. My point still stands on interop though: They aren't picking anything where the interop is divergent and tricky for developers to navigate, and most of this was on their roadmap as going to implement soon anyway. They aren't tackling any thorny issues like OPFS, which is where developers want them to figure out interoperability for consistency because it moves the entire platform forward in big meaningful ways (for instance, makes PWAs more potent alternatives to native apps) I applaud their CSS and HTML work though, that's been nice to see.
- novov 3y agoInterop is a joint initiative between all three browsers though, not just Safari. Its not just Safari that picks these focus areas.
- no_wizard 3y agoIt is Apple throwing up objections to focusing on other things as far as interop goes though. They have alot of weight in the discussion at hand. I know Google throws some up too (JPEG XL much) but Apple is somewhat notorious for this. I should also mention, there was an episode of the ShopTalk Show podcast where their developer evangelist was pushing for most of the things in this list when talking about Interop, which makes me believe they had their minds pretty well decided going into the whole thing.
- hammyhavoc 3y ago>I'd love to know what internal Apple politics around web standards made them focus so much on CSS and a few quality of life things, but completely ignores what developers have been clamoring for in many respects. Is this not just completely on-brand for Apple? Focusing on the sizzle and not the steak?
- Etheryte 3y agoI wouldn't really say that I've missed much any of what you've described in my day-to-day work, so it's hard to take this criticism seriously. Meanwhile the things listen in TFA have real practical use cases pretty much across the whole web. Why are those specific items so important to you?
- no_wizard 3y agoBecause they move the frontier of PWAs forward in a big way. They aren't simply quality of life improvements, which the vast majority of these things are (sans the popover attribute, which will make a host of things easier once browser versions are sufficiently updated past the point of worrying about using it or not) I want to be able to persist to the filesystem of the user, for instance, because the software we make is all about editing files, and currently, the user has to upload their files to us and crucially we then have to store them on a server. I'd like to remove that server requirement, for a multitude of reasons, and be able to have read / write permissions to a sandbox directory that lets me do just that. Not everyone is making apps that benefit from this, but the ones that do, really do and they tend to be big. Our app has 400K+ users for instance
- deleted 3y ago[deleted]
- robertoandred 3y agoHa what. Developers clamor for things that solve actually day-to-day problems like sticky and has, which Safari led the pack on. Not to mention subgrid, color functions, filters, etc.
- spartanatreyu 3y ago> Not to mention subgrid, color functions, filters, etc. Firefox led both subgrid and filters. Color functions seems a bit weird to bring up since back then Apple were the only ones using higher gamut displays making the color functions useless for everyone but them, while also doing their best to hamper the web making the color functions useless for everyone including them. To add some context on the rest of the industry... everyone else focused their improvement efforts not on deeper color bit-depth, but on improved framerates to reduce eye-strain, flicker issues and latency discomfort. It's only going to be over the next few years as QLED/MicroLed/etc... displays get cheap enough to be commercially viable that the color functions (relative color possibly excluded) will start to become useful. I don't really count Apple's current displays since they have been pasting multiple displays together to try and get desktop resolutions to the detriment of frame rate (which from a health perspective is much more important).
- robertoandred 3y agoFirefox lagged on filter and backdrop filter, and Chrome lagged on subgrid. And color functions don’t need displays with better color to work. They’re about better ways to describe colors, to mix colors, and to choose colors. And Apple did nothing to prevent others from using displays with better color, nor does enhancing the web hamper the web.
- alwillis 3y ago> Color functions seems a bit weird to bring up since back then Apple were the only ones using higher gamut displays making the color functions useless for everyone but them, while also doing their best to hamper the web making the color functions useless for everyone including them. Totally false. In Apple's blog post "Wide Gamut Color in CSS with Display-P3" (posted March 2, 2020), Apple includes the fact that non-Apple devices shipped with wide gamut displays: - Google Pixel 2 XL - Google Pixel 3 - HTC U11+ - OnePlus 6 They even provided a Wikipedia link [2] that links to an article with addition devices. The hardware wasn't the issue; Chrome and the other browsers that ran on Android back then didn't support wide gamut displays. That's not Apple's fault; they were going out of their way to promote wide gamut/Display P3 as something good for the web. Finally, Safari/WebKit has wide gamut support starting in 2016 [3] by implementing web standards that Google, Mozilla, etc. have access to. [1]: https://webkit.org/blog/10042/wide-gamut-color-in-css-with-display-p3/ https://webkit.org/blog/10042/wide-gamut-color-in-css-with-d... [2]: https://en.wikipedia.org/wiki/DCI-P3#History https://en.wikipedia.org/wiki/DCI-P3#History [3]: https://trac.webkit.org/changeset/207442/webkit https://trac.webkit.org/changeset/207442/webkit
- gigel82 3y agoIt's obvious that Apple's incentives around developing more standards (that make PWAs more potent) directly conflict with their walled garden (AppStore) revenues. In this regard, they are remarkably similar to Microsoft's Internet Explorer situation, only in this case there seems to be little to no interest in pursuing an investigation.
- troupo 3y agoStrange then that Firefox is siding with Apple when it comes to many of these "standards"
- madeofpalk 3y ago> but I'd love to know what internal Apple politics around web standards made them focus so much on CSS and a few quality of life things, but completely ignores what developers have been clamoring for in many respects. This is stuff that developers are clamoring for, but maybe just different developers than you. (-webkit-)backdrop-filter was such a godsend, and a massive pain that it took so long to go through the standards process after Apple was shipping it fine. Even then Google's implementation was still pretty buggy for a while. CSS Scroll Snap is great, removing the need for weirdo javascript carousels, giving more native scrolling experiences on the web. The ironic part is that despite the criticism, I think capabiltiies make websites feel more 'native' than JSON Module Scripts. My impression is the Apple focuses on web APIs that impact the user experience, which generally leans more on the CSS side.
- no_wizard 3y agoDon’t get me wrong I appreciate all of this, but this is Interop, not just shipping standards and I want them to focus on the thorniest problems possible
- deleted 3y ago[deleted]