Archive for the ‘3D’ Tag

It Takes a Village

The W3C VR Workshop team. See us in full 360.

After all this time, VR really is the Web’s Next Big Thing. A two-day workshop brought the Web’s best and brightest together to define the future of the medium.

TL;DR: The web community’s next big push on browser technology puts VR and AR front and center. The Immersive Web is going to happen, and sooner than we think. It will take vision, hard work, compromise, and lots of really smart people.

The New Normal

I’m not really sure how it happened, but within two years WebVR — the technology that connects web browsers to virtual reality hardware — has gone from a wacky idea to the new normal.

WebVR was hatched a few years back by WebGL creator Vlad Vukićević of Mozilla, collaborating with Google Chrome hotshot Brandon Jones, and publicly demoed for the first time at our San Francisco WebGL meetup in the summer of 2014. The demos were crude, and the tracking sucked, but it was a start, and we were excited by the possibilities.

In the year that followed, WebVR was greeted with blank stares by the VR hipster elite and outright derision by industry players. We heard familiar arguments: bad performance, because JavaScript; too much bureaucracy with standards groups; and anyway, why would you want to do something like that? To be fair, folks had a lot on their plate, and most people didn’t have the mental bandwidth think about something as abstract and forward-looking as WebVR.

But over the past year, something changed. Seed-stage investors started asking me about WebVR, wanting to know the lay of the land. VentureBeat sang its praises and touted the benefits. Microsoft announced support for WebVR in Edge and contributed to the spec to make it suitable for AR. And in a penny-drop moment, a team at Oculus approached me with their plan to get into the WebVR game in a big way. This led to WebVR being featured in the keynote at Oculus Connect 3, with a demo by my fledgling startup and WebVR prominently placed in the Oculus Developer Portal.

It appears that WebVR has arrived. In a previous post I went into some detail about why I think the timing is now. But that only covers the why. How we are going get there has been by no means clear, till now.

The Final Frontier

While all this WebVR goodness was brewing, a group from the World Wide Web Consortium (W3C), the people that brought you the Web, organized a Workshop on Web & Virtual Reality. The workshop, hosted by Samsung in San Jose, CA on October 19th and 20th, brought together browser makers, content creators, application developers, and technical experts to discuss enabling technologies and standards for an open VR infrastructure.

The very existence of this meeting showed that the powers-that-be in W3C understand the importance of VR as the new frontier of web development. That’s a big win, in and of itself. But the reality of the event went beyond that. The technical quality of the presentations, the concrete plans shared by product vendors, and the positive energy and spirit of collaboration showed how seriously the industry is taking this initiative. In my view, this workshop was another watershed, in a watershed month for VR that included Daydream View, PlayStation VR and Oculus Connect 3.

The W3C Workshop covered broad ground and when it could, went deep. After two days of lightning talks, panel sessions and breakouts, my ears were fairly bleeding from the information overload. I am sure the organizers will post full meeting notes soon. (See the schedule page for the detailed list of speakers and topics.) In the meantime, here are some highlights.

  • Sean White keynote. An old friend from the VRML days, now VP of Technology Strategy at Mozilla, Sean White delivered a homey keynote that hearkened back to early VR and the collaboration that built the web, setting the tone for the rest of the workshop.
  • WebVR API Update and Browser Support. There are more tweaks coming in the WebVR APIs, leading to a likely 1.2 version before broad adoption. Google, Mozilla, Samsung and Oculus shared concrete plans and expected ship dates for desktop and mobile VR browsers.
  • Lightning talks. A barrage of 5-minute lightning talks covered UI design, accessibility, 360 video formats and metadata, immersive audio, multi-user networking, and declarative VR languages and 3D file formats.
  • Breakout sessions. We split the group into sessions on various topics, including high performance VR implementations, hyperlinking in VR, and extending the browser DOM into 3D.

My fingerprints can be seen on a lot of the Workshop’s content, but I take particular pride in one development that I hadn’t even planned for. glTF, the new file format standard for 3D scenes, continues to build steam, with a groundswell of endorsement from industry partners over the last several months. glTF figured prominently in many discussions over the two days. Folks even floated the idea of glTF as a built-in format that browsers could natively read and display (analogous to JPEG images for 2D), with immediate application as 3D favicons, hyperlink transition animations, and built-in layer graphics, e.g. for splash screens and heads-up displays. Whoa. Mind blown.

