
Since I released the first version of my free
WebGL 3D library nearly a year ago, I get a lot of mails by companies and hobbyists, asking me what I think. Is WebGL the future? Or is it Flash instead? Or will it become just another dead horse, like
VRML? My answer: Of course. WebGL is the future. Here is why.
Why previous attempts failed
No wonder that people keep asking this, WebGL is very new, and previous attempts like VRML or
Director 3D have failed horribly. The reasons why those previous technologies failed are simple:
- They sucked. No, really. Have you ever tried programming something using Director (Lingo anyone?) or VRML? No'? Be glad. Their interface wasn't nice, and they were too high level.
- It just wasn't the right time. People just recently have started being used to play games with tons of megabytes of data directly on websites. And now, they want 3D. Also, today everyone has built-in, relatively fast 3D hardware.
- Programming stuff in 3D is complex. So locking people into your own, non-open, limited technology like these probably wasn't the best idea.
Why WebGL is better
WebGL isn't based on a plugin. It runs directly in the browser, and is a public standard, managed by the
Khronos group. It's low level, meaning it is complicated to use for newbies, but you can do basically anything with it. For experienced programmers, it hasn't even to be learned, it's just like OpenGL ES. For these reasons, it is accepted by programmers. And although the release of it's stable 1.0 specificiation was just a few months ago, it already is available in Google Chrome, Firefox, Safari and soon in Opera. It even already runs on several mobile devices,
including the iPhone. And even Microsoft's InternetExplorer isn't the show stopper anymore: using the ActiveX plugin
IEWebGL, you can run your WebGL code also there. Most average users probably won't even notice they just installed that plugin,
I've tried it out with CopperLicht. :)

So it's no surprise that you see programmers forums get filled more and more with WebGL questions and demos. Also the downloads of my CopperLicht library are getting more and more. More and more companies seem to be interested in my
WebGL editor CopperCube. And even Adobe seems to plan for the near death of Flash, although they recently released a (surprisingly nice) 3D API for their flash player: They are
working on HTML5 tools now, and already
killed off Flash for mobile devices.
Drawbacks
Of course, WebGL isn't at all perfect. Best example: Compared to native execution, its performance still sucks. It is limited by the dynamic nature of JavaScript. The current browsers do a great job of optimizing this already, but because of how JavaScript is designed, it won't get much faster anymore. Adding static typed elements to the language like they did in a small attempt with
typed arrays is a small step into the right direction.
Also, from the view of a web programmer with just a bit PHP and JavaScript knowledge, WebGL appears to be very complicated. That's why you will read a lot of "WebGL sucks" comments on forums. Well, WebGL is targeted at real programmers, so if you just need to click stuff for a website together, you can either use a
WebGL editor, or use one of the many available
JavaScript 3D libraries, which are simplifying and abstracting WebGL a lot.
Summarized
So all in all: WebGL appears to stay. It's a great technology and will be used. Just as with all new technology, it just needs a bit of time to get people used to it.