Archive for the ‘WebGL’ Tag

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


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.

The Right Stuff

Whoever controls the high ground of cyberspace controls the Metaverse.

Anybody who doubts that virtual reality on the web is a good idea needs to start paying attention. Last Friday, over 800 attended  the SFHTML5 Meetup, shattering attendance records, to learn about browser-based VR and chat with a high-powered group of thought leaders. For two hours, Mozilla’s Josh Carpenter, Brandon Jones from Google, Leap Motion founder David Holz, DODOcase’s Patrick Buckley and I dropped beats about creating low-cost, accessible, no-download VR just using JavaScript and your text editor.


After the meetup, we rolled to the Upload party to see the latest VR hardware, killer demos and body-painted go-go dancers. It was a VR night for the ages. It didn’t bother me that 100% of the demos I saw at Upload weren’t web-based. Let’s face it, it’s a lot easier and faster right now to build a Unity or Unreal-based native app for Oculus and Gear VR. But as I’ve misquoted before: we don’t do these things because they’re easy, we do them because they’re hard. It’s going to take a while yet to roll out a VR web, but in the long run we think the effort will be worth it.

And so the intrepid group of warriors that kicked this night off brilliantly laid out. Virtual Reality is for everyone, not just the few: accessible, affordable and easy to create and share with the world. It’s our shared belief that VR will be on the web in a big way, and the web itself will have a VR interface in the not-too-distant future.

If you missed it, you can check out the video here.





Patrick Buckley is a cowboy, in the best way.

Seven weeks after seeing Cardboard VR at Google I/O, Buckley’s company DODOcase, makers of luxe iPad and Android tablet cases, had already put tens of thousands of their own Cardboard VR units into production. Instead of having to source individual parts, cut them to spec, and tape and glue a bunch of pieces, an enthusiast could one-stop shop a DODOcase kit and – quite quickly – assemble a VR viewer. Just add smartphone and voila! virtual reality in your pocket.

A month after shipping their first Cardboard units, DODOcase contacted me to talk about software. Patrick and co-founder Craig Dalton believe, as do I, that VR will reach the masses through low-cost hardware, free and open source software, and the blooming of a thousand content flowers. No proprietary application stacks, walled-garden app stores, and game development teams with million dollar budgets – just good old fashion HTML and a text editor.

We began to explore this idea of Cardboard VR apps built in WebGL, shared via hyperlink, and instantly accessible to consumers. Combined with DODOcase’s low-cost VR hardware– or cardware, if you will– we thought this maybe had the potential to spark a revolution in consumer virtual reality. And so, DIYVR was born: cheap hardware and free and open software so that anybody can build and experience VR.

We just launched a Kickstarter to help us realize this dream faster. 100% of the campaign proceeds will go to adding VR modules to my WebGL software project, GLAM. GLAM (GL And Markup) is a way to create 3D content using markup, CSS, and the DOM. Making VR applications should be as free and unfettered as developing web sites, and making the content should be as easy as creating a web page. GLAM has the potential to be to VR what HTML was to publishing: a great equalizer, a leveler of the playing field… a disruption of the first order. If you fund the Kickstarter, you’ll also get a nifty VR stocking stuffer in time for the holidays. (Patrick, ever the cowboy, wanted to have the campaign ready in time for Christmas. So, here we are, with 21 days left…)

Though they won’t admit it, Cardboard probably began as Google flipping the bird at Oculus VR. Why get a $350 dev kit and an expensive PC setup, and wait a year (or more?!) until Oculus ships a commercial product, when you can use a couple of bucks worth of parts and your mobile phone and get in the game now? Moreover, why tie your future to a closed platform when there’s an open alternative? I’m not sure they knew what they were starting with this; regardless, Google has sparked a full-fledged revolution. Buckley has dubbed it the “homebrew moment for virtual reality.” I say, let’s get cooking.

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.

Virtually Anywhere

OR, how the Web will eat everything in its path – again.

Now that WebGL is truly everywhere, the close-knit, doggedly persistent and technically masterful group of folks who made it happen over the last several years can take a collective bow. From Vlad  Vukićević, WebGL’s creator, to the countless engineers and working group members on browser teams who created a great spec and world-class implementations, to Ricardo Cabello Miguel, aka Mr.doob for the amazing Three.js, to us camp followers and blogging faithful: congrats, felicidades, and kudos on a job well done!

