Put down the Flavorade and slowly back away….

Tristan Nitot, the speaker from Mozilla/Europe who had last year’s “Beware Flash’s hidden agenda” bit of never-corrected scare-mongering, praises a new example of simple graphic writing into a video buffer via CANVAS tag in unreleased Firefox.

If you’re happy with that example, then I’m happy. New technical options are always good.

But some of the text in that essay is weird. And while there are comments published there, I’m not seeing a comment-box in my version of Firefox 3.08, and Mozilla evangelists have a history of not recognizing inconvenient questions. So I’ll copy his lede here and then list through some of the problems it exhibits.

Making video a first class citizen of the Web

For years, digital video has been soaring, just like still digital images 15 years earlier. It’s now easy to capture video, editing it is now possible thanks to user-friendly applications and with broadband becoming more common, the pipes are now big enough to download video. The only caveat is that Web browsers have not evolved over time to include video, because the dominant browser vendor had little reason to invest in it. Proprietary plug-ins such as Flash, QuickTime or Windows Media have been until now the only way for Web developers to include video in their Web application. Unfortunately, resorting to proprietary plug-ins and patented codecs has drawbacks. I won’t get into the patent and proprietary code issues and focus on the fact that resorting to plug-ins for video brings some limitations to what one can do. Plug-ins are like boxy islands of information on a page. They can do wonders by themselves, but they have a hard time being mixed with the rest of the Web content. It’s hard for example to interact with a Flash video, unless you write the complete page in Flash. But all of this is now over, since Firefox 3.5 and other modern browsers support native video using the new element. Now, a native video is just an element in a page that you can manipulate with the DOM, style with CSS etc.

You can “make video a first class citizen of the browsers” by removing the barriers browsers impose to communicating with and using neutral cross-browser renderers. It’s “boxy” ’cause browsers still only offer the (slowly-improving) WMODE for better visual integration.

We still need you to fix the browser focus issues so people can tab easily throughout any element in the page. We need you to expose “Open in New Tab” functionality in the browser so plugins can ferry those instructions. We need you to expose a preference-setting mechanism so that Flash knows when the browser wants to stop cookies. We need your JavaScript to distinguish user-initiated events from programmatic events. And there’s never been a need to “write the complete page in Flash” — if it’s slow for your JavaScript to control video rendered by Flash, then fix the JavaScript/plugin bridges.

You can “make video a first-class citizen” with a whole lot less effort than you’re currently expending. Use what works, instead of trying to personally reinvent what already exists.

Just fix the browsers’ current integration problems with predictable third-party rendering. Having each browser vendor make their private re-implementations of proven technology is a dog’s way to go.

I don’t appreciate how Tristan avers menacingly to “proprietary plugins” and “patented codecs” without ever making a strong, sensible case. It’s fear-mongering. It’s unnecessary. Beneath his rap is the assumption “Ogg Theora (aka On2 VP3) will solve all needs”, and that blanket assertion still needs a strong defense. You can’t say “patented codecs are bad” without addressing why the world prefers modern codec technology. It’s religious gaming, not technical discussion.

There’s one other part of this that I find intellectually objectionable:

It’s built with native Open Web technologies: JavaScript + DOM, CSS and HTML 5 (canvas and video) that hundreds of thousand people are already familiar with.

There is no HTML5. It is only as real as ECMAScript 4 was. Both were proposals. Neither were ratified as academic de jure standards, much less graduated into becoming realworld de facto standards. To bill this phantasm as a concrete advantage is rank used-car salesmanship. I’m using the current release version of the browser that pays Tristan’s rent, and it only renders the de facto standard video format, not his potential de jure format. It ain’t “open” if it ain’t accessible.

The thing that bothers me most about this type of “Open Web” evangelism: it asserts polarities without ever defending those assumptions. It’s go-along-with-the-crowd sheepism. We humans do best when we realize what we share in common, and examine the individual facts which make up a case. But that “choose up sides and fight the other team” stuff is primitive, unhuman, and has got to go.

I’m glad you enjoy realtime video manipulation. I’m not glad that you assume only your own branding is acceptable.

Tristan Nitot, I’m calling on you to stop putting additional barriers in front of fresh browser makers. I’m calling on you to make it easier — not harder! — to enjoy HTML on new and smaller devices. Keep hypertext hypertext, and create some other spec for RIA engines; don’t pollute the two together. Use the technology that works, and drop your not-invented-here provincialism. Stop mysteriously asserting dangers from Flash… if you’ve got a concern, spit it out, and we can work on it together.

Open up the Open Web, and stop advertising how Closed it can be.

(And oh yeah, for “try doing view-source with a Flash applet”, try doing a web search on “view source flash”. It’s been years….)

Update: Tristan Nitot of Mozilla did follow up a bit, in a comment at Denver Gingerich’s OSSGuy blog: “I hadn’t see JD’s post, otherwise I would have answered myself (not sure if he would listen though, because it’s always harder for a man to understand something when he’s paid not to).” He didn’t address the issue, just made further aspersions, and didn’t back those up when challenged. That’s not admirable behavior.