Takin’ It To The Streets

Back in September, I was privileged to attend the first Oculus Connect event, the developer conference for the flagship VR headset, and get a hands-on demo of the new developer kit, code-named Crescent Bay. Crescent Bay is hands-down the most awesome thing I have ever experienced with a computer. But even as I was being transported into other realms, the earth-bound part of me was wondering where they kept the cooling room for the massive PC under the hood, and sniffing for the smell of burning wires. Combine that with the specs John Carmack and team are laying down as the baseline experience, and it seems to me that this device is headed straight for the living room. It’s not cheap, it’s not mobile, and it’s not something just anybody can build for. The Oculus Rift is destined to be the next console: the experiences will be created by high-end game and film studios, and delivered as paywalled apps via some future equivalent of the app store.

Perhaps anticipating a read guard maneuver by mobile phone makers, and maybe a bit spooked by Google’s introduction of CardboardVR, Oculus has also entered into a partnership with Samsung. The GearVR is a sleek mobile VR headset, and the demos I’ve seen are also stunning. But at a $800 cost of ownership, it’s also not a device for the masses. And Samsung, too, has already set the expectation that apps for the GearVR will go through its own app store.

You probably know where I’m going with this.

Last week, DODOcase and I took our mission of an open virtual reality Metaverse to the streets. Our DIYVR Kickstarter hit its funding target in just over 3 days and it’s headed for more. So far we’ve done it all with social media: our friends, their followers, and the people’s broadcast medium, Twitter. To me, the speed with which we hit the initial target says more about folks’ desires to keep VR open and affordable than it does about the size of our respective networks. VR, after all, is a movement of the people. This is how Oculus got funded in the first place.

DIYVR is about two things: affordable mobile VR, and the open software to build it. Twenty bucks gets you viewer hardware that works with your existing smart phone, and you can have that VR dance party, literally, out in the street, right now. And you don’t need a PHD in graphics or pro tools to build something. With software like GLAM and Three.js, all it takes is a text editor and mobile browser. Sure, Unity is awesome for creating mobile VR apps, but not everybody has the budget and time to master a pro tool, or pay a pro game development shop. Let’s say you’re the web team at the Museum of Science in your favorite city. I doubt you have a half million dollars to throw at creating a VR planetarium exhibit. Nope, you’ve got two people, two months and basically no money.

One piece of collateral damage of the current wave of VR development is that many startup shops who want to get into the VR game have to justify their existence with a business model, answering questions like “what’s the killer app?” from a pre-approved list of MBA filter questions – when all they really want to do is create great experiences, albeit perhaps for very small, niche audiences. But the resources required to learn pro tools, master the 3D skills, staff up, and market and sell through app stores is just too capital-intensive to support most of these endeavors. As a result, these teams either fall into the collapsed design space of zombie shooters and VR shopping, or they give up and go home.

What’s the “business model” for a VR fly-fishing site? A 3D generative art piece? A shrine to the goddess Isis? Who the fuck knows? More importantly, who the fuck cares? If making VR becomes as cheap, unfettered, and out of control as building web pages, then nobody will worry about this stuff. Or, as Automatic Jack famously observed: “…the street finds its own uses for things.”

This is the story the big players don’t want you to hear. Time to take it to the streets.

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.

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.

Learning WebGL

Word is starting to get around so I might as well cop to it: as of today I have official taken over as Editor-in-Chief of Learning WebGL. While I fancy myself more a programmer than a journalist, I must say that the opportunity to guide this great site into the future was simply too good to pass up.

Giles Thomas created Learning WebGL in 2009, when WebGL was just getting going. Most browsers didn’t do WebGL yet, and if they did, they did it wrong or they all did it differently. There was no documentation, other than the specification, which is itself based on the public spec for OpenGL ES. To say that the spec is obscure and a tough read for any but the experience 3D graphics programmer would be an understatement. I’m a fairly experienced 3D programmer, and my first look at the spec back in 2010 was nerve wracking. So I googled, and found Learning WebGL.

Giles started the site as a way to teach himself WebGL programming. He wisely chose existing OpenGL tutorials as a starting point and built from there. In the four years since, he has created an awesome resource, the first stop of any programmer’s wanderings through the thicket of information that comprises WebGL development. If Learning WebGL didn’t exist, I’m not sure I could have written my book, or made sense of what Mr. Doob’s Three.js code was doing half of the time. (Open source is great, but unfortunately in this modern world, access to the source has become synonymous with no documentation.)

Giles has given the world a fantastic gift. I hope I am equal to the challenge of maintaining it.

For the “official story” of the site’s leadership change, you can read the press release here.

Three – WAY!

Three.js enjoys continued popularity. Last night we held a WebGL Meetup Featuring Three.js. It was very well attended (I’d say 40 or so) and there were several amazing demos, including an Open Street Maps mashup that showed San Francisco bike routes with elevation (tres important), a new round of awesome and inspiring data visualizations by Theo Armour, a solar system simulation based on real, current data including satellites, and a working, in-production collaborative design system by Sunglass.io. Someone has even ported Three.js to the new Dart language in a project called Three.dart. All demos were written in Three.js and the presenters had nothing but good to say about the open-source library.

I’ve made no secret that I think Three.js has its limitations. It’s not a game engine (though people are starting to talk about writing game engines on Three.js) and IMO I think it could use a lot of optimization and feature work. Still, I believe it’s a great place to get started with WebGL development. And it appears to be getting a lot of mileage, if last night’s meetup is any indication. Check it out.