Canvas 3D, standards, and where
I was excited to hear about the Canvas 3D effort that Mozilla, Google, and Khronos are engaged in (and others can too of course).
Khronos is the group being OpenGL, and thus a good set of folks to be involved in the Canvas 3D approach that is in the mould of “OpenGL ES like for the Web” in that it is a low level API that others can build on top of. Others have played with higher level “Games” APIs, or virtual worlds, and this is not the same. It is a primitive that will enable people to do interesting things that sit on top.
I noted Ryan Stewart (friend and great chap) weighing in:
So it’s unfortunate to see that even the browser vendors have given up on moving the open web forward through standards. Whether it’s the WHATWG versus the W3C or the trials and tribulations of actually implementing HTML5, things are very broken and everyone is moving on regardless. I don’t blame any of them, but it doesn’t seem like it’s good for web developers.
Then, I saw John Dowdell, also of Adobe, talking about standards.
I already talked about how many of the leaps on the Web haven’t started in the W3C (and rarely start inside standards orgs first) and rather come out in browser implementations that are then shared. Think XMLHttpRequest. Think Canvas itself from Apple! Do something well, see people use it and get excited about it, and then get multiple implementations and standards. Everyone wins.
John’s wording is interesting:
“But Mozilla’s proposal relies upon further proprietary extensions to the experimental CANVAS tag”
“And you’d lose the moral fulsomeness of the ‘Web Standards for The Open Web!’ pitch when focusing on your own proprietary alternatives to existing standards.”
Look at how browsers have done some things recently. Take some of the new CSS work that Apple started out. When the Mozilla community liked what they saw, and had developers demanding, they went and implemented it too. When you see WebKit and Gecko doing this kind of work it is particularly Open because the projects are open source and you can check them out (well, if you are allowed ;) How great is that, to iterate nicely in the open…. and then when ready we can drive into the standards bodies.
Back to the Canvas 3D work. Having Mozilla, Google, and Khronos work on this in the open seems pretty darn good to me. This won’t be hidden behind a proprietary binary that no-one can see. There will be some work in marrying the world of OpenGL ES and JavaScript as nicely as possible, and there will be plenty of room for the jQuery/Dojo/Prototype/YUI/…. of the world to do nice abstractions on top, but this is good stuff. This is more than just throwing out an API on top of a proprietary system, and I can’t wait to see what comes of it all. Want to get involved? You can in this world.
March 25th, 2009 at 5:53 pm
I think the key wording in one of those quotes is “proprietary extensions”. Calling them ‘proprietary’ isn’t really on the mark here – what we’re dealing with is documented extensions that rivals can implement freely. Things are being done in the open, nothing hindering other browser makers from providing the same extensions to turn them into a defacto standard.
That’s where the best standards come from, I believe – taking existing implementations, smoothing the rough edges, and encouraging everyone to adopt them. Standards not based on existing implementation rarely stand up in the real world.
March 25th, 2009 at 9:06 pm
Part of the problem is that a lot of people don’t seem to understand that Khronos *is* a standards organization.
March 26th, 2009 at 12:16 am
JD went from useful community member to paid troll some years ago. Now he pretends not to understand the difference between a binary-island “ria” container controlled by a single vendor, and community-driven modular solutions backed by standards developed in the open. Sorry for the tone here – I stopped reading him a long time ago when every other post was “I don’t understand why people think Flash/Flex/Air is not the open web” and it’s disappointing he’s still beating that drum.
March 26th, 2009 at 1:57 am
Thanks for posting, Dion. The tone in the blog post wasn’t meant to be anti-Mozilla and commenting as an Adobe employee it’s more of a struggle about how we can participate. It doesn’t seem like there is a good way to participate. And sure, Khronos is a standards organization, but is that the way to do things? Work with another standards organization?
And the timeline for 3.5 seems fairly close, right? Again, I think on one hand it’s great that the browsers are innovating – that’s good for the web. It just seems like the old standards organizations have lost a bit of their clout because they don’t really work any more. Or maybe ever?
=Ryan
[email protected]
March 26th, 2009 at 9:26 am
Hi, are you aware that Apple proposed CANVAS to WhatWG, and only with the later rapprochement with W3C revealed that Apple held patents on it?
My core concerns about the appropriateness of putting 3D into a HTML spec, or into a CSS spec, remain. Netscape failed when they tried to do too many things and couldn’t deliver. SGML also levied a heavier and heavier tax on new implementations. A successful spec would be easier to reliably implement, and would not raise barriers to new competitors. HTML5 is becoming as unreadable as the US tax code.
There is certainly proprietary benefit to Apple in keeping tight, clenched control over their own stack. And Google wants to own your audience, selling their eyeballs to marketers. They have proprietary needs for their own runtimes, and are using the blessing of “open HTML5 standard” to become competitive.
If you want to make a 3D language for browsers, go right ahead. But I don’t want to see HTML risk destruction by such scope-creep. HTML is too valuable to be burdened by the extraneous. If you can’t use existing 3D _standards_, then make a new spec. Don’t stuff it into HTML. You’ll kill it.
jd/adobe
March 29th, 2009 at 6:20 am
I’m a little sad that “Windows” shows up so prominently, but comforted by the fact that “bad” is snuggled up against it.