Rip Van VRML

As fun a time as this was for me, it was at times surreal. A generation of brilliant technologists had locked themselves in meeting rooms to design the Metaverse, along the way rehashing ideas we explored two decades before, such as 3D scene representation, VR interface design, and shared presence. In earnestness and with great enthusiasm, the kids at this workshop were reinventing wheels left and right. But how could they know? Many of them were in middle school the first time around… if they were even born yet.

A modern day Rip Van Winkle, I had fallen asleep during a 1996 VRML meeting, and woke up twenty years later in the same room. Then I began to realize that things were different. People were holding these little computers in their hands. The Internet was fast and, apparently, connected everybody on the planet. And you could fit VR equipment in your backpack! Most of all, the people leading the discussions weren’t crazy futurists on the fringe; they were sane futurists working at mainstream companies.

It was 2016, and the real world was ready for the virtual one. While most of the problems are the same as twenty years ago, now we’re looking at them through a post-Facebook, post-Pokemon Go lens, and building on technology that is thousands of times more powerful.

A Community Effort

The W3C Workshop explored a vast landscape of technologies and standards, interface design and best practices, and tools and frameworks. While it was a great kickoff, it was just that: a kickoff. There will be much hard work going forward.

We already have a head start, and some success under our belt. WebVR is maturing and really working now, with 90FPS head tracking and support in many browsers. glTF is a ratified standard from Khronos, with steadily growing support. Much of what we discussed at the workshop simply extends existing standards like HTML Video and Web Audio. So we’re not tackling any of this from a standing start, or from an ivory tower. The output from the workshop will be brought back to working groups at W3C and Khronos, or new groups will form to tackle new pieces of the problem.

That, generally, is how the process will unfold. But it’s not just about process; it’s about people. People were the key to the success of this workshop. The organizers, Dominique Hazael-Massieux, Anssi Kostiainen, and Chris Van Wiemeersch, worked tirelessly to put on a first-class event, extremely well-run with top-notch content. The familiar names of WebGL lore — Josh Carpenter, Brandon Jones, Michael Blix and Laszlo Gombos — have been joined by new ones, like Justin Rogers and Amber Roy of Oculus, Nell Waliczek and Adalberto Foresti of Microsoft, Ada Rose of Samsung, Kevin Ngo and the A-Frame team from Mozilla, and Shannon Norrell and other energetic community-builders. There were numerous positive contributions and, given the headiness of the subject matter, the mood remained light throughout the proceedings. There was a real spirit of cooperation and hope for the future.

If we can bring a fraction of this energy to bear in the coming months, we will make great progress. The movement is growing. We have enough people on this, with big brains, pure motivations and a shared vision. And that’s good… because it takes a village to build a Metaverse.

Third Time’s the Charm

How VR and the Web Have Finally Converged — In My Lifetime

Twenty five years after the first consumer VR crash, virtual reality is poised to upend human-computer interaction, the Internet has disrupted every facet of life as we knew it back then, and the two are now on a collision course. The Metaverse that we’ve all been dreaming about for decades — that shared vision of everybody connected and communicating in a web of virtual reality— is upon us.

Twice before, the industry attempted to consummate this chemical wedding… and twice now, somebody ran from the altar. Well, this time, the bride and groom are pure of heart and truly ready. The confluence of cheap VR hardware, accessible 3D development, and ubiquitous networking has set the stage for an explosion of VR content, delivered over the World Wide Web.

Why has it taken so long? And why is it happening now? I’ll tell you. But first, a little history.

The Best of Intentions

The notion of combining VR and the Web is hardly new. Tim Berners-Lee put out a request for proposals way back at the first-ever World Wide Web conference in 1994. Mark Pesce and I answered the call; the result was our problem child, VRML.

VRML was designed as a universal language for authoring 3D applications on the web, the first piece of a technology stack intended to bring Neal Stephenson’s vision of the Metaverse to life. After we made 3D rendering universal, we figured we would tackle multi-player networking and then, finally, when a new generation of VR hardware was ready, we’d connect it all together — with the assumption that these other pieces were right around the corner.

VRML was built on then-state-of-the-art tech: an open, scalable 3D infrastructure allowing anyone to create and share, with the burgeoning Internet as its backbone. We created VRML out in the open, didn’t patent anything, and gave everything away in the hope of starting an explosion of 3D creation online.

