At last night’s WebGL Meetup, David Sheets presented his work with Gloc, a tool set for creating and composing programmable shaders for WebGL. At least, that’s how the talk was billed to the group. Much to my surprise and delight, what we got instead was a vision of the future. More than a vision– it was a manifesto. A Computationalist Manifesto.
In his presentation, titled GPU Functions as Hypermedia, David threw down his vision of a universe of hyperlinked graphical program code, something like a Mathematica meets Project Xanadu. Wiry and frenetic, more Bram Cohen than Ted Nelson, David evoked a future world where programmable shaders— those amazing powerful C-like programs we use in WebGL to realistically render grass and water, or create mind-blowing dynamic animation effects– can be composed together into a seamless system of connected, reusable code, instead of trapped in web pages, shackled in service to a single, pixel-bound purpose.
More than just a production system for hooking together special effects, e.g., Blinn-shaded geometry meets Instagram image filter plus refraction mapping, Sheets sees this interconnected network of little programs as an underlying computational fabric, a web of hyperconnected code governed by a functional programming model. It’s a grand vision, and David is on a crusade to make it into reality, or, borrowing his word from last night, reify it. (I don’t know about you, but anyone who uses the word like that several times in a single presentation is my kinda people. He had me at the first reify.)
Whether shaders become the computational reality underlying a hypermedia web will depend largely on David’s ability to bring it home. He has written a great tool set. But it’s early and we’ll need layers up above it, such as graphical editors, before it is anywhere near ready for the mainstream. Even then, he will be fighting an uphill battle. Though his insights are grounded in the reality that WebGL is computational, not declarative, most people simply don’t think that way. And even though the two views have been demonstrated to be, ultimately, equivalent (in my favorite CS book ever, thanks Hal and Jerry), most people, you know, just don’t think that way.
David has serious conviction and I hope the world doesn’t beat him down too hard. Gloc is really exciting, and I wish him well on this adventure.
Till this all plays out, I’ll be hearing in my mind David’s unspoken call to arms:
“Graphics programmers of the world, unite! You have nothing to lose but your tool chains!”