At home we’ve all been pretty sick the last week or so. As a result, I only recently caught this nugget. Molly Holzschlag suggests that all work should stop on HTML5, XHTML 1.1+ (and presumably CSS3?). Instead she wants everyone to “COMPLETE HTML 4.1 [sic], XHTML 1.0 and CSS 2.1 in specs and browsers where applicable”, then “WAIT for future HTML, XHTML and CSS implementations until these implementations are complete”. I can forgive the typo of HTML 4.1, but what left me reeling was that someone like Molly doesn’t understand the reasons her suggestions are so impossible.
By the way, many people commented on Molly’s blog entry – some accused her of conspiring with Microsoft (???), some simply agreed with her but provide no new insight (thanks for letting us know!) and some presented some actual arguments and logic (phew!). Most of what I’m going to say was covered by some of those latter comments but some are insights from sitting in on the HTML5 Working Group mailing list. Anyway Molly, this is why I think you are wrong:
1. HTML5 IS The Fix
One of the fundamental principles behind W3C’s HTML5 activity is to fix the problems that exist with the HTML 4.01 specification in terms of interoperability and vagueness. This becomes very obvious if you actually look at the WHAT WG’s HTML5 spec (the agreed starting point for the W3C HTML5 activity) and compare it with HTML 4.01. In my opinion, the editor and contributors of that spec are doing a very good job at properly specifying things at a non-ambiguous level of detail.
Would it help you, Molly if you thought of HTML5 as a “fixed HTML 4.01 with some goodies” ? Are you worried that people are focused on the new stuff as opposed to fixing the old/existing stuff? If so, which HTML5 elements are causing you to worry?
2. Microsoft Won’t Do What Your Suggesting
Another key principle behind the W3C HTML5 activity is “Don’t Break The Web”. This means preserving as much as possible about existing deployed web documents and applications. There are a lot of smart people trying to figure out how to do this in HTML5 and still make browser vendors happy. Sometimes I listen in to these debates.
Microsoft’s stance in the HTML5 activity has been firmly in the camp that they will not cause their customers to suffer the way they did when they tried to upgrade everyone to IE7. This means that they simply cannot change Internet Explorer’s implementation of HTML 4.01 because that has the potential to break gazillions of web sites – most of which are viewed by Internet Explorer users. So right there you have an answer from the biggest browser vendor out there, it’s a firm “No”. That means we’ll be waiting an awful long time before we try to advance HTML … I’ll return to that “waiting period” later.
3. Opera, Mozilla and Apple Won’t Do It Either
Being that the other three major browser vendors account for a much smaller percentage of web users, you’d think it might be easier to convince them to change their HTML 4.01 implementations to match some “golden HTML 4.01 revised specification” at a later date. However, these are really the guys (and gals) who got together in the first place to form the WHATWG because the web was stagnating and the only way new things could get done were vendor-specific solutions. (Hey, let’s be fair – the real reason that the web was stagnating was that the biggest player wasn’t actually playing for about four years, but I guess we don’t need to go there.)
Anyway, the browsers decided to get together and cook up their own HTML5 specification that included a few cool new things like Canvas and <video>. As I said, the HTML5 spec also includes some much needed clarity on existing HTML 4.01 functionality, but there was no reason for the HTML 5 spec to stop at only correcting the legacy HTML 4.01 functionality. Hey, at the time the “big player” wasn’t even playing so it was not like Mozilla, Opera and Apple fixing HTML 4.01 would be a magical cure anyway – the web would still be fucked without Microsoft’s cooperation.
But the real reason that the new stuff is in the spec is that the browser vendors felt that the web needed innovation to avoid being slowly shaved away by other, less-open technologies (for instance, Flash). They also saw that the web was turning into a breeding ground for applications, not just documents.
So that’s how I see it – Molly, do you still believe in your proposals (not sure you fully do after seeing your follow-up)? If you still do, maybe you can illuminate how said proposals could be made palatable for the browser vendors? How could what your suggesting not break the web and cause more misery?
Let’s say we make a change to the HTML 4.01 spec, then we wait for the browser vendors to fix their software, then do we have to wait for the millions of poor web developers to fix their documents before everybody’s happy? That sounds like at least 5 years of stagnation and misery before we finally are back to what you might consider a “proper” starting point.
In the meantime, proprietary technologies that promote vendor lock-in like Adobe’s Flash or Microsoft’s Silverlight will continue to improve and vastly overstrip the web (which, in terms of pure capabilities, they have done). In the end, the web will be nothing more than thin strands of HTML/CSS/JS to house Flash/Silverlight movies and applications – because people will want to continue creating cool things. I would vastly prefer a web that had non-vendor-controlled solutions for high-quality graphics (2D/3D Canvas, SVG), user interface controls, and audio/video capabilities.
If you want my opinion – I think the W3C’s HTML5 is our best hope for keeping the web vital and “fixing” many of its glaring warts. I would suggest you try to follow that activity more closely and perhaps participate.