Yes, you've read that headline correctly. There are so many websites that measure HTML5 readiness in one way or another, and so many marketing pitches that claim HTML5 support for browser X, Y or Z. But the crux of the matter is this. Supporting HTML 5, regardless of definition, is not a boolean proposition. I.e. It's not something you do or do not, it is something you do more or less.
This discussion will consist of two posts. The first is an anti-webkit fan boy rant, probably only useful as self-therapy for me. The second part is my technical discussion about the subject matter at hand.
Rant begins here
Whenever a major browser vendor releases a new version, or preview version, you can bet a month's salary on the fact that comments will appear on forums, Twitter or blog posts that asks the most obnoxious marketing or the dumbest fan boys(?) And sometimes the comment is made complete in its stupidity by an argument that vendor X should just “use Webkit”.
I do not intend to throw cheap jabs at Webkit, in any incarnation, be it Chrome, Safari, Froyo, S60, Web OS, Nokia WRT, QTWebkit or WebkitGtk. Webkit is a really good rendering engine, or perhaps nowadays more aptly described as the core of a rendering engine. OK, maybe I'd like to throw a jab at Froyo and Adobe AIR for the dumb ass decision not to enable SVG, but that's beside my point, and not Webkit's fault at all.
Other comments like
Mozilla is lazy or
have stopped inventing are
not hard to find
either. But it's hard to claim that Opera is not inventing, so non Opera fan boys just tend to ignore them. After all,
that makes it much easier to claim originality, even though one has just copied Opera.
I am not saying that Firefox is without it's gang of fan boys. Perhaps they are equally loud and obnoxious, but it's been a long time that they've been in my vicinity. (Or perhaps I am that fan boy?)
Source of confusion number one: Browser vendors
It is reasonable to expect the upstarts to be more aggressive in their marketing, but marketing tends to turn into blatant lies when exaggeration is becoming the norm. Consider this support chart for Safari 5 from Apple:
Source: http://www.apple.com/safari/whats-new.html [checked 2010-07-08]
Problem is, once someone has started to claim support for a feature, even though that support is half baked and incomplete,
everyone else has to answer in kind, and claim support even when their implementations are equally half-baked. Or even worse,
rush out such half baked implementations to the market to show everyone that they are also a
(I'll explain why Apple's claims are false in part 2 of this discussion.)
Source of confusion number two: Well intended web developers
Why is this a source of confusion? Because we tend to put up demos of new cool technologies that are not really examples of best practice, e.g. even though transformations and transitions work in the latest versions of Firefox and Opera, many demos use the webkit prefix only. Heck, I've even seen demos of rounded corners, something that's been in Firefox since 2004 (3 years ahead of Webkit) that used the only the -webkit- prefix! (Yes, I know there are good examples as well.)
I am not surprised that Apple browser sniffs for Safari in their HTML5 demos – even though I am annoyed at such blatant disregard for best practice. After all, that's not technology, that's marketing. (And yes, I know there are a few things that one can do in Webkit based browsers only, such as CSS Animations (not transformations) – a technology still in need of a valid use case, BTW – and CSS perspectives, but that's also beside my point.)
When the WebGL Quake demo originally worked in Chrome only, thanks to flaws
in the demo code, not in Firefox itself, it was claimed that Firefox was
”too slow”, even before such a claim could be tested.
That was not marketing (I hope), that was developers not doing their job. And when someone is demoing
reflections in Webkit, without at least discussing
that Firefox can do the same thing, albeit
with a different technique, which is more powerful,
BTW, it might be lack of knowledge. But the lasting impression on readers, equally lacking in knowledge, is that Webkit
based browsers are
soo far ahead, when in reality they are not.
Another example is gradients. They first appeared in Safari and for a while they could not be demoed in any other browser. But since 3.6 Firefox supports gradients as well. Doing an gradient demo today using the webkit syntax only is not only bad practice because it is limiting the demo to a few browsers. It is also cheating oneself and one's audience of the syntax that is much more likely to be the upcoming final W3C standard. I.e. If you are limiting your demo to one syntax only, the Firefox version is the more future proof one, the one web developers really should be looking at in earnest.
A real problem caused by too many Webkit-centric demos on the web, is Microsoft contemplating supporting -webkit- prefixed CSS properties. Luckily they back paddled on that one, but it still serves as a nice illustration of the problem.
To alleviate this problem Mozilla has proposed a set of best practices for demos, that includes being as cross browser as possible, using graceful degradation ,etc. Read (at the end of the post) and learn, people!
Where innovation happens = everywhere
Even Internet Explorer, that I've cursed so many times, did tons of stuff already in the 90's that's only recently have been picked up by others. Yes, there is one big difference. The filters in IE were not being put forward for standardization, but was an attempt to
And for all Webkit fan boys I have a home assignment. Please investigate where the following technologies were invented:
- HTML5 video and audio
- Using any element as CSS backgrounds
- Applying SVG effects on non SVG content
- Full page zoom
- Canvas text
- Hardware accelerated SVG and Canvas
- Audio Data API
Hint: The answer is not one and the same, but never Safari or Chrome.
End of rant – sort of
Oh, yes, I use Linux, so Safari is not an option at all. And Apple is every bit as evil today as Microsoft was in the 90's.
My primary reason for supporting non Webkit based mobile browsers like Opera or Fennec (Firefox) is not that they are clearly superior. In many ways they are not – and again in some ways they are! (At least they do SVG, Froyo!) But once again it comes back to this. Monoculture benefits no one in the long run. For a moment the idea might seem to be appealing – as when developing a specific web app – but holding on to such an idea in the long run is just showing lack of vision and lack of historical knowledge.
To round things off, here is a video (HTML5 video was an Opera idea) of WebGL in Firefox 4 – a technology invented mostly by Mozilla. (Oops! I just gave away two answers in my home work assignment.)
OK, therapy session is over. Glad to have gotten that off my chest. Tomorrow I promise to be productive!