Presentation check :

  1. hide URL / fullscreen
  2. start 45min timer

WebVR - NYVR Expo, October 2017

https://fabien.benetou.fr/Testing/NYVRExpoOctober2017?action=reveal


Fabien Benetou @Utopiah, WebVR developer

I can't ...

go to Mars, I can't scuba dive in the Marianne trenches, I can't juggle 4-dimensional toys, I can't hike in hyperbolic space, I can't organize my thoughts by moving them in space,

VR in itself does not matter.

How it impacts your daily life and the daily life of those around you when you come back does matter.

What's VR? Fooling your senses, giving up temporarily control to explore another reality

Why does open source matter in VR? You're basically strapping a state of the art all black device full of electronics running on software

fabien@holodeck:~$ sudo su
[sudo] password for fabien: 
Sorry, try again.
[sudo] password for fabien: 
Sorry, try again.
[sudo] password for fabien: 
sudo: 3 incorrect password attempts
fabien@holodeck:~$

What did I do about it (knowing I'm not such a great coder)?

working on my personal project (PIMVR) without letting others experience an obscure technology (VRLab Brussels workshops)

Why I'm contributing to Mozilla? Because I have to know how it works and that, whenever I need, I can modify a piece, something fundamental in your daily life yet even more in VR since you as a developer and artist literally shape a new reality

fabien@holodeck:~$ sudo su
[sudo] password for fabien: 
root@holodeck:/home/fabien#

Being a Mozilla contributor (A-Frame/A-painter PR, issues, docs, organize WebXR events, dozen of workshops... but mostly just chatting on Slack!)

+ WebVR freelancer (PoC P&G, AirBus, European Parliament, startups, workshops)
+ WebVR startup co-founder (imec.istart 2017 incubee)

~200 WebVR demos

... and now that I spent all that time learning, building, creating I want to SHARE what I made!

the problems

walled gardens

quality as an excuse

get trumped by distribution

building difficulties

compounding

compounding again

the solution

What is there was a platform that all devices supported? Introducing WebVR.

all browsers

Actually the web is better than native, it is not a "low resolution port".

  • ✓ Yes you can do WebVR PWAs.
  • ✓ Yes you can do VR-to-VR transitions (without passing by the store, with passing data!)

Going from one experience to the next, without leaving VR.

Getting network nearly for free

with new challenges

Including new hardware, controllers

but also new opportunities

faster process

new tools

Frameworks

  • A-Frame
  • Vizor
  • ReactVR
  • BabylonJS
  • threejs
  • others

A-Frame

A-Frame + A-Frame inspector + A-Frame repository + A-painter + A-whatever-you-want ?

What if ... we didn't even need to know anything to make VR content?

A-painter (also as prototyping tool)

A-Frame inspector

A-Frame

A-Frame

Live coding, aka how to look silly in public.

(we'll keep it for the end, IF you don't ask too many questions ;)

A-Frame (bis)

Turtles 🐢 Shaders all the way down

A-Frame repository

A-whatever-you-want?

Case study on the power of URLs

A-Frame, the stack

from CustomElement to GLSL

demo

https://github.com/aframevr/aframe MIT License

Including other tools e.g. inspector, extended inspector, Hologram.cool (Mac), etc

Vizor

https://github.com/vizorvr/patches MIT License

Honest review of using ReactVR

ReactVR

 import {AppRegistry, Pano, Text, View} from 'react-vr';
 class WelcomeToVR extends React.Component { /* ... */ }

https://facebook.github.io/react-vr/

quick demo

https://github.com/facebook/react-vr MIT License

PlayCanvas

 var v = new pc.Vec3();

https://developer.playcanvas.com/en/api/

https://github.com/playcanvas/engine MIT License

BabylonJS

lead by Microsoft

https://github.com/BabylonJS/Babylon.js Apache 2.0

three.js

 var cameraVR = new ArrayCamera( [ cameraL, cameraR ] );

https://threejs.org/editor/ (with its VR option)

https://github.com/mrdoob/three.js/blob/master/src/renderers/webvr/WebVRManager.js

https://github.com/mrdoob/three.js/ MIT License

Others

comparison

  • What problem am I trying to solve?
  • What hardware is actually required to solve it?
  • What's my audience?
  • What hardware does my audience use?
  • Is it a match?
  • What can I do when the framework fails to support what I need?
    • docs, community, extensibility, etc

Only then picking a framework (and eventually its browser) makes sense.

Framework checklist

  • ☑ demos done by the community, NOT the framework author
  • ☑ license and governance (e.g what does "lead by [large software vendor]" implies
  • ☑ test suite (Selenium? nothing?) to handle a moving target
  • ☑ active community
  • ☑ PR acceptance pace and rate
  • ☑ W3C and overall specification involvement

What's still coming

  • WebAR
  • WebXR
  • WebVR 2.0
    • with AR extension?
  • W3C workshop in Brussels

Past recurrent Q&A:

  • Mobile?
  • Performance? GPU usage? What GPU should I buy?
  • cardboard costs
  • AFrame vs Apainter
  • Will 360 videos replace traditional films?
  • What are the usages of VR?
  • Is AR better than VR?
  • Is VR just for training/education?

Your question?

WebVR - NYVR Expo, October 2017

Just today : https://LearnWebVR.xyz

Permanent: https://fabien.benetou.fr/Testing/NYVRExpoOctober2017?action=reveal


Fabien Benetou @Utopiah, WebVR developer