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...

 

Virtually Anything

VR is back, baby. With a vengeance.

In 1994, Mark Pesce and I worked with the world wide web development community to create the Virtual Reality Markup Language, aka VRML. The goal was to develop a standard way to represent 3D virtual worlds connected via the burgeoning Internet:  Habitat cum  Snow Crash as front end to a potentially world-encompassing Web. It didn’t matter that the modems were 14k dialup, the computers ran at 60Mz (that’s with an “M”) and that the “Web” at the time was AOL, Compuserve and Prodigy. We had a vision, and nothing could stop us. We roped in big companies like Netscape, Silicon Graphics, Microsoft and IBM to come along for the ride.

Fast-forward to 2004. VRML had gone bust years earlier, but I managed to sell my VR startup before the crash (yay irrational exuberance!). I took an extended break from pushing 3D rocks up virtual hills,  and moved on to other things. Then, possessed by God knows what, I dove back into a 3D project. This time it was X3D, the successor to VRML featuring “modern” graphics and XML (because everybody was doing it). The idea was that broadband infrastructure and hardware had caught up to the vision. We still needed a plugin because 3D didn’t come natively in a browser. But, no problem: we were up to the task. We built some cool demos, including a kick-ass shopping experience in partnership with eBay.

We spent the next two years pitching investors who didn’t get it. I could barely see through the blood streaming past my eyes from beating my head against the wall so hard. And then, something wonderful happened: Second Life made the cover of Business Week, and a new virtual world land grab ensued. I wiped the blood off, dusted off my pitch, brought in a hotshot Valley CEO and promptly raised $10M from top venture firms to fund Vivaty, a browser-based virtual world. Good things come to those who wait I guess. Ultimately, Vivaty came up short, a victim of internal misalignment, strategic misfires, and goofy product decisions… but mostly timing. 2009 was a bad year to try to raise a B round. The VCs were all jumping out of their second-story windows over the recession. We sold our great technology to Microsoft and moved on.

(Little known story: during those lean years, we pitched Accel, who had just  pumped $13M into Facebook. During due diligence, they put us in front of Zuck, who promptly threw up all over the idea of 3D shopping in eBay. “Why is this better?” Why indeed? Needless to say, that deal died stillborn. But no matter: we eventually got our funding from people who got it.)

Fast-forward again to 2014. WebGL is here, there, everywhere. Phones and tablets do kick-ass 3D. There are no more reasons to not build great shared 3D experiences. We have the rendering, the broadband, and a huge base of multimedia-savvy developers. Oh and Oculus VR is now Facebook. In one stroke, virtual reality has been validated, vindicated, and safeguarded for a new generation of entrepreneurs. Those of us with a passion for creating anything virtual are now free to try virtually anything regarding new types of user interaction and out-of-the-box business models. And I’m back at it, thinking about how to launch a VR startup.

What a difference a decade makes. Er, two decades.

 

Are You Serio.us?

I was pretty excited last night. At long last, Famo.us was going to release its public beta at the April 9th launch party in San Francisco. I couldn’t make it to the party, but I was one of the early signups, so I figured the code would be available online.

Out of breath from running to my browser, I logged in to my Famo.us account. This is what I saw – an actual screen shot from my account page.

whatthefrell

My number in line?

LINE?!

Oh wait, I get it: they’re going retro. I expect to see my shiny new shrink-wrapped CD-ROM in the mail any day now. I hope it comes with 100 free minutes of API use!

Are they fucking serious?

Unsubscribe… oh wait. There’s no button.

 

Infamo.us

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 Famo.us “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 http://famo.us/c/ 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.

WebGL On Fire!

Thanks to some friends at Amazon, I was fortunate enough to get hold of a Kindle Fire HDX the minute they hit retail. Naturally, the first thing I did was pop open the Silk browser and, hoping against hope, opened a web site with WebGL.

It JUST WORKED. Fast JavaScript; beautiful rendering.

Apple, Google: take notes.

This changes EVERYTHING.