VRML captured the imagination of the fledgling Web industry. Software leaders Netscape, Microsoft and Adobe hooked up with hardware titans like Silicon Graphics, Sun, Intel, Apple and IBM to build our collective 3D future. Though a few had knives under the table, most of the big guys did their best to cooperate on standards. We created killer demo showcases. The hype train, powered by SGI’s marketing machine, kicked into high gear. Startup fortunes were made.

But there was a problem: we didn’t have a market. The processing power and bandwidth required for quality 3D weren’t in the average home. Most people with PCs didn’t even have a Web browser yet. VRML was a noble experiment, conceived with the best of intentions, that ultimately came up short. Wrong place; wrong time.

Worlds in Collision

In the 2000’s, virtual worlds like Second Life promised us the Metaverse all over again via real-time, user-generated 3D social environments, running on a new generation of cheap high-performance PCs. Second Life was, for its time, a damn good experience, much better than anything ever built in VRML.

By 2007, Second Life was at the center of its own hype bubble, hitting the cover of Business Week with the promise of a new way to play and communicate, and even make money by selling each other virtual stuff. SL gave rise to well-funded copycat startups, including one that I founded. But by 2010, most of the virtual worlds companies from that period were gone. Second Life was the sole exception, having built a solid business, though not a large one by Internet standards.

So why did the category fail?

Partly, it was because of the lack of scalability inherent in such a closed system. While VRML approached the Metaverse bottoms-up, via an open infrastructure and industry cooperation, these virtual worlds systems went at it top-down, delivering highly structured and stylized experiences, via AOL-style walled garden networks. The products provided powerful authoring for users to create their own content — but each company owned its own full stack, from client to tool to server. Without an open ecosystem it is really hard to achieve Web scale, and it’s all on the shoulders of one company to deliver continual value and growth.

Second Life and its ilk may have also floundered because open-ended worlds are inherently limited in what they have to offer compared to their achievement-oriented, MMOG cousins like Warcraft and League of Legends. It takes a lot of commitment to build a Second Life, and for many, it’s apparently not worth it, because there isn’t a big reward at the end.

But mostly, I think virtual world growth stalled because it got sideswiped by something bigger. Social networks provided 80 percent of the bang for way less effort, and ran everywhere, without needing to install custom software. Why go to the trouble of buying a gaming PC, installing a fat software package, and learning how to build 3D worlds, when you can instead sign into Farmville with a click using your Facebook ID, and grow virtual soybeans on your shiny silver Macbook?

Move along; this is not the Metaverse you’re looking for.

An Idea Whose Time Has Come

Half a decade after the virtual worlds bubble burst, everything has changed. Today’s smartphones have way more 3D power than the workstations that originally ran VRML; everybody is connected on fast networks; and affordable consumer VR hardware is blowing up. If now isn’t Metaverse time, I don’t know when is.

A significant development got buried in the noise around the resurgence of consumer VR. 3D is on the Web to stay, with the advent of WebGL. WebGL makes it possible to deliver hardware-accelerated 3D in a browser, programmed in JavaScript and accessible to everyone — with no additional download. WebGL runs on all desktop computers and modern smartphones. At 3 billion seats and counting, it’s ubiquitous.

But thus far, with a few exceptions WebGL has been an optional add-on to commercial sites. In the end, the results are still rendered on a flat desktop or mobile screen — granted, with more speed and sizzle, but still part of a 2D experience. Well, with a stereoscopic VR or AR display, that’s not an option: you must render in 3D. So if you want to create a Web-based application for VR, you really have no choice but to use WebGL.

Now, if you’re reading this, I am just going to assume that I don’t need to convince you why people want to create VR for the Web. To me, the idea that there won’t be VR applications built on Web tech, based on Web content, well… that’s just absurd. It’s just as absurd as someone in 2007 predicting that smartphones wouldn’t deliver Web content, and mobile apps wouldn’t someday be mostly based on HTML. Well, in 2016 they do, and they are.

Market factors will force the industry’s hand on this. The desire for cheaper, easier ways to produce, deploy and deliver VR is there: not everyone can master a game engine, and labor through the deployment and maintenance process that comes with app packaging and app store distribution. And for consumers, the long tail of applications demands an open system without the friction of app store discovery, download and installation. The makers of VR hardware used the mobile app store model as the starting point to the get the industry kick-started, but surely this is just a transient stage on the way to a fully connected Metaverse.

