SlideShare a Scribd company logo
Build (Web)VR
with A-Frame
Robert “Bob” Reyes
COSCUP 2019
18 AUG 2019 | Taipei, Taiwan
#Mozilla
#WebVR #WebXR
About Me
• Mozilla Rep for the PHL since 2011
• CTO at ALIAC.edu.ph
• Technopreneur at TurfSitePH.net
• Technology Columnist at MB.com.ph
• Team Manager at SIPFC.org
• @bobreyes in Twitter
• Dad of Xeon & Haswell
• Firefox user since Version 1.0
Being a Pinoy Mozillian…
What is
Mozilla?
History of Mozilla
On 23 Jan 1998,
Netscape Communications Corp.
created a project called
Mozilla.
Mozilla was launched 31 Mar 1998.
The
Mozilla Manifesto
Mozilla’s Mission
To ensure the Internet is a global
public resource, open &
accessible to all.
An Internet that truly puts people
first, where individuals can
shape their own experience &
are empowered,
safe & independent.
We have a NEW
brand identity…
We have a NEW
brand identity…
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Starting with Firefox 63, all desktop versions of
Firefox include an experimental cookie policy that
blocks cookies & other site data from
third-party tracking resources.
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Mixed Reality
Mozilla Mixed Reality
• Virtual Reality (VR) seems
complicated.
• But with a few JavaScript libraries &
tools, & the power of WebGL, you can
make very nice VR scenes that can
be viewed & shared in a headset like
an Oculus Go or HTC Vive, in a
desktop web browser, or on your
smartphone.
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Mozilla Mixed Reality
• Our mission is to keep the Internet
open to innovators, creators, &
builders on the web.
• Virtual Reality is set to change the
future of web interaction.
• The ability for anyone to access &
enjoy VR experiences is critical.
• This is why Mozilla set out to bring
virtual reality to web browsers, & why
we are enabling WebVR in Firefox.
What is WebVR?
What is WebVR?
Bringing virtual reality tools, standards, &
experiences to the Open Web.
What is WebVR?
• WebVR is an experimental JavaScript API that
provides access to Virtual Reality devices,
such as the Oculus Rift, HTC Vive, Samsung
Gear VR, or Google Cardboard, in your
browser.
• Currently available on:
• Firefox
• Chromium (experimental builds)
• Samsung Internet Browser for Gear VR
What is WebVR?
• WebVR has been instrumental in
democratizing VR -- more people can
experience 3D content without expensive
headsets.
• WebVR is a huge time-saver for content
creators, who need to test & verify that their
work renders well on every viewing platform.
• Having a stable API to work with means 3D
content can find a wider audience -- cuts down
on the rework creators have to do to deliver
A-Frame
What is A-Frame?
• A-Frame is an open-source WebVR framework
for creating virtual reality (VR) experiences with
HTML.
• With A-Frame, you can build VR scenes that
work across smartphones, desktop, the Oculus
Rift/Go, & the room-scale HTC Vive.
• A-Frame is powerful, open source, & is easy
to learn.
What A-Frame is NOT?
• A-Frame is NOT just a 3D scene graph or a
markup language.
• The core is a powerful entity-component
framework that provides a declarative,
extensible, & composable structure to three.js.
A-Frame Features
A-Frame Features
• VR Made Simple
• Just drop in a <script> tag and <a-scene>.
• A-Frame will handle 3D boilerplate, VR setup,
& default controls.
• Nothing to install, no build steps.
A-Frame Features
• Declarative HTML
• HTML is easy to read, understand, & copy-
and-paste.
• A-Frame is accessible to everyone: web
developers, VR enthusiasts, artists, designers,
educators, makers, kids (since it is based on
top of HTML).
A-Frame Features
• Entity-Component Architecture
• A-Frame is a powerful three.js framework,
providing a declarative, composable, reusable
entity-component structure.
• HTML is just the tip of the iceberg.
• Developers have unlimited access to
JavaScript, DOM APIs, three.js, WebVR, &
WebGL.
A-Frame Features
• Cross-Platform VR
• Build VR applications for Vive, Rift, Windows
Mixed Reality, Daydream, GearVR, &
Cardboard with support for all respective
controllers.
• If you don’t have a headset or controllers, it’s
not a problem at all!
• A-Frame still works on standard desktop &
smartphones.
A-Frame Features
• Performance
• A-Frame is optimized from the ground up for
WebVR.
• While A-Frame uses the DOM, its elements
don’t touch the browser layout engine.
• 3D object updates are all done in memory with
little garbage & overhead.
• Large scale WebVR applications have been
done in A-Frame running smoothly at 90fps.
A-Frame Features
• Visual Inspector
• A-Frame provides a handy built-in visual 3D
inspector (<ctrl> + <alt> + i).
A-Frame Features
• Components
• Core components such as geometries,
materials, lights, animations, models,
raycasters, shadows, positional audio, text, &
controls for most major headsets.
• Get even further from the hundreds of
community components including
environment, state, particle systems, physics,
multiuser, oceans, teleportation, super hands,
& augmented reality.
A-Frame Features
• Proven & Scalable
• A-Frame has been used by companies such
as Google, Disney, Samsung, Toyota, Ford,
Chevrolet, Amnesty International, CERN,
NPR, Al Jazeera, The Washington Post, &
NASA.
• Companies such as Google, Microsoft,
Oculus, & Samsung have made contributions
to A-Frame.
A-Frame Hello World
<html>
<script src="https://aframe.io/releases/0.9.0/aframe.min.js">
</script>
<a-scene>
</a-scene>
</html>
A-Frame Hello World
<html>
<script src="https://aframe.io/releases/0.9.0/aframe.min.js">
</script>
<a-scene>
<a-box color="#4CC3D9" position="-1 0.5 -3"
rotation="0 45 0"></a-box>
<a-cylinder color="#FFC65D" position="1 0.75 -3"
radius="0.5" height="1.5"></a-cylinder>
<a-sphere color="#EF2D5E" position="0 1.25 -5"
radius="1.25"></a-sphere>
<a-plane color="#7BC8A4" position="0 0 -4"
rotation="-90 0 0" width="4" height="4"></a-plane>
<a-sky color="#ECECEC"></a-sky>
</a-scene>
</html>
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
https://aframe.io
Works With…
A-Frame Showcase
Made with A-Frame
https://accessmars.withgoogle.com/
Made with A-Frame
https://customise.toyota.com.au/camry/
Made with A-Frame
What is WebXR?
An API that allows developers to create
XR experiences. XR a catch-all term
that spans AR, VR & newly-developed
immersive technologies.
Why WebXR?
• Mixed Reality is going to be a powerful
platform, bringing highly engaging &
emotionally evocative immersive content to the
web.
• Like any new creative medium, we want it to be
widely accessible, so curious viewers can
experience the next generation of digital media
without having to shell out hundreds of dollars
for a high-end viewer.
• For instance, the camera on most mobile
phones can be used to overlay information on
Firefox Reality was specifically designed to tackle all
of the new opportunities (& challenges) that come
with browsing in VR.
Firefox Reality on Oculus Go
Easily create custom 3D environments with
Spoke by Mozilla.
Spoke by Mozilla
• Create 3D social scenes for Hubs.
• Hubs by Mozilla
[https://hubs.mozilla.com/] is an
immersive communication
on any device.
• Beginners can learn Spoke
in 5 minutes.
• Advanced Spoke can be learned
in 10 minutes.
Mozilla’s Unity WebVR Assets are FREE & available
via the Unity Asset Store.
It allows creators to publish & share VR
experiences created in Unity on the Open Web.
Photo from #BrazilJS 2016
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Thank you!
Maraming salamat po!
bob@mozillaph.org

More Related Content

What's hot

Making HTML5 Work Everywhere
Making HTML5 Work EverywhereMaking HTML5 Work Everywhere
Making HTML5 Work Everywhere
Todd Anglin
 
Web Standards And Protocols
Web Standards And ProtocolsWeb Standards And Protocols
Web Standards And Protocols
Steven Cahill
 
Progressive Web Apps. What, why and how
Progressive Web Apps. What, why and howProgressive Web Apps. What, why and how
Progressive Web Apps. What, why and how
Riza Fahmi
 
Instant app Intro
Instant app IntroInstant app Intro
Instant app Intro
Jintin Lin
 
How to do Scalable UI-Heavy Development at a Breakneck Pace
How to do Scalable UI-Heavy Development at a Breakneck PaceHow to do Scalable UI-Heavy Development at a Breakneck Pace
How to do Scalable UI-Heavy Development at a Breakneck Pace
SV Ruby on Rails Meetup
 
IONIC - Hybrid Mobile App Development
IONIC - Hybrid Mobile App DevelopmentIONIC - Hybrid Mobile App Development
IONIC - Hybrid Mobile App Development
Malan Amarasinghe
 
Word Camp Cologne 2016: Session The WordPress 1%
Word Camp Cologne 2016: Session The WordPress 1%Word Camp Cologne 2016: Session The WordPress 1%
Word Camp Cologne 2016: Session The WordPress 1%
Dominic Grzbielok
 
Going Fast on the Mobile Web
Going Fast on the Mobile WebGoing Fast on the Mobile Web
Going Fast on the Mobile Web
Jason Grigsby
 
ICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To App
René Winkelmeyer
 
THE UX OF DATA - VISUALIZATION RESPONSIVE
THE UX OF DATA - VISUALIZATION RESPONSIVETHE UX OF DATA - VISUALIZATION RESPONSIVE
THE UX OF DATA - VISUALIZATION RESPONSIVE
Peter Rozek
 
Styling Your React App
Styling Your React AppStyling Your React App
Styling Your React App
Riza Fahmi
 
Mobile Web High Performance
Mobile Web High PerformanceMobile Web High Performance
Mobile Web High Performance
Maximiliano Firtman
 
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choicesBLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
René Winkelmeyer
 
Flash dead ?
Flash dead ?Flash dead ?
Flash dead ?
Christophe Keromen
 

What's hot (14)

Making HTML5 Work Everywhere
Making HTML5 Work EverywhereMaking HTML5 Work Everywhere
Making HTML5 Work Everywhere
 
Web Standards And Protocols
Web Standards And ProtocolsWeb Standards And Protocols
Web Standards And Protocols
 
Progressive Web Apps. What, why and how
Progressive Web Apps. What, why and howProgressive Web Apps. What, why and how
Progressive Web Apps. What, why and how
 
Instant app Intro
Instant app IntroInstant app Intro
Instant app Intro
 
How to do Scalable UI-Heavy Development at a Breakneck Pace
How to do Scalable UI-Heavy Development at a Breakneck PaceHow to do Scalable UI-Heavy Development at a Breakneck Pace
How to do Scalable UI-Heavy Development at a Breakneck Pace
 
IONIC - Hybrid Mobile App Development
IONIC - Hybrid Mobile App DevelopmentIONIC - Hybrid Mobile App Development
IONIC - Hybrid Mobile App Development
 
Word Camp Cologne 2016: Session The WordPress 1%
Word Camp Cologne 2016: Session The WordPress 1%Word Camp Cologne 2016: Session The WordPress 1%
Word Camp Cologne 2016: Session The WordPress 1%
 
Going Fast on the Mobile Web
Going Fast on the Mobile WebGoing Fast on the Mobile Web
Going Fast on the Mobile Web
 
ICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To App
 
THE UX OF DATA - VISUALIZATION RESPONSIVE
THE UX OF DATA - VISUALIZATION RESPONSIVETHE UX OF DATA - VISUALIZATION RESPONSIVE
THE UX OF DATA - VISUALIZATION RESPONSIVE
 
Styling Your React App
Styling Your React AppStyling Your React App
Styling Your React App
 
Mobile Web High Performance
Mobile Web High PerformanceMobile Web High Performance
Mobile Web High Performance
 
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choicesBLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
 
Flash dead ?
Flash dead ?Flash dead ?
Flash dead ?
 

Similar to Build (Web)VR with A-Frame (COSCUP 2019 Taipei)

Ferguson VR Hackathon - May 6, 2017
Ferguson VR Hackathon - May 6, 2017Ferguson VR Hackathon - May 6, 2017
Ferguson VR Hackathon - May 6, 2017
Roland Olivier Dubois
 
Opera and the Open Web platform
Opera and the Open Web platformOpera and the Open Web platform
Opera and the Open Web platform
Andreas Bovens
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 Workshop
Larson Software Technology
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 Workshop
David Manock
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
davyjones
 
Bruce Lawson Opera Indonesia
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesia
brucelawson
 
Immersed in the Web
Immersed in the WebImmersed in the Web
Building AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScriptBuilding AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScript
FITC
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
Mohanadarshan Vivekanandalingam
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
Christian Heilmann
 
Virtual Reality on the Web
Virtual Reality on the WebVirtual Reality on the Web
Virtual Reality on the Web
Timmy Kokke
 
Build mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform DevBuild mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform Dev
Ian Chen
 
Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014
Ville Ingman
 
移动端Web app开发
移动端Web app开发移动端Web app开发
移动端Web app开发
Zhang Xiaoxue
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
masuland
 
Software development in the modern age
Software development in the modern ageSoftware development in the modern age
Software development in the modern age
Roy Wasse
 
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeThe challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
Caridy Patino
 
Scotland JS 2016 Keynote: The VR Web and the Future of the Browser
Scotland JS 2016 Keynote: The VR Web and the Future of the BrowserScotland JS 2016 Keynote: The VR Web and the Future of the Browser
Scotland JS 2016 Keynote: The VR Web and the Future of the Browser
Liv Erickson
 
2011 07 Malaysia Open Source Conference
2011 07 Malaysia Open Source Conference2011 07 Malaysia Open Source Conference
2011 07 Malaysia Open Source Conference
Gen Kanai
 
Native - Hybrid - Web Mobile Architectures
Native - Hybrid - Web Mobile ArchitecturesNative - Hybrid - Web Mobile Architectures
Native - Hybrid - Web Mobile Architectures
Phong Le Duy
 

Similar to Build (Web)VR with A-Frame (COSCUP 2019 Taipei) (20)

Ferguson VR Hackathon - May 6, 2017
Ferguson VR Hackathon - May 6, 2017Ferguson VR Hackathon - May 6, 2017
Ferguson VR Hackathon - May 6, 2017
 
Opera and the Open Web platform
Opera and the Open Web platformOpera and the Open Web platform
Opera and the Open Web platform
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 Workshop
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 Workshop
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
Bruce Lawson Opera Indonesia
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesia
 
Immersed in the Web
Immersed in the WebImmersed in the Web
Immersed in the Web
 
Building AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScriptBuilding AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScript
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 
Virtual Reality on the Web
Virtual Reality on the WebVirtual Reality on the Web
Virtual Reality on the Web
 
Build mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform DevBuild mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform Dev
 
Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014
 
移动端Web app开发
移动端Web app开发移动端Web app开发
移动端Web app开发
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
 
Software development in the modern age
Software development in the modern ageSoftware development in the modern age
Software development in the modern age
 
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeThe challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
 
Scotland JS 2016 Keynote: The VR Web and the Future of the Browser
Scotland JS 2016 Keynote: The VR Web and the Future of the BrowserScotland JS 2016 Keynote: The VR Web and the Future of the Browser
Scotland JS 2016 Keynote: The VR Web and the Future of the Browser
 
2011 07 Malaysia Open Source Conference
2011 07 Malaysia Open Source Conference2011 07 Malaysia Open Source Conference
2011 07 Malaysia Open Source Conference
 
Native - Hybrid - Web Mobile Architectures
Native - Hybrid - Web Mobile ArchitecturesNative - Hybrid - Web Mobile Architectures
Native - Hybrid - Web Mobile Architectures
 

More from Robert 'Bob' Reyes

Localization at Mozilla
Localization at MozillaLocalization at Mozilla
Localization at Mozilla
Robert 'Bob' Reyes
 
Firefox Dev Tools for WordPress Developers (WordCamp Iloilo 2019)
Firefox Dev Tools for WordPress Developers (WordCamp Iloilo 2019)Firefox Dev Tools for WordPress Developers (WordCamp Iloilo 2019)
Firefox Dev Tools for WordPress Developers (WordCamp Iloilo 2019)
Robert 'Bob' Reyes
 
Challenges & Opportunities the Data Privacy Act Brings
Challenges & Opportunities the Data Privacy Act BringsChallenges & Opportunities the Data Privacy Act Brings
Challenges & Opportunities the Data Privacy Act Brings
Robert 'Bob' Reyes
 
Rust 101 (2017 edition)
Rust 101 (2017 edition)Rust 101 (2017 edition)
Rust 101 (2017 edition)
Robert 'Bob' Reyes
 
Building a Rust Community from Scratch (COSCUP 2017)
Building a Rust Community from Scratch (COSCUP 2017)Building a Rust Community from Scratch (COSCUP 2017)
Building a Rust Community from Scratch (COSCUP 2017)
Robert 'Bob' Reyes
 
Mozilla + Rust at PCU Manila 02 DEC 2016
Mozilla + Rust at PCU Manila 02 DEC 2016Mozilla + Rust at PCU Manila 02 DEC 2016
Mozilla + Rust at PCU Manila 02 DEC 2016
Robert 'Bob' Reyes
 
MozillaPH Localization in 2016
MozillaPH Localization in 2016MozillaPH Localization in 2016
MozillaPH Localization in 2016
Robert 'Bob' Reyes
 
Mozilla & Connected Devices
Mozilla & Connected DevicesMozilla & Connected Devices
Mozilla & Connected Devices
Robert 'Bob' Reyes
 
HTML 5 - The Future is Now
HTML 5 - The Future is NowHTML 5 - The Future is Now
HTML 5 - The Future is Now
Robert 'Bob' Reyes
 
MozillaPH Rust Hack & Learn Session 2
MozillaPH Rust Hack & Learn Session 2MozillaPH Rust Hack & Learn Session 2
MozillaPH Rust Hack & Learn Session 2
Robert 'Bob' Reyes
 
MozillaPH Rust Hack & Learn Session 1
MozillaPH Rust Hack & Learn Session 1MozillaPH Rust Hack & Learn Session 1
MozillaPH Rust Hack & Learn Session 1
Robert 'Bob' Reyes
 
Introduction to Rust Programming Language
Introduction to Rust Programming LanguageIntroduction to Rust Programming Language
Introduction to Rust Programming Language
Robert 'Bob' Reyes
 
MozillaPH Rust Users Group Kick Off Meeting
MozillaPH Rust Users Group Kick Off MeetingMozillaPH Rust Users Group Kick Off Meeting
MozillaPH Rust Users Group Kick Off Meeting
Robert 'Bob' Reyes
 
Getting started on MDN (Mozilla Developer Network)
Getting started on MDN (Mozilla Developer Network)Getting started on MDN (Mozilla Developer Network)
Getting started on MDN (Mozilla Developer Network)
Robert 'Bob' Reyes
 
Connected Devices, MozVR & Firefox Developer Tools
Connected Devices, MozVR & Firefox Developer ToolsConnected Devices, MozVR & Firefox Developer Tools
Connected Devices, MozVR & Firefox Developer Tools
Robert 'Bob' Reyes
 
Mozilla & the Open Web
Mozilla & the Open WebMozilla & the Open Web
Mozilla & the Open Web
Robert 'Bob' Reyes
 
Firefox OS
Firefox OSFirefox OS
Firefox OS
Robert 'Bob' Reyes
 
MozTour University of Perpetual Help System - Laguna (Binan)
MozTour University of Perpetual Help System - Laguna (Binan)MozTour University of Perpetual Help System - Laguna (Binan)
MozTour University of Perpetual Help System - Laguna (Binan)
Robert 'Bob' Reyes
 
Firefox 101 (FSA Camp Philippines 2015)
Firefox 101 (FSA Camp Philippines 2015)Firefox 101 (FSA Camp Philippines 2015)
Firefox 101 (FSA Camp Philippines 2015)
Robert 'Bob' Reyes
 
FOSSASIA 2015: Building an Open Source Community
FOSSASIA 2015: Building an Open Source CommunityFOSSASIA 2015: Building an Open Source Community
FOSSASIA 2015: Building an Open Source Community
Robert 'Bob' Reyes
 

More from Robert 'Bob' Reyes (20)

Localization at Mozilla
Localization at MozillaLocalization at Mozilla
Localization at Mozilla
 
Firefox Dev Tools for WordPress Developers (WordCamp Iloilo 2019)
Firefox Dev Tools for WordPress Developers (WordCamp Iloilo 2019)Firefox Dev Tools for WordPress Developers (WordCamp Iloilo 2019)
Firefox Dev Tools for WordPress Developers (WordCamp Iloilo 2019)
 
Challenges & Opportunities the Data Privacy Act Brings
Challenges & Opportunities the Data Privacy Act BringsChallenges & Opportunities the Data Privacy Act Brings
Challenges & Opportunities the Data Privacy Act Brings
 
Rust 101 (2017 edition)
Rust 101 (2017 edition)Rust 101 (2017 edition)
Rust 101 (2017 edition)
 
Building a Rust Community from Scratch (COSCUP 2017)
Building a Rust Community from Scratch (COSCUP 2017)Building a Rust Community from Scratch (COSCUP 2017)
Building a Rust Community from Scratch (COSCUP 2017)
 
Mozilla + Rust at PCU Manila 02 DEC 2016
Mozilla + Rust at PCU Manila 02 DEC 2016Mozilla + Rust at PCU Manila 02 DEC 2016
Mozilla + Rust at PCU Manila 02 DEC 2016
 
MozillaPH Localization in 2016
MozillaPH Localization in 2016MozillaPH Localization in 2016
MozillaPH Localization in 2016
 
Mozilla & Connected Devices
Mozilla & Connected DevicesMozilla & Connected Devices
Mozilla & Connected Devices
 
HTML 5 - The Future is Now
HTML 5 - The Future is NowHTML 5 - The Future is Now
HTML 5 - The Future is Now
 
MozillaPH Rust Hack & Learn Session 2
MozillaPH Rust Hack & Learn Session 2MozillaPH Rust Hack & Learn Session 2
MozillaPH Rust Hack & Learn Session 2
 
MozillaPH Rust Hack & Learn Session 1
MozillaPH Rust Hack & Learn Session 1MozillaPH Rust Hack & Learn Session 1
MozillaPH Rust Hack & Learn Session 1
 
Introduction to Rust Programming Language
Introduction to Rust Programming LanguageIntroduction to Rust Programming Language
Introduction to Rust Programming Language
 
MozillaPH Rust Users Group Kick Off Meeting
MozillaPH Rust Users Group Kick Off MeetingMozillaPH Rust Users Group Kick Off Meeting
MozillaPH Rust Users Group Kick Off Meeting
 
Getting started on MDN (Mozilla Developer Network)
Getting started on MDN (Mozilla Developer Network)Getting started on MDN (Mozilla Developer Network)
Getting started on MDN (Mozilla Developer Network)
 
Connected Devices, MozVR & Firefox Developer Tools
Connected Devices, MozVR & Firefox Developer ToolsConnected Devices, MozVR & Firefox Developer Tools
Connected Devices, MozVR & Firefox Developer Tools
 
Mozilla & the Open Web
Mozilla & the Open WebMozilla & the Open Web
Mozilla & the Open Web
 
Firefox OS
Firefox OSFirefox OS
Firefox OS
 
MozTour University of Perpetual Help System - Laguna (Binan)
MozTour University of Perpetual Help System - Laguna (Binan)MozTour University of Perpetual Help System - Laguna (Binan)
MozTour University of Perpetual Help System - Laguna (Binan)
 
Firefox 101 (FSA Camp Philippines 2015)
Firefox 101 (FSA Camp Philippines 2015)Firefox 101 (FSA Camp Philippines 2015)
Firefox 101 (FSA Camp Philippines 2015)
 
FOSSASIA 2015: Building an Open Source Community
FOSSASIA 2015: Building an Open Source CommunityFOSSASIA 2015: Building an Open Source Community
FOSSASIA 2015: Building an Open Source Community
 

Recently uploaded

Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
Building an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and MilvusBuilding an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and Milvus
Zilliz
 
this resume for sadika shaikh bca student
this resume for sadika shaikh bca studentthis resume for sadika shaikh bca student
this resume for sadika shaikh bca student
SadikaShaikh7
 
Supercomputing from the Desktop Workstation
Supercomputingfrom the Desktop WorkstationSupercomputingfrom the Desktop Workstation
Supercomputing from the Desktop Workstation
Larry Smarr
 
Kubernetes Cloud Native Indonesia Meetup - June 2024
Kubernetes Cloud Native Indonesia Meetup - June 2024Kubernetes Cloud Native Indonesia Meetup - June 2024
Kubernetes Cloud Native Indonesia Meetup - June 2024
Prasta Maha
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
Summer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdf
Summer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdfSummer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdf
Summer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdf
Anna Loughnan Colquhoun
 
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
Edge AI and Vision Alliance
 
Chapter 4 - Test Analysis & Design Techniques V4.0
Chapter 4 - Test Analysis & Design Techniques V4.0Chapter 4 - Test Analysis & Design Techniques V4.0
Chapter 4 - Test Analysis & Design Techniques V4.0
Neeraj Kumar Singh
 
Leveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptxLeveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptx
petabridge
 
Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0
Neeraj Kumar Singh
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
The Digital Insurer
 
AI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AIAI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AI
Raphaël Semeteys
 
Data Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber SecurityData Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber Security
anupriti
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
Artificial Intelligence (AI), Robotics and Computational fluid dynamics
Artificial Intelligence (AI), Robotics and Computational fluid dynamicsArtificial Intelligence (AI), Robotics and Computational fluid dynamics
Artificial Intelligence (AI), Robotics and Computational fluid dynamics
Chintan Kalsariya
 
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
ScyllaDB
 
How to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance ProblemsHow to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance Problems
ScyllaDB
 
intra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_Enintra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_En
NTTDATA INTRAMART
 
New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024
ThousandEyes
 

Recently uploaded (20)

Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
Building an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and MilvusBuilding an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and Milvus
 
this resume for sadika shaikh bca student
this resume for sadika shaikh bca studentthis resume for sadika shaikh bca student
this resume for sadika shaikh bca student
 
Supercomputing from the Desktop Workstation
Supercomputingfrom the Desktop WorkstationSupercomputingfrom the Desktop Workstation
Supercomputing from the Desktop Workstation
 
Kubernetes Cloud Native Indonesia Meetup - June 2024
Kubernetes Cloud Native Indonesia Meetup - June 2024Kubernetes Cloud Native Indonesia Meetup - June 2024
Kubernetes Cloud Native Indonesia Meetup - June 2024
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
Summer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdf
Summer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdfSummer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdf
Summer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdf
 
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
 
Chapter 4 - Test Analysis & Design Techniques V4.0
Chapter 4 - Test Analysis & Design Techniques V4.0Chapter 4 - Test Analysis & Design Techniques V4.0
Chapter 4 - Test Analysis & Design Techniques V4.0
 
Leveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptxLeveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptx
 
Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
AI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AIAI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AI
 
Data Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber SecurityData Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber Security
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
Artificial Intelligence (AI), Robotics and Computational fluid dynamics
Artificial Intelligence (AI), Robotics and Computational fluid dynamicsArtificial Intelligence (AI), Robotics and Computational fluid dynamics
Artificial Intelligence (AI), Robotics and Computational fluid dynamics
 
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
 
How to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance ProblemsHow to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance Problems
 
intra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_Enintra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_En
 
New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024
 

Build (Web)VR with A-Frame (COSCUP 2019 Taipei)

  • 1. Build (Web)VR with A-Frame Robert “Bob” Reyes COSCUP 2019 18 AUG 2019 | Taipei, Taiwan #Mozilla #WebVR #WebXR
  • 2. About Me • Mozilla Rep for the PHL since 2011 • CTO at ALIAC.edu.ph • Technopreneur at TurfSitePH.net • Technology Columnist at MB.com.ph • Team Manager at SIPFC.org • @bobreyes in Twitter • Dad of Xeon & Haswell • Firefox user since Version 1.0
  • 3. Being a Pinoy Mozillian…
  • 5. History of Mozilla On 23 Jan 1998, Netscape Communications Corp. created a project called Mozilla. Mozilla was launched 31 Mar 1998.
  • 7. Mozilla’s Mission To ensure the Internet is a global public resource, open & accessible to all. An Internet that truly puts people first, where individuals can shape their own experience & are empowered, safe & independent.
  • 8. We have a NEW brand identity…
  • 9. We have a NEW brand identity…
  • 12. Starting with Firefox 63, all desktop versions of Firefox include an experimental cookie policy that blocks cookies & other site data from third-party tracking resources.
  • 16. Mozilla Mixed Reality • Virtual Reality (VR) seems complicated. • But with a few JavaScript libraries & tools, & the power of WebGL, you can make very nice VR scenes that can be viewed & shared in a headset like an Oculus Go or HTC Vive, in a desktop web browser, or on your smartphone.
  • 18. Mozilla Mixed Reality • Our mission is to keep the Internet open to innovators, creators, & builders on the web. • Virtual Reality is set to change the future of web interaction. • The ability for anyone to access & enjoy VR experiences is critical. • This is why Mozilla set out to bring virtual reality to web browsers, & why we are enabling WebVR in Firefox.
  • 20. What is WebVR? Bringing virtual reality tools, standards, & experiences to the Open Web.
  • 21. What is WebVR? • WebVR is an experimental JavaScript API that provides access to Virtual Reality devices, such as the Oculus Rift, HTC Vive, Samsung Gear VR, or Google Cardboard, in your browser. • Currently available on: • Firefox • Chromium (experimental builds) • Samsung Internet Browser for Gear VR
  • 22. What is WebVR? • WebVR has been instrumental in democratizing VR -- more people can experience 3D content without expensive headsets. • WebVR is a huge time-saver for content creators, who need to test & verify that their work renders well on every viewing platform. • Having a stable API to work with means 3D content can find a wider audience -- cuts down on the rework creators have to do to deliver
  • 24. What is A-Frame? • A-Frame is an open-source WebVR framework for creating virtual reality (VR) experiences with HTML. • With A-Frame, you can build VR scenes that work across smartphones, desktop, the Oculus Rift/Go, & the room-scale HTC Vive. • A-Frame is powerful, open source, & is easy to learn.
  • 25. What A-Frame is NOT? • A-Frame is NOT just a 3D scene graph or a markup language. • The core is a powerful entity-component framework that provides a declarative, extensible, & composable structure to three.js.
  • 27. A-Frame Features • VR Made Simple • Just drop in a <script> tag and <a-scene>. • A-Frame will handle 3D boilerplate, VR setup, & default controls. • Nothing to install, no build steps.
  • 28. A-Frame Features • Declarative HTML • HTML is easy to read, understand, & copy- and-paste. • A-Frame is accessible to everyone: web developers, VR enthusiasts, artists, designers, educators, makers, kids (since it is based on top of HTML).
  • 29. A-Frame Features • Entity-Component Architecture • A-Frame is a powerful three.js framework, providing a declarative, composable, reusable entity-component structure. • HTML is just the tip of the iceberg. • Developers have unlimited access to JavaScript, DOM APIs, three.js, WebVR, & WebGL.
  • 30. A-Frame Features • Cross-Platform VR • Build VR applications for Vive, Rift, Windows Mixed Reality, Daydream, GearVR, & Cardboard with support for all respective controllers. • If you don’t have a headset or controllers, it’s not a problem at all! • A-Frame still works on standard desktop & smartphones.
  • 31. A-Frame Features • Performance • A-Frame is optimized from the ground up for WebVR. • While A-Frame uses the DOM, its elements don’t touch the browser layout engine. • 3D object updates are all done in memory with little garbage & overhead. • Large scale WebVR applications have been done in A-Frame running smoothly at 90fps.
  • 32. A-Frame Features • Visual Inspector • A-Frame provides a handy built-in visual 3D inspector (<ctrl> + <alt> + i).
  • 33. A-Frame Features • Components • Core components such as geometries, materials, lights, animations, models, raycasters, shadows, positional audio, text, & controls for most major headsets. • Get even further from the hundreds of community components including environment, state, particle systems, physics, multiuser, oceans, teleportation, super hands, & augmented reality.
  • 34. A-Frame Features • Proven & Scalable • A-Frame has been used by companies such as Google, Disney, Samsung, Toyota, Ford, Chevrolet, Amnesty International, CERN, NPR, Al Jazeera, The Washington Post, & NASA. • Companies such as Google, Microsoft, Oculus, & Samsung have made contributions to A-Frame.
  • 35. A-Frame Hello World <html> <script src="https://aframe.io/releases/0.9.0/aframe.min.js"> </script> <a-scene> </a-scene> </html>
  • 36. A-Frame Hello World <html> <script src="https://aframe.io/releases/0.9.0/aframe.min.js"> </script> <a-scene> <a-box color="#4CC3D9" position="-1 0.5 -3" rotation="0 45 0"></a-box> <a-cylinder color="#FFC65D" position="1 0.75 -3" radius="0.5" height="1.5"></a-cylinder> <a-sphere color="#EF2D5E" position="0 1.25 -5" radius="1.25"></a-sphere> <a-plane color="#7BC8A4" position="0 0 -4" rotation="-90 0 0" width="4" height="4"></a-plane> <a-sky color="#ECECEC"></a-sky> </a-scene> </html>
  • 44. What is WebXR? An API that allows developers to create XR experiences. XR a catch-all term that spans AR, VR & newly-developed immersive technologies.
  • 45. Why WebXR? • Mixed Reality is going to be a powerful platform, bringing highly engaging & emotionally evocative immersive content to the web. • Like any new creative medium, we want it to be widely accessible, so curious viewers can experience the next generation of digital media without having to shell out hundreds of dollars for a high-end viewer. • For instance, the camera on most mobile phones can be used to overlay information on
  • 46. Firefox Reality was specifically designed to tackle all of the new opportunities (& challenges) that come with browsing in VR.
  • 47. Firefox Reality on Oculus Go
  • 48. Easily create custom 3D environments with Spoke by Mozilla.
  • 49. Spoke by Mozilla • Create 3D social scenes for Hubs. • Hubs by Mozilla [https://hubs.mozilla.com/] is an immersive communication on any device. • Beginners can learn Spoke in 5 minutes. • Advanced Spoke can be learned in 10 minutes.
  • 50. Mozilla’s Unity WebVR Assets are FREE & available via the Unity Asset Store. It allows creators to publish & share VR experiences created in Unity on the Open Web.
  • 53. Thank you! Maraming salamat po! bob@mozillaph.org

Editor's Notes

  1. Mixed Reality for the Open Web
  2. Firefox Reality in Oculus Go
  3. - IDE for Rust
  4. - IDE for Rust