But we can barely pause to enjoy the moment, because there’s a new game afoot: Virtual Reality. From the Oculus kickstarter to the Facebook acquisition, this surreal ride has already turned the industry on its ear. New products will be forged, new markets will appear out of nowhere, and new fortunes will surely be made.

And a new war begins.

Ultimately, hardware like the Oculus Rift will become a commodity. That’s just the way of it. In the long term, the big winners will be the applications and content that run on VR hardware. And those applications will need software.

But what software? Whose software?

Do a web search for “Oculus Rift demos.” You will find many portal sites featuring amazing experiences. All of the demos are native code applications for PC or Mac – solitary, wall-garden experiences; massive downloads; not integrated with the Internet. Earlier this month, I was privileged to speak at the first-ever Silicon Valley Virtual Reality Conference. The demos on the show floor were also all native “silo” applications. Given my purview, I naturally asked several of the startup founders  at the conference about their plans to use WebGL and other web technology. The reactions ranged from blank stares to outright truculence: it’ll never work, it’s too slow, and why would I want to do that? It’s a familiar tune I’ve been hearing for years.

I imagine we’ll hear it for a while longer. In the rush to snag millions in venture money while it’s popping fresh, developers have flocked to proprietary tools, closed systems, and native apps. It’s hard to blame people. This is the easy way, the obvious way. But we don’t do these things because they are easy; we do these things because they are hard.

The hard way, the right way, the way that will win in the long haul, is to build virtual reality on the Web. Using HTML5, WebGL and CSS3, we can create VR experiences that run virtually anywhere, instantly accessible, with no downloads. Integrated. Connected. Social. Mashable. Hackable. Shareable. You know: the Web. Yes, it is early. And we’ll need some extra support in the browser itself to make it work. But that’s coming.

Last night I presented early demos of WebGL applications running in Oculus VR using various browser extension hacks. It’s not great yet, it’s still very early, but it’s promising. I also gave a great talk – but Mozilla’s Josh Carpenter (@joshcarpenter) stole the show. Josh threw down about how in 5 years’ time we won’t be navigating flat pages any more, that the whole interface to information will be in 3D, experienced through virtual reality display technology and new interface paradigms. An inspiring few minutes (dude, you had me at “psychedelic”)!

Josh’s manifesto wasn’t just idle speculation. He’s already working on it. In fact, today Mozilla shared that they are working on building Oculus Rift support directly into the Firefox nightly builds. Carpenter and Vukićević gave a live talk on Air Mozilla that outlines their plans. Josh actually dropped the bomb at last night’s meetup, and then was joined by Brandon Jones of Google, who is also playing with doing the same in Chrome. There are no time frame commitments yet, but knowing these teams, it won’t be long. (Odds are they’ll probably have great support for the devices long before Oculus or anybody else actually ships a commercial headset.)

While these developments roll out, I imagine we are going to continue to see the bulk of VR development on closed platforms using proprietary tools, and active resistance, nay-saying and political posturing. For a while, it will be a war, resembling the fracas over HTML5 on mobile. But ultimately, the Web will win VR as it did mobile, and this, too, will pass.

The language of Metaverse will be JavaScript. The platform will be the browser. To paraphrase Vukićević : the Web is the Metaverse – just with a 2D interface. Well, it’s time for those walls to start tumbling down. It’s going to be amazing to watch.

In the meantime, native app devs: go forth and build silos. Create your mind-blowing Oculus demos. Stick them in front of investors – and have your checkbook ready to sign before their eyes uncross. Godspeed, I say!

But word to the wise: learn JavaScript and HTML5 too. You’re gonna need it.


The Domino Effect

Finally, you have broader considerations that might follow what you would call the “falling domino” principle. You have a row of dominoes set up, you knock over the first one, and what will happen to the last one is the certainty that it will go over very quickly…

— Dwight D. Eisenhower, April 7, 1954, on the rise of communism

