WebXR? Virtual Reality and Augmented Reality Natively on Browsers

Rate this content
Bookmark

FAQ

The purpose of Erik's presentation is to demonstrate how to work with WebXR, create experiments, and motivate developers to explore and build their own projects using WebXR technology.

Attendees are encouraged to take pictures, mention Erik and the event, publish their questions or suggestions on Slido, and experiment with the content presented during the session.

WebXR is a technology that enables both augmented reality (AR) and virtual reality (VR) experiences in web browsers. It allows developers to create immersive experiences that can run on various devices, including MetaQuest, mobile phones, and more.

Erik mentions using A-frame, 3JS, and various emulators like 8th Wall for developing WebXR projects. These tools help in creating AR and VR experiences more efficiently.

Erik advises caution when developing for VR as it can be dangerous. He shares personal experiences of accidentally hitting objects or people while immersed in VR, highlighting the importance of being aware of one's surroundings.

Developers can start experimenting with WebXR by using tools like A-frame, exploring open-source projects on platforms like SideQuest, and leveraging emulators to test their applications before deployment.

Apple Vision supports WebXR, allowing developers to create applications that can run on this new device. This development opens up new possibilities for immersive experiences and positions developers at the forefront of this emerging technology.

Erik suggests using stores that offer free or purchasable assets and animations, such as Mixamo for animations and other online repositories for 3D models and textures.

WebXR abstracts over platform conventions by providing fallbacks for various device capabilities. If a device lacks certain features like LiDAR or WebGL, WebXR utilizes alternative methods to ensure the experience works, albeit with potentially lower quality graphics.

Erik believes now is a great time for WebXR development because the technology is evolving, there are extensive web APIs available, and the community is supportive. Additionally, the field is still relatively new, offering opportunities for developers to become pioneers and establish themselves as experts.

Erick Wendel
Erick Wendel
25 min
15 Jun, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
This Talk introduces WebXR and VR experiments, showcasing examples and encouraging audience engagement. It explores the possibilities of WebXR and AR games, emphasizing the versatility of A-frame for creating AR and VR projects. The Talk also covers asset customization, animations, and augmented reality using LiDAR scanners. It highlights different types of virtual reality experiences and the potential of Apple Vision with WebXR. The speaker emphasizes the importance of community, developer experience, and starting early in WebXR development.

1. Introduction to WebXR and VR Experiments

Short description:

I'm going to show you examples of working with WebXR and creating your own experiments. Take pictures, mention me and the event. Who's the first time at C3? Enjoy the talk and feel free to ask questions or make suggestions. Have you played with VR or coded something for VR? Have you played Pokemon Go? Let's think outside the box, use software as a hobby, improve our CV, and have fun with technology. I'll show you a bunch of possibilities. I bought the MetaQuest and want to code with it. Let me show you experiences that have been around for 40 years. Have you played with Google Cardboard? VR graphics and experience can be improved.

So, I'm going to show you a bunch of examples of how you can work with WebXR, create your own experiments. So please, take as many pictures as you can, mention me, mention the event. This helps us a lot with the work we've been doing right here.

Okay, who's the first time at C3? C3 conference. Wow, that's amazing. Yeah. Oh, a lot of people. So yeah, I hope you enjoy this. This is my third time in Amsterdam. I was in JS Nation and this is one of my favorite people ever because people are always interacting. So, feel free to publish your questions later or your suggestions too on Slido and it's going to help a lot.

Okay, who has played with virtual reality before? Nice. Who actually coded something to VR? Ooh, that's nice. I saw that they have a prize now, right, for a meta quest. So, probably we're going to get a lot of ideas if you want this. Let me know later what you're going to build. What about augmented reality? Has anyone still played Pokemon Go? Ooh, I see a lot of faces like, oh no, I'm not sure you know this. No, Pokemon Go is fine. It's pretty nice. Okay, I hope you guys are not like this in the future, like people walking around and this is going pretty viral but I don't know about you but I feel very weird like people walking the streets with those glasses, but it's pretty amazing.

Okay, as always, my talks, we're going to have just 20 minutes here. So, all the content I prepared here you can follow along later, create your own experiments, but I want to show you some things so you can keep in mind throughout the whole presentation. So, one of my goals here is for you to motivate you to create your own experiments. This is not just to watch, okay, you can get there, clone the projects, and try out at home. And here I would say let's think outside the box, right, let's try working outside our 9 to 6 PM work, let's try using software as our hobby because this is what the way we are improving our CV, or actually just having fun with JavaScript and having fun with technology in general. And I would say this is something like for me, people say, wow, I don't code after work, but no, we can use it as something fun as well and I'm going to show you a bunch of possibilities.

Okay, so I bought the MetaQuest a few times, not long time ago, and I was like, wow, I want to code with this, I want to try something out, but I haven't seen many web developers talking about this. It was pretty rare, I don't know if you noticed but during conferences it's very rare to see this. However, those experiences, they are there for like 40 years and this is something that I'm going to show you today. Who here has played with the Google Cardboard, who had this before? Well, I had this one and it was pretty terrible, I don't know about you, like I felt a bit dizzy, and in my opinion, well, virtual reality, the graphics are not so good, the experience is not so good, so I wasn't paying so much attention to this.