The technology underpinnings are now in place. In addition to WebGL, we have WebVR, a new set of VR browser APIs in development since the ink was drying on the Facebook/Oculus acquisition. We also have glTF, the new portable 3D file format that is like JPEG, but for 3D. Add to these myriad JavaScript libraries for creating VR, and the Electron framework for building native apps in HTML5, and the sky is the limit. These pieces are the kindling for a wildfire; all it’s going to take are a few simple tools and killer apps to set it off.

Which tools and killer apps? We don’t know… and we don’t care. The Metaverse may have been imagined in fiction as the product of a singular vision, a Grand Architect of the Universe mapping out how, when, why and where people will be interacting socially in VR. But that’s not how it will actually get built. The Metaverse is going to be a messy, out-of-control affair, with multiple entry points, and a face and shape that we can’t yet imagine. What we do know is that it will be comprised of a billion plus people using VR systems connected via the Web. That’s all we know. And that is enough.

Don’t take my word for any of this. Google and Mozilla are leading the way by implementing VR-enabled browsers, but you will be hearing shortly from others that are going to spearhead the effort with market applications, enabling platforms and distribution networks. The dynamics I have described here aren’t just based on two decades of my own hit-or-miss insights; they are rooted in real market pain points, developer desires, and stated strategy from big industry players.

It’s finally here.

I guess third time really is the charm.

A Growing Rift

vrmageddon

While the tech press was busy fondling itself over porn as the week’s big VR story, a more significant development went largely unreported. In a recent blog post, Oculus Chief Architect Atman Binstock published the lavish min hardware specs for the Oculus Rift. Binstock also announced the company’s decision to suspend all OS X and Linux development indefinitely. The news undoubtedly came as a gut-punch to the VR faithful. The lack of universal platform support means that any dreams people might have had about VR for the masses will have to be put on hold — either that or it’s time to look elsewhere for salvation.

At least we can stop deluding ourselves about one thing. The Oculus Rift is for games — period; full stop. The announcement makes this crystal clear, but in hindsight it shouldn’t come as a surprise. We saw early hints of the direction at the first Oculus Connect developer event, where it was evident that our little clubhouse of VR believers had been invaded by refugees from console and mobile gaming. The escalating hardware specs and the omnipresence of shoot-em-up content in the demo salon made it feel more like a GDC than a first-ever conference devoted to building a shared virtual future.

In the months since Connect, the Oculus team had done a respectable job supporting the SDK for other operating systems. And Oculus reps have been gracious whenever asked about applications that are obviously out of their gaming-first comfort zone. So it seems as if the company was really trying for a while there. But in the end it looks like they’ve decided to hunker down. I understand the strategy, and I actually think it’s the right choice for company. Developing for one platform makes the job easier. Focusing on a well-understood, lucrative product category reduces the business risk. Competition from the Vive and Project Morpheus has raised the stakes — we may have a real dogfight on our hands next year. Last but not least, Oculus is on the hook to ship something soon, and I’m sure Facebook management’s patience isn’t infinite. I suppose it’s better for the Rift to be a success at something than not at all, so: godspeed, Oculus. But where does this leave the rest of us?

There’s hope coming from a couple of quarters. For desktops we have the Vive and OSVR. Valve has a good track record with supporting Mac and Linux, and HTC is committed to supporting all platforms, so it’s reasonable to expect we’ll get some love there. But — hello — nobody has a Vive in hand just yet. They ship over the next few months. OSVR is fully open, so I don’t think it’s out of the question that we are going to have solid cross-platform capability on those devices. Last time I looked, not that many people were using OSVR, but the move by Oculus just might open new inroads for it.

What about WebVR, you may be wondering? Oculus is the only desktop device that browsers support right now. Sign of the times: Josh Carpenter, my pal on the Mozilla VR team, told me they “just bought a bunch of PCs” and he’s got one on his desk next to his Mac Pro. Sigh.

On the mobile side, things are brighter, but still murky. Gear VR is the top choice, but it’s far from ubiquitous, and definitely not cross-platform. Cardboard looks to be the ultimate winner, but we’ll need more high-res phones and faster tracking. I hear the Cardboard team has been staffing up with high-profile talent, so maybe these are on the way soon.

Long story short… there’s no short story. Platforms are proliferating, and each of us is going to have to pick a battle. Oculus has made a choice which ultimately will benefit the industry — by all means go forth and make VR gaming a mainstream category! — but in the short term they have broadened the gap between game developers and everyone else.