Extreme Makeover, IE11 Edition: WebGL now in IE (Live Report from Microsoft Build)

No more rumors; it’s confirmed: today, Microsoft announced that IE 11 will ship with WebGL.

!#@$ng pinch me. They finally, really did it.

I am blogging live from Frank Olivier’s talk, Hyper-Fast Web Graphics with WebGL, at the Microsoft Build conference in San Francisco. Frank is a senior program manager responsible for getting their WebGL out the door. Some tasty tidbits from Frank’s presentation:

  • Frank has been working on IE since IE9, when they started rendering with hardware acceleration. They have been building the IE WebGL support “for a while…”
  • Great demos: the popular Minecraft voxel world, Three.js physics that shows off Microsoft’s kickass JavaScript VM. and some very photorealistic rendering using postprocessing.
  • Demo of Photsynth 2 – preview built with WebGL – take your own photos, upload to web service, it stitches them all together and presents in a browser. This is a very exciting application.
  • According to Frank, the power of WebGL is, you get to control and program the GPU yourself. It’s for more than just 3D. You can do a lot of things, really fast, programming each pixel on the canvas using the hardware to accelerate and parallelize your processing.
  • Tutorial on WebGL API – photo warping – basically 2D intro – actually a good tutorial! Will get link later.
  • Overview of GLSL. Very good, made accessible for Web devs.
  • Frank called WebGL the “best choice” for web content that requires 3D or GPU programming – but also consider CSS Transforms, 2D Canvas or SVG. Also hardware-accelerated but simpler to use, helps you avoid “gratuitous 3D.” Or of course go Direct3D if you are OK building a native app.
  • Status of the implementation: common WebGL/three.js functionality works; they’re happy with perf so far but looking for performance feedback.
  • WebGL will be ON BY DEFAULT in ALL IE11 DEVICES – this includes Windows RT. Also in web-based Windows apps such as in the Store. Talk about burying the lead… !
  • Architecture: API translation to DirectX runtime. Is it slow? No, it’s a very thin layer. (Chrome does this kind of thing on Windows already with ANGLE, right?)
  • r/e Security: Frank related that the IE team is “happy that things have changed a bit,” – spec updates w image security via CORS and context loss handling. Whew.
  • MS also has their own security innovations: they sandbox GLSL via translator that reconstructs it to be safe; they also do GPU recovery to halt a wayward driver or shader program. In addition, they leverage various secuirty improvements that come with the DirectX 11 runtime. Plus GPU driver source code audits. Finally, they have a software renderer as a fallback. Sounds very robust!
  • The presentation covered techniques to help with interoperability across devices, and best practices e.g. use requestAnimationFrame(), avoid background rendering, don’t overdraw. Hear, hear!
  • From the Q&A… somebody asked if you could also write a shader in HLSL. Thankfully, Frank said, “no.” I’m glad, because that way lies madness…

This was good stuff. A great talk for the MS audience, and in my opinion, a shot in the arm for 3D web developers. With Microsoft in the mix, WebGL is only going to get better, stronger, faster. If you’re interested, follow Frank on Twitter @frankolivier.

Microsoft used to know how to win developer hearts and minds. They didn’t have to bully developers (though they did their share of that), they just built great tools and delivered huge audiences, despite having a so-so platform. But that was the old days. Now they have to work at getting people back. Adding WebGL to IE is a step in the right direction. We’ll see if it’s enough to get Windows 8 and IE11 some developer mindshare.

For the WebGL faithful, this news is monumental. Lack of WebGL support in IE has been a serious impediment to adoption in certain circles; elsewhere it has been a continued perception problem. As part of this initiative, Microsoft has also about-faced on its hard stance about WebGL and security. In one fell swoop, we have universal adoption and endorsement. Huzzah!

Ahem. But there is still one significant WebGL holdout. So I have to ask– not being one to see an elephant sitting squah in the middle of the room without saying something–

When the hell is Apple going to build WebGL into Mobile Safari?

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.
Follow

Get every new post delivered to your Inbox.

Join 990 other followers