It’s taken a while, but it looks like the final domino is about to fall. The global onslaught of WebGL was already unstoppable – once Microsoft got on board with IE 11 last year – but now it’s official, at least on the desktop. Today at WWDC, Apple announced that WebGL will turned on by default in Safari on the upcoming Mac OS X 10.10, code-named ‘Yosemite’.

Now, for the 5+% of web users who browse this way, it’s good news. I would assume that this takes desktop WebGL adoption to near 100% – blacklisted cards and ancient desktop hardware being the exceptions.

But of course, the $64B question on everybody’s minds is: what about mobile Safari? That’s what most people care about. Well, Apple didn’t say anything at WWDC, but the site HTML5 Test, a browser capability testing site, reports that WebGL is running on iOS 8.0! If you’ve got the beta installed, please go try it out and confirm this. I haven’t done yet. Also here is an independent confirmation by Jay Moretti, tweeted by AlteredQualia.

So you could have a beginning of a disintegration that would have the most profound influences...

I don’t like using this blog as a bully pulpit. I really don’t. Especially since my kid is now attending mandatory anti-bullying classes. I know it’s not the fashion. But in this case I have decided make an exception.

Unfortunately I had to miss last night’s “launch event”– dubbed #launchalready and announced, like everything else they have done, with much fanfare– because I had to stay home to take care of my sick wife. (And watch the US continue to flail in Sochi but that’s another story).

As it turns out, according to an anonymous source who shall remain nameless, it’s OK because I didn’t miss anything. Yet again, Founder Steve Newcomb cavorted onstage showing info-viz demos mislabeled as 3D, took potshots at the DOM, CSS, basically anything a browser actually does today. He also poked his cattle prod at AngularJS and PhoneGap for good measure. (Guys maybe I missed that class in startup school, but I don’t see how maligning the technology your prospective users rely on to earn their daily bread is a viable strategy for winning them over.) According to my source, the event was “underwhelming,” came off as “arrogant,” and Newcomb came off more like the “Justin Beiber of the Internet” than a serious player.

At the end of the day, code talks and bullshit walks. I might forgive all of the above if they had actually released the product. Go to their site right now and you’ll see the same message I have been looking at since I signed up for the beta nearly two years ago:

sign up for the beta

Go ahead, sign up. Maybe in two years it’ll actually be out.

In the meantime I will continue to ask Why Do We Need This? Especially when you can render D3 to WebGL and use Three.js to create CSS 3D presentations without having to throw out everything else you know.

And I only have one thing to say to Steve Newcomb at this point:

Your lunch money. And I’ll be back tomorrow.

Sweet Sixteen

WebGL just had its big coming-out party.

At last week’s San Francisco HTML5 Meetup, All about WebGL, a quartet of speakers plus lightning presenters wowed a record crowd of 500 plus at Google San Francisco, and many more via the livestream.

After my typical opening talk introducing WebGL to the uninitiated, Don Olmstead of Sony showed how to make WebGL really work in a constrained environment like the PS4; Goo Technologies’ Victor Sand showed content creation made easy with the company’s new tools,  which Peter Moskovits from Kaazing promptly wired up to mobile controllers using the company’s web sockets tech. Finally, Isaac Cohen Leap Motion’s Isaac Cohen found his happy place with WebGL and the Leap, and blew minds in the process. And there was more. The program was too big to go into detail here; check out the event page for links to the live stream and all the presentations.

But it was big, the biggest ever SFHTML5 meetup. And it was all about WebGL.

The Tipping Point

2014 is the year WebGL tips. Do we need more proof than:

  1. Microsoft is on board, with WebGL in both desktop and mobile Internet Explorer.
  2. Amazon built WebGL into the Silk Browser and WebKit for Fire OS. At $229, the 7″ Kindle Fire HDX is probably the best multimedia device deal on the planet… thanks in part to WebGL.
  3. Sony built the whole PS4 user interface out of WebGL. 4.2M seats in one whack… and growing.
  4. The NORAD Tracks Santa site saw 48.8% WebGL success across all browsers & platforms for 20M visitors, an increase of 146% over 2012.
  5. And next week, we’ll be talking WebGL at one of the best-ever-attended SFHTML5 meetups. We broke the group’s record for wait list (over 500)!
First they ignore you, then they laugh at you, then they fight you – then 3D is everywhere.