2. Exploring WebXR and AR Games

Short description:

Uncle Zuckenberg playing with this, I noticed a world of possibilities in WebXR and AR games. I bought the MetaQuest 2 and discovered an independent developer store with open-source games. Beat Saber was too expensive, but I found Moon Rider with WebXR support. The graphics and experiences felt like a native application. It's a simple and immersive game. JavaScript opens up a lot of possibilities. This technology is dangerous, so be careful when developing.

And when I saw Uncle Zuckenberg playing with this, I was like, come on, we are in 2024, this graphics is like Nintendo Wii, way long before, he's betting a lot on Metaverse, but I felt like, no, this is just hype or something. Although I saw this game, come on, look how beautiful is this, there are a bunch of graphics there, the animations, and it's pretty beautiful. So when I noticed this I was like, wow, there's a world here that I'm not seeing. And I got even crazier when I saw this AR game. So you can have your characters, the monsters going through your furniture, analyze your environment and so on. So I was like, wow, there's a lot of attention here and I can start working with it. So back then I bought the MetaQuest 2. So this MetaQuest 2, I think is obsolete right now, but it's the one I could buy back then, but it works pretty fine. So when I started playing with it, I started asking my friends, well, what should I do? And then I found out this store, which is, I would say, for independent developers, most of the games and applications here, they are open source, so you can start using right away. And here you can also pay the developers as well. And most of the games here, they use C sharp and they use unit to create all those things. I started asking my friends, well, what game should I use or what experiences should I try on, on my virtual reality glasses? They're like, go on Beat Saber. When I saw the price I was like, oh, no, I won't buy this, it's too expensive. And then I was trying to figure out other games and I found this one, Moon Rider. When I found this game, I saw a very interesting button, WebXR. So my mind exploded, wow, WebXR, this means this game or this experience is going to be executed in the browser. And this means that I can run in my browser, I can run on MetaQuest, on mobile phone, in whatever places I want. So how was it? So Moon Rider here, it's a reinterpretation of the game. And for me it was amazing because the graphics and the experiences, I felt as a native application. I couldn't find any lags. So here I'm just showing how the graphics is. It's pretty simple, it works really fine. I'm going to just jump a bit in the future to see it playing. But yeah, you have the same experience, same immersion you were seeing back then. I'm just a bad player here, but it works just fine. So I was like, wow, there's a lot of possibilities here. JavaScript running there, I don't know, let's search more. What about this kind of thing? Before we go on, I would say this kind of technology is dangerous. It's pretty dangerous. So take care when you're developing something, you're creating something, because accidents might happen.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

A Framework for Managing Technical Debt
TechLead Conference 2023TechLead Conference 2023
35 min
A Framework for Managing Technical Debt
Top Content
Today's Talk discusses the importance of managing technical debt through refactoring practices, prioritization, and planning. Successful refactoring requires establishing guidelines, maintaining an inventory, and implementing a process. Celebrating success and ensuring resilience are key to building a strong refactoring culture. Visibility, support, and transparent communication are crucial for addressing technical debt effectively. The team's responsibilities, operating style, and availability should be transparent to product managers.
Debugging JS
React Summit 2023React Summit 2023
24 min
Debugging JS
Top Content
Watch video: Debugging JS
Debugging JavaScript is a crucial skill that is often overlooked in the industry. It is important to understand the problem, reproduce the issue, and identify the root cause. Having a variety of debugging tools and techniques, such as console methods and graphical debuggers, is beneficial. Replay is a time-traveling debugger for JavaScript that allows users to record and inspect bugs. It works with Redux, plain React, and even minified code with the help of source maps.
Building a Voice-Enabled AI Assistant With Javascript
JSNation 2023JSNation 2023
21 min
Building a Voice-Enabled AI Assistant With Javascript
Top Content
This Talk discusses building a voice-activated AI assistant using web APIs and JavaScript. It covers using the Web Speech API for speech recognition and the speech synthesis API for text to speech. The speaker demonstrates how to communicate with the Open AI API and handle the response. The Talk also explores enabling speech recognition and addressing the user. The speaker concludes by mentioning the possibility of creating a product out of the project and using Tauri for native desktop-like experiences.
A Practical Guide for Migrating to Server Components
React Advanced 2023React Advanced 2023
28 min
A Practical Guide for Migrating to Server Components
Top Content
Watch video: A Practical Guide for Migrating to Server Components
React query version five is live and we'll be discussing the migration process to server components using Next.js and React Query. The process involves planning, preparing, and setting up server components, migrating pages, adding layouts, and moving components to the server. We'll also explore the benefits of server components such as reducing JavaScript shipping, enabling powerful caching, and leveraging the features of the app router. Additionally, we'll cover topics like handling authentication, rendering in server components, and the impact on server load and costs.
Power Fixing React Performance Woes
React Advanced 2023React Advanced 2023
22 min
Power Fixing React Performance Woes
Top Content
Watch video: Power Fixing React Performance Woes
This Talk discusses various strategies to improve React performance, including lazy loading iframes, analyzing and optimizing bundles, fixing barrel exports and tree shaking, removing dead code, and caching expensive computations. The speaker shares their experience in identifying and addressing performance issues in a real-world application. They also highlight the importance of regularly auditing webpack and bundle analyzers, using tools like Knip to find unused code, and contributing improvements to open source libraries.
Monolith to Micro-Frontends
React Advanced 2022React Advanced 2022
22 min
Monolith to Micro-Frontends
Top Content
Microfrontends are considered as a solution to the problems of exponential growth, code duplication, and unclear ownership in older applications. Transitioning from a monolith to microfrontends involves decoupling the system and exploring options like a modular monolith. Microfrontends enable independent deployments and runtime composition, but there is a discussion about the alternative of keeping an integrated application composed at runtime. Choosing a composition model and a router are crucial decisions in the technical plan. The Strangler pattern and the reverse Strangler pattern are used to gradually replace parts of the monolith with the new application.