Big Data

[text of my emcee rant from tonight’s cocktail social at HTML5DevConf]

I’m not actually here right now.

You’re seeing an incredibly powerful simulation, crunching petabytes of data at teraflops speeds. Combined with the right sensory hardware, we’re able to create illusions of size, shape, color and sound… even touch. Go ahead: touch me. Realistic, isn’t it?

This simulation is the product of the longest-running R&D experiment we know: evolution. Evolution: the first lean startup. Brought to you by the most powerful technology we’ll ever see: reality. Collisions of atoms, and sprays of electromagnetic radiation. Big data meets bright light.

So as we gather tonight to celebrate how freaking smart we are, let’s just remember where we came from. The internet is everywhere, on everything, in everything. But this is just the beginning. We have a lot farther to go before we can say that everyone and everything are truly connected.

BUT until then…

They said it couldn’t be done. They said HTML couldn’t be used for serious applications. First, they said it couldn’t do what Flash does. They were wrong. Then, they said it would never work on mobile. They were wrong again. As more new features hit native platforms, I’m sure they’ll say it again: HTML can’t do it; JavaScript isn’t fast enough; standards committees move slowly and stifle innovation. Yada yada. And they’ll be wrong again. Wrong, wrong, wrong.

Video, audio, 2d graphics, 3d graphics, databases, threads, sockets… HTML5 is *the* platform for building content and apps across operating systems and devices. Not controlled by one vendor; write an application once, in one programming language, with one set of system services. What developer doesn’t want this? Coming soon, the browser will have virtual reality, new input devices, bluetooth networking, and real-time control – the *next* platform to power mind-blowing new experiences, new user interfaces, new control systems for connected devices.

HTML5 isn’t a technology so much as a mindset and a process. A mindset of sharing to create opportunity: grow the pie, and each slice grows bigger. A process of open collaboration and open development: stand together or fall apart. Without a standard platform, we’re trapped in silos of experience, and fall short of our true potential. With a standard platform, we’ll connect everything to everyone, and hit new heights. Big data meeting the bright light.

Almost Famo.us

Steve Newcomb is a really sharp guy. In a time when everyone thought search was sewn up, he created Powerset, a natural-language search engine that sold to Microsoft for a reputed $100M in 2008.  Now, he is bucking trends again with Famo.us, a framework that solves performance for HTML5 apps.

Newcomb managed to raise millions in investment for Famo.us on the strength of demos and team alone, a feat that many entrepreneurs in today’s  topsy-turvy venture capital climate would sacrifice a limb to emulate. I signed up for the beta;  I’ve been waiting for months to get more info. Apparently the team is in no hurry and, bucking another trend, has told the media that won’t release the product “until it’s ready.” The site has no technical info, but there are demo reels that show fancy rich web interfaces featuring gesture-based interaction a la Minority Report.

From what I have been able to glean from articles, and my occasional brush with Steve at the conferences we present at, is that Famo.us deals with performance by getting around HTML5 as much as it can. For a time, the company logrolled on the FUD created by Facebook after its massively inept early attempts at HTML5 development. This strategy will get harder over time as HTML5 proves itself worthy. In the meantime, the incredible Mr.doob recently decided to scratch an itch and create his own snazzy user interface demo, literally cribbing the Famo.us periodic table; except this one is all HTML5, rendered with Three.js, using a new CSS3 renderer plugin he wrote over a weekend.

css3d_periodictable

So this leaves me wondering… why does anybody need Famo.us? I suppose that I would have a better idea if they ever release the product.

Which leaves me with two things to say to Steve Newcomb:

  1. NEVER bet against standards.
  2. Release the beta already.

Alias Ugly

WebGL just got beat hard with the ugly stick. As reported by Ken Russell of the Chrome team, there was a graphics driver issue on “some Mac OS hardware” that caused a nasty bug which corrupted memory. The culprit turned out to be antialiased rendering, that great technique for smoothing out jaggy lines along edges by blending adjacent pixels. The Chrome team decided to fix the bug by turning antialiasing off on all offending machines until Apple deals with a couple of bugs in their NVIDIA drivers. This sounds safe enough, and I can’t blame them. Better safe than sorry, especially when it comes to trashing computer memory.

