Microsoft has no problem giving developers what they want, they just want to do it on their own terms (i.e. their own standards). WebGL is based on OpenGL ES, you know, that standard that's supported by every freakin' recent smartphone OS or games console, other than Windows Phone 7 or the XBox (e.g. Android, iOS, Symbian, Maemo, webOS, Nintendo 3DS, Blackberry, Playstation 3).
The picture can't get any clearer than this -- meet the new Microsoft, same as the old one.
The new version of Silverlight gives you GPU access to the GPU via a subset of XNA, as they do on XBLA and I think WP7. So yeah, you're spot on. They won't implement WebGL until they give up on Silverlight, which may be never.
WebGL is so compelling and well-designed that it's only a matter of time. With Firefox plus Chrome having something like 50% penetration, and WebGL enabling the web to do things it simply couldn't before, Microsoft can't ignore it forever.
This will also put pressure on driver vendors to fix the desktop 3D situation too. Firefox an Chrome both have draconian rules that limit WebGL to "known safe" drivers. In a couple years I truly believe that everyone will want to play in the WebGL ecosystem.
sorry to say, but MS have been ignoring openGL from day one, instead creating the competing direct3D and the resulting mess of double standards in the 3D gaming graphics market. I don't see this as any different, and I don't think they are going to "give it up". MS are adamant about holding the keys to the graphics kingdom.
I would love it if this weren't the case, but it looks to me like they're trying to convince people to put webGL and webSockets into the same logical group of "non complete" standards, when they just plain aren't. It's marketing bullshit, webGL is done and working.
I wouldn't say "from day one..." OpenGL performance was actually quite good in Windows NT 4 with my ATI Xpert@Play video card (at least for the included screensavers). The OpenGL screensavers ran smoothly at the monitor's refresh rate. The Windows 9x equivalents seemed to chunk along at ~15fps on the same hardware.
What I've read is that there have been times where 3D hardware vendors were able to expose newer features in OpenGL sooner than in DirectX. OpenGL has an extensible "GetProcAddress" facility which goes direct to the vendor's code.
I think OpenGL and Direct3D performance was roughly equivalent (given appropriate driver support) until Vista came along with its new compositing system. Also note that Windows NT 4.0 only ever had the (highly embryonic) Direct3D 3.0, whereas 95 went up to DirectX 8.0.
As someone who has recently gotten into Processing and has experienced the awesome that is WebGL, it's a crying shame IE doesn't support it. However, I suppose it's better than half-supporting it and forcing app makers to only use a subset of features.
Agreed, and it also ends up setting user expectations more realistically in terms of actual supported features. No more of users asking "why doesn't this work in IE" and blaming the site developers.
I wasn't aware that we had really left the Bad Old Days" altogether. IE, its atrocious fragmentation and its massive market share have been right here all along. Things may have gotten better, but we never escaped the "Bad Old Days" entirely.
Could WebGL be implemented as a shudder activex? Get around Microsoft and use the large market penetration of the other browsers to drive take up for people who insist of using that horror that is IE.
ActiveX is an option, and so is Java (!), but both will presumably give the user security warnings at least once. It might be possible with the new Silverlight though, as that contains a reduced XNA implementation. (I don't know if XNA in general, and this subset in particular, allow low level enough access to the 3D hardware to let you implement all of WebGL)
People talk about MSIE's massive market share and all that, but I don't think I know anyone who uses it for anything other than occasional testing.
So I really couldn't care less about what MS does with IE, I'll use whatever open standard technologies work in my and my friends' environments. Yes, I'm a software developer (though not of the social website variety).
> .NET is riddled with "safety" features like sealed classes that make programming a living hell.
Java already had `final` classes (which are the exact same thing, as far as I know).
And there's a school of OO thought in which classes should only be inheritable if built for inheritance (so not only should final/sealed be available, it should be the default).
Microsoft's being stupid. WebGL is a way to write 3D on the Web, something that's so far not been possible. All the Direct2D stuff is orthogonal -- you can accelerate 2D drawing and provide 3D support separately, as Firefox does.
I think you are 100% right. The author didn't say it, but that's exactly what they want to do. They're even buttering it up... You know what the difference will be between WebX and WebGL when they release it: that it's NATIVE! You can smell it coming.
That's all there is to this story. WebGL competes with Silverlight, and real-world WebGL adoption isn't very high yet. Microsoft therefore feel they stand a chance.
I wonder what would Microsoft do with all those Androids and iPads out there. It seems that they are having a real hard time realizing that for once in a life, this is not about them :)
The picture can't get any clearer than this -- meet the new Microsoft, same as the old one.