←back to thread

418 points akagusu | 6 comments | | HN request time: 0.001s | source | bottom
Show context
nwellnhof ◴[] No.45955183[source]
Removing XSLT from browsers was long overdue and I'm saying that as ex-maintainer of libxslt who probably triggered (not caused) this removal. What's more interesting is that Chromium plans to switch to a Rust-based XML parser. Currently, they seem to favor xml-rs which only implements a subset of XML. So apparently, Google is willing to remove standards-compliant XML support as well. This is a lot more concerning.
replies(11): >>45955239 #>>45955425 #>>45955442 #>>45955667 #>>45955747 #>>45955961 #>>45956057 #>>45957011 #>>45957170 #>>45957880 #>>45977574 #
svieira ◴[] No.45955425[source]
> Removing XSLT from browsers was long overdue

> Google is willing to remove standards-compliant XML support as well.

> They're the same picture.

To spell it out, "if it's inconvenient, it goes", is something that the _owner_ does. The culture of the web was "the owners are those who run the web sites, the servants are the software that provides an entry point to the web (read or publish or both)". This kind of "well, it's dashed inconvenient to maintain a WASM layer for a dependency that is not safe to vendor any more as a C dependency" is not the kind of servant-oriented mentality that made the web great, not just as a platform to build on, but as a platform to emulate.

replies(2): >>45955543 #>>45956012 #
akerl_ ◴[] No.45955543[source]
Can you cite where this "servant-oriented" mentality is from? I don't recall a part of the web where browser developers were viewed as not having agency about what code they ship in their software.
replies(6): >>45955591 #>>45955909 #>>45957759 #>>45958064 #>>45958983 #>>45959049 #
svieira ◴[] No.45958064[source]
A nice recent example is "smooshgate", wherein it was determined that breaking websites with an older version of Mootools installed was not an acceptable way to move the web forward, so we got `Array.prototype.flat` instead of `Array.prototype.flatten`: https://news.ycombinator.com/item?id=17141024

> I don't recall a part of the web where browser developers were viewed as not having agency

Being a servant isn't "not having agency", it's "who do I exercise my agency on behalf of". Tools don't have agency, servants do.

replies(1): >>45958105 #
akerl_ ◴[] No.45958105[source]
I think you're reading way too much into that. For one thing, that's a proposal for Javascript, whose controlling body is TC39. For another, this was a bog standard example of a draft proposal where a bug was discovered, and rollout was adjusted. If that's having a "servant-oriented mindset", so do 99% of software projects.
replies(1): >>45970927 #
svieira ◴[] No.45970927[source]
> this was a bog standard example of a draft proposal where a bug was discovered, and rollout was adjusted

Yes, but the "bug" here was "a single website is broken". Here, we are talking about an outcome that will break many websites (more than removing USB support would break) and that is considered acceptable.

> That's a proposal for Javascript, whose controlling body is TC39

Yes, and the culture of TC39 used to be the culture of those who develop tools for using the web (don't break the Space Jam website, etc.)

replies(1): >>45971816 #
1. akerl_ ◴[] No.45971816[source]
Where are you seeing that it’s a single website? Mootools is a JavaScript library used by tons of websites.

Also, the entire measurement is fundamentally just part of the decision. Removing Flash broke tons of sites, and it was done anyways because Flash was a nightmare.

replies(1): >>45982424 #
2. svieira ◴[] No.45982424[source]
https://news.ycombinator.com/item?id=17141024 links to https://developer.chrome.com/blog/smooshgate which says:

> Shipping the feature in Firefox Nightly caused at least one popular website to break.

and links to https://bugzilla.mozilla.org/show_bug.cgi?id=1443630 which points to a single site as being broken. There's no check as to the size of the impacted user base, but there is a link in the blog post to https://www.w3.org/TR/html-design-principles/#support-existi... which says:

> Existing content often relies upon expected user agent processing and behavior to function as intended. Processing requirements should be specified to ensure that user agents implementing this specification will be able to handle most existing content. In particular, it should be possible to process existing HTML documents as HTML 5 and get results that are compatible with the existing expectations of users and authors, based on the behavior of existing browsers. It should be made possible, though not necessarily required, to do this without mode switching.

> Content relying on existing browser behavior can take many forms. It may rely on elements, attributes or APIs that are part of earlier HTML specifications, but not part of HTML 5, or on features that are entirely proprietary. It may depend on specific error handling rules. In rare cases, it may depend on a feature from earlier HTML specifications not being implemented as specified

Which is the "servant-oriented" mindset I'm talking about here.

> Removing Flash broke tons of sites

Yes, but Flash wasn't part of a standard, it was an ad-hoc thing that each browser _happened_ to support (rough consensus and working code). There were no "build on this and we'll guarantee it will continue to work" agreement between authors and implementers of the web. XSLT 1.0, as painful as it is, is part of that agreement.

replies(1): >>45983232 #
3. akerl_ ◴[] No.45983232[source]
I think you’re pretty off-base about how web standards work and how much of an “agreement” they constitute.

Flash doesn’t have an RFC because it was a commercial design by Adobe, not because it wasn’t a defined spec that was supported by browsers.

Meanwhile SSLv2 and v3 and FTP and gopher have RFCs and have been removed.

Making an RFC about a technology is not a commitment of any kind to support it for any length of time.

You’ve conjured a mystique around historical browser ideology that doesn’t exist, and that’s why what you’re seeing today that feel at odds with that fantasy.

replies(1): >>45984664 #
4. svieira ◴[] No.45984664{3}[source]
Flash was a plugin to the browser ecosystem that no one ever made a commitment to other than "here it is".

SSLv2 and v3 all are protocol versions that anyone can still support, and removing support for them breaks certain web properties. This is less of a problem because the implementations of the protocol are themselves time-limited (you can't get an SSL certificate that is valid until the heat death of the universe).

FTP and gopher support wasn't removed from the browser without a redirect (you can install an FTP client or a Gopher client and the browser will still route-out-to-it).

The point isn't "RFC = commitment", the point is that "the culture of the web" has, for a very long time, been "keep things working for the users" and doing something like removing built-in FTP support was something that was a _long_ time in coming. Whereas, as I understand it, there is a perfectly valid way forward for continuing to support this tech as-is in a secure manner (WASM-up-the-existing-lib) and instead of doing that, improving security for everyone and keeping older parts of the web online, the developers of the browsers have decided that "extra work" of writing that one-time integration and keeping it working in perpetuity is too burdensome for _them_. It feels like what is being said by the browser teams is, "Yes, broken websites are bad for end users, yes, there are more end users than developers, yes, those users are less technical and therefore likely are going to loose access to goods they previously had ... but c'est la vie. Use {Dusk, Temple}OS if you don't want the deal altered any further." And I object to what I perceive as a lack of consideration of those who use the web. Who are the people that we serve.

replies(1): >>45984796 #
5. akerl_ ◴[] No.45984796{4}[source]
It’s interesting that you are trying really really hard to explain away every counter example.

C’est la vie, I suppose.

replies(1): >>45992702 #
6. svieira ◴[] No.45992702{5}[source]
Yes, I'm trying to explain my position so that you can understand it. Which I am not doing very well.

Chacun son truc, I believe as there isn't a moral component to this on per se.