Except that it turns out that when citing “some Mac OS hardware” Ken meant: “The affected machines are those with NVIDIA and Intel GPUs.” Um, that’s pretty much any Macbook. Including mine. Suddenly one day some awesome WebGL demos I wrote got visibly less awesome after Chrome auto-updated. Then I checked the same demos in Firefox and it turns out they followed suit and recently pushed a similar fix. The net result is that several of my previously beautiful projects now look shite. I am seriously bummed.

I could investigate one of several techniques for doing my own antialiased rendering via writing custom GLSL shaders. But that’s some R&D and work load I hadn’t been budgeting for. What would be much better is if Apple fixes this situation ASAP. Dean Jackson from Apple is on the case (thanks for the email replies Dino!) and I hope they fix it soon! If you’re having issues like I am, maybe add your voice to the chorus. The email archive for this thread contains info on the already-filed bug reports and an address for filing new bugs with Apple.

Just a heads-up for everyone who may have wondered why their WebGL got ugly overnight… meantime I am seriously considering (shudder) buying a new Windows laptop to show off my stuff. Somebody stop me.

SketchFABulous

I just met with the 3 founders of Sketchfab, who are in town from Paris for most of the month. This is a great new 3D publishing service that lets you upload models and share live WebGL previews using embed codes. Alban, Cedric and Pierre-Antoine are very nice, very smart and on a mission to democratize 3D publishing. They are currently raising seed funding and working with Mozilla’s WebFWD accelerator program.

Like Ourbricks, a service launched last year that features live WebGL preview of models, Sketchfab’s goal is to facilitate sharing of 3D content by enabling live, web-integrated previews using WebGL. But Sketchfab has taken the functionality further by offering upload support for various file formats, and better still, exporters that will get content out of the pro tools like Max and Maya in a sane way so that artists don’t have to get lost in the alphabet soup of which standards/formats to export.

As with any such service– and this includes the bloated curiosity shoppe known as the Sketchup 3D Warehouse— I question the utility of hosting simple models that have no animation, interactivity or scripts (what can developers do with those?), and with no style guides and publishing standards governing how the content is organized. Without those in place, you never know what kind of content you’re going to get, what units its modeled in (inches? centimeters? angstroms?) and so on. Maybe Sketchfab’s social features like ranking will help separate the good from the crap; we’ll see.

Come meet the Fab 3 while they’re still in town, at our next WebGL Meetup in San Francisco, early December.

From the Front Lines, August 2012

A year and a half ago I presented WebGL for the first time to the crowd at Dorkbot San Francisco. Full of excitement that the browser makers finally, really shipped it, I spun the big vision and showed the most beautiful demos I could get my hands on. Back then it was Aki Rodic’s Chrysaora jellyfish forest, the  Zygote visible human simulation, and Brandon Jones’ insane port of Id Software’s RAGE. Still crowd-pleasers, all.

This year it’s different. Things have moved from buzz to reality, and the reality is good. Last week I gave the Dorkbot crew an update from the front lines. While the demos aren’t as exciting as a year ago, they are more real. They’re about visualization, mapping, 3D printing, terrain generation, new devices and just creating fun projects– in other words, the stuff of web development. The overriding theme is that WebGL is here to stay, it’s appearing in real applications, on new devices, in money-making products and books (nudge nudge as in by yours truly). These are wonderful developments… but frankly I am just relieved that some skittish product manager at Google or Apple didn’t yank WebGL support sometime in the past year. Paranoia? Perhaps. But after watching 3D appear on the web in fits and starts for fifteen years, indulge me.

Apologies for the lame HTML page graphics, it’s been a busy summer and I had to put it together on the spot.

The Computationalist Manifesto

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!”

Steam Engine Time

It’s been happening slowly till now, but in 2012 I think we’ll see an acceleration of new game engines being developed for WebGL. Like the old saying goes, it’s Steam Engine Time for WebGL.

As many of you known I’ve been working on my own little engine that could, Skybox, but it’s totally experimental and it’s only me (I lost my partner in crime, Don Olmstead, when he took a job at Sony). I have no idea where this project will, go if anywhere. We’ve got the best of intentions with design, but as the old saying goes…

So that’s why I was so tickled that the folks at Mozilla Labs today announced an early version of their Gladius engine. It’s designed with gaming best-practices in mind, part of a larger Mozilla effort called Paladin to push forward on gaming technologies for the open web. Huzzah! I encourage you to go check it out and play the demo games they’ve built.

I think this is going to be great, and I have a feeling this will be the first of many.