3 ms·
"Compare Canvas with WebGL, if you like: WebGL was developed in the open, based on an established, proven API that had been used to solve problems for decades"
by georgemcbay 13y ago
"Compare Canvas with WebGL, if you like: WebGL was developed in the open, based on an established, proven API that had been used to solve problems for decades"
WebGL is, as you alluded to, based on OpenGL, which at one time came from the "single player" of SGI.
If traced back far enough, virtually every useful technology was at one point the product of a single person or single team trying to solve a problem. I can't think of a single situation in which a committee of companies came together and said "We must solve this problem", and then successfully jointly produced a technology which solves real world needs that wasn't based on something a single player had initially produced. Useful technology always has a range of being the product of one team, becoming some level of de facto standard, and then eventually (if the industry benefits from doing so) becoming a more committee-based standard.
The Mozilla folks, with all due respect, tend to suggest that any new technology they adopt must be created by large committees initially whenever they are getting on Google's case for things like Dart and PNaCL, while conveniently ignoring that nothing ever works that way, even the technology that they do decide to support.
- kevingadd 13y agoSGI OpenGL isn't really all that relevant in this case. SGI OpenGL is absolutely ancient at this point and modern WebGL has only a passing resemblance to it. The feature set is different, the constraints are different, lots of things have been removed, lots of things have been added, and all of that at the behest of the community. Yes, Khronos is gross, OpenGL is gross, whatever. None of that undermines the stunning success of WebGL when compared with similar young web technologies. I don't even like OpenGL, I'm a Direct3D fanboy - but WebGL is still the model to follow here based on how things have turned out, IMO. I've yet to see an API come out of Google's current approach (build it quietly in private with the design driven by what the very smart Google employees think is right, then ship and refine) that really feels like it was a success in the design department, even if they have whip-smart engineers and designers and they do incredibly good work. The Web Audio API is a mess and it's obvious what kind of problems have come up with Dart and NaCL; every other Chrome prototype API I've looked at seems to be struggling under the weight of similar issues. It's just really hard to anticipate customer needs and potential issues when you're working in a silo, and fixing mistakes is hard once you've baked them into your design for over a year. I won't even say Google's approach is wrong for them, the track record just seems to indicate that it does not work well on the open web.
- cromwellian 13y agoAll recent variants of OpenGL were derived from the most successful OpenGL extensions by vendors like NVidia, ATI, 3dfx, S3, et al. They shipped them first, developers even picked them up in games via extension detection. Then later versions got the extensions. NVidia Cg preceded GLSL. Lots of stuff stolen from DirectX "behind closed doors" OpenGL is not a good example of companies designing things in the open by commitee.
- kevingadd 13y agoI like how I keep saying 'in the open' and you keep saying 'by committee'. OpenGL extensions are the textbook example of what I'm talking about: Published documentation of the API surface, what it does, etc. EDIT: However, I should be clear that you are correct that their initial design was traditionally done at a vendor behind closed doors, so they certainly could have been more open than they were. Whether that would have actually been possible in the IP-laden, slow-development-cycle of hardware graphics is another question, but nonetheless...
- cromwellian 13y agoAnd which part of the Dart API or language isn't documented? The Dart language spec has been published since 0.1 with every change in the change log, and every change discussed on public mailing lists. http://www.dartlang.org/docs/spec/latest/dart-language-specification.html http://www.dartlang.org/docs/spec/latest/dart-language-speci... Can you explain to me how this is different than NVidia or ATI publishing an extension for hardware they already spent millions on and 18 months preparing to ship? OpenGL extensions would be pointless without documentation. If NVidia adds Register Combiners or Multitexture extensions, how else would developers use them without docs? Don't sugar coat what happened in the 3D industry. NVidia would introduce new HW with non-standard features, create an extension for them, and then secretly work with triple-A developers in the industry on it before publishing it in the open. Microsoft's process of herding them into an interoperable spec was actually far better than OpenGL, and yet we still got the whole PS1.2/1.3 vs PS1.4 affair. All of the development happened in secret, including the final, taped out chip and shipping card, before the first external person got to comment on the extension. I'm not trying to be insulting here, but this criticism on Dart seems deranged. The Dart Team published a language spec, documentation, held 3 years of open discussion on mailing lists, changed the language 42 times based on feedback, generates most of its documentation directly from standard WebIDL and from MDN (!), and every commit to the dart VM and dart2js compiler has happened in the open.