Workshops on related topic

Build Modern Applications Using GraphQL and Javascript
Node Congress 2024Node Congress 2024
152 min
Build Modern Applications Using GraphQL and Javascript
Featured Workshop
Emanuel Scirlet
Miguel Henriques
2 authors
Come and learn how you can supercharge your modern and secure applications using GraphQL and Javascript. In this workshop we will build a GraphQL API and we will demonstrate the benefits of the query language for APIs and what use cases that are fit for it. Basic Javascript knowledge required.
Building a Shopify App with React & Node
React Summit Remote Edition 2021React Summit Remote Edition 2021
87 min
Building a Shopify App with React & Node
Top Content
WorkshopFree
Jennifer Gray
Hanna Chen
2 authors
Shopify merchants have a diverse set of needs, and developers have a unique opportunity to meet those needs building apps. Building an app can be tough work but Shopify has created a set of tools and resources to help you build out a seamless app experience as quickly as possible. Get hands on experience building an embedded Shopify app using the Shopify App CLI, Polaris and Shopify App Bridge.We’ll show you how to create an app that accesses information from a development store and can run in your local environment.
Build a chat room with Appwrite and React
JSNation 2022JSNation 2022
41 min
Build a chat room with Appwrite and React
WorkshopFree
Wess Cope
Wess Cope
API's/Backends are difficult and we need websockets. You will be using VS Code as your editor, Parcel.js, Chakra-ui, React, React Icons, and Appwrite. By the end of this workshop, you will have the knowledge to build a real-time app using Appwrite and zero API development. Follow along and you'll have an awesome chat app to show off!
Hard GraphQL Problems at Shopify
GraphQL Galaxy 2021GraphQL Galaxy 2021
164 min
Hard GraphQL Problems at Shopify
WorkshopFree
Rebecca Friedman
Jonathan Baker
Alex Ackerman
Théo Ben Hassen
 Greg MacWilliam
5 authors
At Shopify scale, we solve some pretty hard problems. In this workshop, five different speakers will outline some of the challenges we’ve faced, and how we’ve overcome them.

Table of contents:
1 - The infamous "N+1" problem: Jonathan Baker - Let's talk about what it is, why it is a problem, and how Shopify handles it at scale across several GraphQL APIs.
2 - Contextualizing GraphQL APIs: Alex Ackerman - How and why we decided to use directives. I’ll share what directives are, which directives are available out of the box, and how to create custom directives.
3 - Faster GraphQL queries for mobile clients: Theo Ben Hassen - As your mobile app grows, so will your GraphQL queries. In this talk, I will go over diverse strategies to make your queries faster and more effective.
4 - Building tomorrow’s product today: Greg MacWilliam - How Shopify adopts future features in today’s code.
5 - Managing large APIs effectively: Rebecca Friedman - We have thousands of developers at Shopify. Let’s take a look at how we’re ensuring the quality and consistency of our GraphQL APIs with so many contributors.
0 To Auth In An Hour For Your JavaScript App
JSNation 2023JSNation 2023
57 min
0 To Auth In An Hour For Your JavaScript App
WorkshopFree
Asaf Shen
Asaf Shen
Passwordless authentication may seem complex, but it is simple to add it to any app using the right tool.
We will enhance a full-stack JS application (Node.js backend + Vanilla JS frontend) to authenticate users with One Time Passwords (email) and OAuth, including:
- User authentication – Managing user interactions, returning session / refresh JWTs- Session management and validation – Storing the session securely for subsequent client requests, validating / refreshing sessions
At the end of the workshop, we will also touch on another approach to code authentication using frontend Descope Flows (drag-and-drop workflows), while keeping only session validation in the backend. With this, we will also show how easy it is to enable biometrics and other passwordless authentication methods.