Maybe it's just me, but I've never heard about the WHATWG before. And for everybody like me, that acronym stands for "Web Hypertext Application Technology Working Group".
WHATWG is basically the browser vendors sidelining W3C to discuss what features HTML etc should have. The news today is that the W3C finally accepted that situation.
The biggest impact of WHATWG's work wasn't about features, but about defining HTML itself in a way that matched how web pages were written. Before HTML5, every browser parsed HTML in subtly incompatible ways. A document written for one browser could fail to render properly in another. Now, the process for converting bytes into a DOM tree is completely and precisely specified (https://html.spec.whatwg.org/multipage/parsing.html#parsing), down to the level of sniffing text encodings and changing them mid-parse. It's hard to overstate how important this sort of compatibility work has been to the strength of the modern web.
> It's hard to overstate how important this sort of compatibility work has been to the strength of the modern web.
There are fewer compatible browsers than at any time in the past 20 years.
The compatibility problem has been solved by drowning browser maintainers in complexity and convincing them to give up. All the small browsers lack the manpower to implement the rapidly churning spec. This leaves the Google-funded Firefox and the Google-funded Chromium in the space.
Compatibility has been solved by reducing the web to a monoculture, with a puppet competitor to avoid monopoly issues.
Firstly, much of the complexity is an emergent property of interaction between a spec and reality: the engineering choices developers make when implementing a spec.
Pixel examples: (a) mitering of borders, (b) sizing four 25% width divs within a 99px div.
Pick just about any old spec, then look at the corner cases where developers have discovered different browsers act differently ("bugs"). The programming differences are often emergent and are not covered by the spec.
Developers create web pages that depend on the differences in a browser: that is a hard reality.
Secondly: Chrome mostly works better, follows specifications faster, and it is marketed better. Firefox has a significant budget, but it tools around with a bunch of shit that doesn't make their browser better. My interactions with Mozilla trying to get real bugs fixed have been poor. Safari and Microsoft were worse. Chrome cares about bugs, and fixes them in my experience.
> Firstly, much of the complexity is an emergent property of interaction between a spec and reality: the engineering choices developers make when implementing a spec.
Ah, clearly that makes it easier for third parties to maintain browsers. Or, wait, no -- that's yet another way to push players that don't have hundreds of millions per year worth of funding.
> Chrome mostly works better, follows specifications faster, and it is marketed better.
That's largely because of the way the specs are developed: They rubber stamp Chrome features.
I'll bite: do you think that Chrome is some sort of conspiracy??
I also don't like how Firefox, Safari and Edge have failed to compete with it, especially because I don't like that Google slurps so much private information. I wish Opera could have continued to compete as I loved the underdog for years.
If it were just a problem of marketing, I could be upset. However technically the Chrome team is just totally obliterating competitors by just being technically so much more competent and also providing features. Features that developers and consumers want: as a web developer I see Chrome kill the other browsers on metrics I care about such as bugs fixes, adding features that are relevant to my development, development tools, etc; As a Chrome user, Chrome mostly trounces the other browsers on security, speed, etc (Safari does win on some metrics on closed iOS and macOS).
Mozilla, Apple, and Microsoft are not poorly funded - they are just being beaten for what are mostly technical reasons (relatively slower, unreliability, wasting time on low-value features).
On topic: Chrome implements many standards it didn't create far better than the other browsers. Browse through the list at https://wpt.fyi/results and see that Chrome has better scores for IndexedDB (I think created by Firefox); better scores for offscreen-canvas and orientation-sensor (I think created by Apple).
A great example: Firebug which was created outside[1] of Mozilla and fantastic at the time. Good developer tools draw in plenty of developers, and help make sure they test everything on your browser. Chrome Dev tools overtook it in every way I cared about: reliability, features, inbuilt F12, remote debugging, async stack, etc. Now developers use Chrome because this massive feature is so much better, and why blame the developers for using the tool that makes their job the easiest?
PS: I didn't downvote you - someone else must have disliked the way you answered.
> I'll bite: do you think that Chrome is some sort of conspiracy?
No, it's a perfectly rational set of business decisions. I'd make the same ones if I was in charge of maximizing Google's control of the web platform.
> Mozilla, Apple, and Microsoft are not poorly funded
Correct. Apple and Microsoft just can't make a business case for burning huge mountains of cash to dominate the web, so they let Google have that pie. Again, a rational business decision.
So we end up with what is largely a monoculture, with fewer compatible web browsers than any time in the past 20 years, because is willing or able to put in the resources to keep up with the incredible complexity required by the modern web.
> WHATWG is basically the browser vendors sidelining W3C to discuss what features HTML etc should have.
One way of looking at it is who has final say what ends up in the documents. That seems to be what you're discussing.
In the W3C, that's the Director, Tim Berners-Lee. Except, as pointed out elsewhere in this thread, he has delegated all his decision-making powers to W3C staff. So ultimately it is the W3C CEO and the folks he hires.
In the WHATWG, that's the browser vendors (i.e., the WHATWG Steering Group). I find the WHATWG model to make more sense, as I think what ends up in specs should match what the implementers plan to do; that makes for a more useful spec ecosystem for everyone. When you diverge too far from that model, you get circa-20004 W3C, i.e. XHTML 2, XForms, XEvents, etc.
A different way of looking at it is who contributes to the discussion and development of features. In the W3C, that's paying member companies (https://www.w3.org/Consortium/fees, $2.25-$77k/year in the US). Although anyone can comment on GitHub, to contribute ideas that get incorporated into the specification, you need to be a W3C member, for IPR reasons. (Or invited expert, but that has its own problems; see https://medium.com/@tobie/w3c-doesnt-help-its-invited-expert...) In the WHATWG, anyone can contribute; the IPR concerns are taken care of by signing an agreement, somewhat like an open-source project CLA, but that agreement does not require paying membership fees.
Overall, I think the WHATWG structure, of being open to input from all (instead of pay-to-play), with the spec tracking what browsers intend to implement (instead of tracking what W3C staff deems good), is a pretty great model for standardization.
You can look at theoretical process improvements all you want, but the reality is that the WHATWG process has driven Opera and MS out of producing core web browser tech alltogether, and prevented countless unnamed innovative browsers from being even considered, let alone developed, out of sheer infeasability to develop a browser from scratch. Worse, it doesn't help that the WHATWG "living standard" process is setup to never end, and never produce a final spec of sorts, contributing further to the problem.
WHATWG fails to realize that they cannot represent the browser vendors left (Google and Google-financed Mozilla) having a desire for ever more webapp contamination, and web users and authors at the same time who want a stable content media format.
Also, I have to say your comment doesn't sound very promising wrt the future WHATWG/W3C relations being anounced.
>Overall, I think the WHATWG structure, of being open to input from all (instead of pay-to-play),
Thats not entirely fair. The WHATWG is also pay-to-play in a way - the browser makers have disproportionally higher power, even more so than the w3c model where there is at least some form of consensus forming among a group of people with more international representation. Now technically anyone in the world can open a github issue (w3c also does it though now), but thats about what anyone can do to oppose something in the spec that the browser makers have their hearts set on.
Hmm, you seem to have skipped over some of my points.
The WHATWG is open to input from all, but only things browsers are willing to ship get into the specs. So yes, that's more power. No disputing that. But I would rather not have specs full of unimplemnted fiction, even if that fiction has consensus among paying member companies.
The W3C is not open to input from all. If you open a GitHub issue contributing an idea, but do not pay member fees, they cannot incorporate your idea into the spec, because of Intellectual Property Rights concerns. There is no way in the W3C to say "I sign over my IPR rights" without also paying thousands of dollars per year.
> The W3C is not open to input from all. If you open a GitHub issue contributing an idea, but do not pay member fees, they cannot incorporate your idea into the spec, because of Intellectual Property Rights concerns. There is no way in the W3C to say "I sign over my IPR rights" without also paying thousands of dollars per year.
> There is no way in the W3C to say "I sign over my IPR rights" without also paying thousands of dollars per year.
Or, as you mention up-thread, get invited into the group by the chairs and with consent of the W3C staff. Which… is an opaque process, and totally non-obvious to an outsider.
You have more of a voice in the W3C than any other standards body (you can comment on the github issues, or join as an invited expert etc). The W3C was created by Tim Berners-Lee, if anyone should have a vote on how web standards are run, then the creator of the web should be one of the contenders for it.
>And the W3C had stalled progress so much in the 00s and 10s
Not the 10s, just the early part of 00s, due to the xhtml vs html5 thing.
> You have more of a voice in the W3C than any other standards body (you can comment on the github issues, or join as an invited expert etc).
That's… not any different to the WHATWG. You can comment on GitHub issues there just fine too. (And you can't just join as an invited expert for the W3C, but even being an invited expert means relatively little in most groups.)
> The W3C was created by Tim Berners-Lee, if anyone should have a vote on how web standards are run, then the creator of the web should be one of the contenders for it.
Tim is scarcely involved in the W3C nowadays, and hasn't been for a long time. The fact he's in theory the Director (but in practice almost everything is done by W3C staff in the Director's name) means very, very little.
That's an appeal to an authority who isn't even present.
>You can comment on GitHub issues there just fine too.
Yes, but (and you can disagree with me here) the W3C has much better international participation and say in standards. I know you can just file github comments, but none of the world has any real way to oppose any development that the whatwg makers have proposed. There doesn't seem to be any consensus forming or way to really oppose any development apart from filing a github issue. All the editors are pretty much from one company, which feels like handing over control of the web to that one company essentially.
Okay, so they have added more people there than the last time I looked (which was pretty much all google except for 1 mozilla person). Thanks for pointing towards that link.
Still seems a pretty small group to control something so important, but I hope they keep improving and adding more people there from other companies and countries.
The main restriction here is people willing to volunteer. We have tons of specs desperate for more maintenance work. If you'd like to get involved, please do so, and if you can spend significant amount of time on any of them, I imagine their current editors would be happy to add you to the team. (I certainly would, for the specs I edit.) You can get started at https://github.com/search?q=is%3Aopen+label%3A%22good+first+....
I use all kinds of defined data structures in my JavaScript applications. Defining such as an interface is one TypeScripts biggest wins. W3C also owns XML and XML Schema which are all about defining data structures on the client side.
Yeah, I expected something like that. As the other comment mentions, I'm not sure whether to feel bad about this or not.
On the one hand, browser manufacturers now "have won" and can do what they like. On the other hand, the W3C always was kind of a toothless tiger, hoping that everybody would do as they say.
Difficult situation, not sure if this will "help the web".
>On the other hand, the W3C always was kind of a toothless tiger
Not really, it was, and still is, a neutral ground for people to discuss and build consensus on what technical standards should be on the web. CSS, ARIA, WCAG and many other stuff are working in the W3C pretty well.