Josh (the blog)

I’ve delivered simple, clear and easy-to-use services for 20 years, for startups, scaleups and government. I write about the nerdy bits here.


@joahua

WebGL ready for primetime

A particularly timely email went around the office this morning about WebGL and 3D animation.

All in all, it’s pretty depressing for us – but we’re on 2.5-3 year old hardware in some cases so the next generation won’t have the same issues. In fact, today’s mobile devices would probably demolish the desktops of yesteryear.

From: Sam
Sent: Thursday, 10 November 2011 9:02 AM
To: Web Developers Frontend-DL
Subject: Three.js – 3D Animation in jQuery

The Web GL examples may not work if you have an older computer. I tried them at home – pretty cool.
http://mrdoob.github.com/three.js/

This one is particularly cool
http://alteredqualia.com/three/examples/webgl_terrain_dynamic.html

Sam

From: Fiona
Sent: Thursday, 10 November 2011 9:09 AM
To: Sam; Web Developers Frontend-DL
Subject: RE: Three.js – 3D Animation in jQuery

:(

Browser support - your graphics card doesn't work

From: Josh Street
Sent: Thursday, 10 November 2011 9:14 AM
To: Fiona; Sam; Web Developers Frontend-DL
Subject: RE: Three.js – 3D Animation in jQuery

Doh.

VPU recover prompt

From: Sam
Sent: Thursday, 10 November 2011 9:18 AM
To: Web Developers Frontend-DL; Anton; Darian
Subject: Three.js – 3D Animation in jQuery

Safe to assume it’s not ready to go mainstream just yet.

Imagine IE6 trying to deal with it…

IE6 is probably not relevant anymore, but the real issue is IE7-9. On the basis of something that’s mostly software related – whether at a level of browser support for different graphics cards, or a user’s access to a particular browser at all – we’re inhibited from deploying particularly cool/useful technologies.

This is an old story. Users take too long to upgrade.

The difference here is that, post Windows XP, upgrades aren’t being held back by hardware or platform anymore. Performance has plateaued across desktops as integrated graphics are “good enough” for many applications (see system-on-a-chip mobile solutions where CPU and GPU are tightly – and beneficially- integrated) and discrete graphics are blazingly quick.

I was surprised to discover that the much-hyped Skyrim would purportedly run at high detail on my 18-24ish month old desktop. Caveat – I’m a bit of a hardware geek and probably over-specced (in terms of gaming) when it was built, but it cost under $1000 once you exclude all the hard drives (video editing box… before I switched to OS X). It’s still (apparently) getting incredible performance by today’s standards. This doesn’t speak to a lack of innovation – though it probably says something about the self-cannibalising properties of that industry.

“Oops, my PC is too fast” probably remains an uncommon complaint. Still, I’d contend that for many users, perceived speed will become less of an issue over the next upgrade cycle. Form factor (Macbook Air), low latency (SSDs) and portability (tablets) are the key competitive fronts today and will continue to be. For web technology, this means that we can innovate with confidence where performance is concerned.

The blocker is software.

For now, the trend appears to be targetting applications at particular select user agents to the exclusion of others. WebGL is a great example of this insofar as it doesn’t have a neat fallback option as tools like Raphaël do with VML. Fundamentally, this may be no different to nested video embedding that differs on the basis of browser capabilities. In practice, few will seek to implement equivalent functionality or design 2D experiences to match rich WebGL ones – it’s just too complex.

The real winner in all this is mobile, which has a reasonably broad support for hardware accelerated web experiences.