On the new <canvas> HTML tag
April 28th, 2005
Mozilla turned on the new <canvas> HTML tag, so I expect Firefox 1.1 to have it.
<canvas> is a was first introduced by Apple in Safari for their implementation of the upcoming ‘DashBoard’ in MacOX 10.4 (aka Tiger) and now it’s part of new, non-W3C effort to improve HTML for richer client-side web applications. It introduces the notion of an “image you can paint on” programmatically. People have been doing this with applets, then shockwave, then flash, then svg, now this. The trend is clear: smaller, leaner, faster to startup, more integrated in your environment (means real event interoperation with the page!), easier for DHTML designers to understand.
This leads me to think that <canvas> is going to be huge. By the time the new Adobe+Macromedia colossus decide the faith of flash+SVG, this little HTML tag will slowly make both suboptimal for many simple tasks they are used for today.
Also, <canvas> has the potential to become the new <iframe> for advertisers, making it harder for things like adblock to recognize adds and remove them (or maybe adblock will just need to be a little smarter and use DOM3 xpaths instead).
The other interesting thing is that <canvas> is somewhat proprietary and only Mozilla, Firefox and Safari implement it (maybe Opera does too but I’m not sure). Some people complained about this not ‘being standard’ (as in “W3C recommendation” standard) and this was the reply from one of the developers:
We are turning canvas on — it’s already on by now. Get over it. Nothing in a relatively new spec is set in concrete, but that does not prevent useful work from being built on it. This is how the Internet protocols, and then the web, were built. Welcome back to incremental innovation. The lull of six years of monopoly-induced stagnation is over.
That’s big, bigger than the <canvas> tag, bigger than the <banner> tag or the <frame> tag.
It’s the <img> tag, over again: “simplest thing that can possibly work” vs. “design by committee”.
If you look at the market-share numbers, IE is still the undefeated king, but Microsoft wants to redesign the space of thin clients and add richer UIs (which is what mozilla wanted to do with XUL but never got that much traction, also because using mozilla as a platform is still bug hell) and is unlikely to promote small features increments as it did in the past (for example, the HTML design mode, later cloned by Mozilla in Midas, or the contentEditable attribute, never unfortunately cloned by mozilla
). As a result, IE is now officially lagging behind as Microsoft is busy trying to change all paradigms in one shot with Longhorn.
Tell you what: I’m happy Microsoft is doing such a huge mistake. They think they are smart, they think they know where to go, they think people will follow them.
My experience tells me that incremental evolution is always better accepted by any ecosystem than radical revolutions. Thermodynamics shows that the entropy of a system is not increased if the change in state is reversible. Fighting information entropy is what software is all about, such “I know what’s better for you” radical moves are very much likely to increase entropy than decrease it. Microsoft has tons of money to pour into fighting this entropy, but this smells like the original MSN plan back in ‘94, plan that Bill Gates was brilliant enough to stop before it was too late.There are no signs of that today.
Can a little <canvas> tag kill Longhorn? of course not. But this little new HTML tag is a sign that the ecosystem is now moving and that somebody with a 5% market sees enough value in this movement that can boldly scream “screw you” jumping on the Darwin bandwagon.
Thank you, little <canvas> tag, you’ll be teaching a lot of lessons to a lot of people and you’ll be making my rich-webapp-developer life easier.