AR/VR in JavaScript Apps discusses emerging technologies for building augmented and virtual reality experiences using web technologies. It introduces key concepts like AR, VR, and XR. It also outlines several JavaScript libraries and frameworks that can be used to create 3D content and immersive experiences, such as Three.js, WebXR, A-Frame, and React 360. The document recommends resources for continued learning and provides examples of how to get started with these technologies.
Bringing Virtual Reality to the Web: VR, WebGL and CSS – Together At Last!FITC
Save 10% off ANY FITC event with discount code 'slideshare'
See our upcoming events at www.fitc.ca
Virtual Reality development has become very active recently, with the availability of low cost and high quality headsets, motion tracking equipment, and sensors. However, most VR app development is happening natively — users are stuck in the days of needing to download the right binary, trust a third-party that their code isn’t malicious and fix compatibility issues. Developers need to target multiple platforms, thus often ignoring those with fewer users. Instead, wouldn’t it be great if high quality VR content could be delivered through the Web?
In this session, Vladimir Vukicevic will address additions to HTML, CSS, and WebGL that Mozilla is experimenting with which allow Web developers to create immersive VR experiences. Everything from pure VR WebGL content to responsive HTML and CSS that can shift from mobile to tablet to desktop to VR will be covered. Additionally, Vladimir will discuss delivering VR video via the Web, as well as how to mix WebGL and CSS content in a true 3D space.
OBJECTIVE
To show how VR and the Web work together, and the techniques for bringing VR content to the Web.
TARGET AUDIENCE
Web developers and designers
ASSUMED AUDIENCE KNOWLEDGE
Some knowledge of at least one of WebGL, CSS 3D Transforms, or modern 3D graphics would be helpful.
FIVE THINGS AUDIENCE MEMBERS WILL LEARN
An overview of current VR devices, their capabilities and how they can interface with the Web.
How to render WebGL content to a VR device.
How to create documents using HTML and CSS that can be projected in VR.
How to create responsive documents that can shift in and out of VR based on user choice.
How WebGL and CSS content can be mixed, providing interactive 3D graphics but with the full power of HTML for non-3D elements.
Build the Virtual Reality Web with A-FrameMozilla VR
A-Frame is a web framework from Mozilla that makes VR ridiculously easy. A-Frame brings 3D and VR to HTML and JavaScript, allowing us to use the languages, APIs, and tools we all know and love as web developers and designers. Brought to you by MozVR.
Presented
at Forward.js (http://forwardjs.com/)
by Kevin Ngo (https://twitter.com/ngokevin_)
on Wednesday, February 10
Source:
https://github.com/ngokevin/forwardjs-presentation/
A-Frame is a WebVR framework for developers to make their VR content rapidly. It is based on Entity-Component system. So, it could bring us flexibility and usability for developing.
Bringing Virtual Reality to the Web: VR, WebGL and CSS – Together At Last!FITC
Save 10% off ANY FITC event with discount code 'slideshare'
See our upcoming events at www.fitc.ca
Virtual Reality development has become very active recently, with the availability of low cost and high quality headsets, motion tracking equipment, and sensors. However, most VR app development is happening natively — users are stuck in the days of needing to download the right binary, trust a third-party that their code isn’t malicious and fix compatibility issues. Developers need to target multiple platforms, thus often ignoring those with fewer users. Instead, wouldn’t it be great if high quality VR content could be delivered through the Web?
In this session, Vladimir Vukicevic will address additions to HTML, CSS, and WebGL that Mozilla is experimenting with which allow Web developers to create immersive VR experiences. Everything from pure VR WebGL content to responsive HTML and CSS that can shift from mobile to tablet to desktop to VR will be covered. Additionally, Vladimir will discuss delivering VR video via the Web, as well as how to mix WebGL and CSS content in a true 3D space.
OBJECTIVE
To show how VR and the Web work together, and the techniques for bringing VR content to the Web.
TARGET AUDIENCE
Web developers and designers
ASSUMED AUDIENCE KNOWLEDGE
Some knowledge of at least one of WebGL, CSS 3D Transforms, or modern 3D graphics would be helpful.
FIVE THINGS AUDIENCE MEMBERS WILL LEARN
An overview of current VR devices, their capabilities and how they can interface with the Web.
How to render WebGL content to a VR device.
How to create documents using HTML and CSS that can be projected in VR.
How to create responsive documents that can shift in and out of VR based on user choice.
How WebGL and CSS content can be mixed, providing interactive 3D graphics but with the full power of HTML for non-3D elements.
Build the Virtual Reality Web with A-FrameMozilla VR
A-Frame is a web framework from Mozilla that makes VR ridiculously easy. A-Frame brings 3D and VR to HTML and JavaScript, allowing us to use the languages, APIs, and tools we all know and love as web developers and designers. Brought to you by MozVR.
Presented
at Forward.js (http://forwardjs.com/)
by Kevin Ngo (https://twitter.com/ngokevin_)
on Wednesday, February 10
Source:
https://github.com/ngokevin/forwardjs-presentation/
A-Frame is a WebVR framework for developers to make their VR content rapidly. It is based on Entity-Component system. So, it could bring us flexibility and usability for developing.
A-Frame is a declarative WebVR framework for web developers. We'll introduce the game-changing concepts of A-Frame, showcase what the community has built with A-Frame in the last several months, and present sneak peeks of novel experiments that we have rapidly prototyped using A-Frame.
Watch the talk at https://www.youtube.com/watch?v=wRqoSdPZQBY
Download presentation materials and videos at https://github.com/ngokevin/aframe-sfhtml5-presentation
WebXR: Introducing Mixed Reality and the Immersive Web - Peter O'Shaughnessy ...Codemotion
“WebXR” is the API formerly known as WebVR, upgraded to embrace the web’s potential not just for Virtual Reality, but for immersive Mixed Reality experiences. We can start exploring the possibilities now, using libraries like Mozilla’s WebXR Polyfill and Google’s three.ar.js, plus special development browsers that incorporate ARCore (Android) or ARKit (iOS). This talk will share how you can begin to blend the real world and the digital world as a Mixed Reality web developer - and a glimpse into the exciting future of the Immersive Web.
In this side, I introduce Webrender 1.0 (it have been updated to 2.0 after 08/03/2016) that is based on Rust language and OpenGL to develop a proof of concept to bring the game engine technology into Web browser. It mentions how Scene Graph, Batching, Composite work in this modern web browser, Servo.
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...Daosheng Mu
Game Developer Conference China (2012). Programming track.
This speech talks about how to use Stage3D APIs to make a 3D web game engine, and discuss some points about optimizing it.
Mixed Realities for Web - Carsten Sandtner - Codemotion Amsterdam 2018Codemotion
Ok, let’s get real: VR in a Web Browser isn’t something new in 2017. Firefox shipped their support for everyone. HTC Vive, Oculus Rift and other hardware is being supported. You can create VR experiences using your browser and Javascript. New browser engines are powerful enough to be able to serve the experiences on a open and standardised platform. But what about AR? Or Mixed Realities (MR)? Join my session and learn how AR or better said MR is getting into your browsers, too. See how and what the platform is being able to offer and what you could expect in near future.
This session will be delivered in Bahasa. Riza will talk about how to starting implement machine learning with JavaScript. He will introduce some tools and terminology that can be used for implementing machine learning.
This talk is for TechInAsia Product Development Conference in Jakarta, Indonesia. Held at 2018-07-04.
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"IT Event
Web components are a tale of four w3c specifications. They are a hot topic now. We’ve all seen big headlines, for instance, “The Web Components revolution”, “Web Components are a game changer”, “A Tectonic Shift for Web Development”, … and so many others. They are certainly exciting and promising, nevertheless, there are some factors holding them back such as performance issues and lack of browser support. Some features seems to be more hassle than they’re worth. In this talk you’ll examine web components from a pragmatic stand point. So if you want to start using web components in production, come to learn what features can you use today. Actually, despite the still short browser support, some of web components features seems to be the best choice to start with . The assessment you’ll learn is the reflection of my personal research and work on my spare time and also feedbacks from my co-workers.
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...Yottaa
Building a mobile app - depending upon who you speak with it's a quick way to make a ton of cash (SnapChat), a sign of maturity for a SaaS startup that offers advantages over a desktop solution (ifttt), or the only way your company chooses to do business (WhatsApp). If you get it right...
Today's mobile app developers have to make some difficult choices in their implementations, and a lack of history to provide clear direction doesn't help. In this meetup we'll look at Responsive, Adaptive and Native app development alternatives and how your choice can impact day-to-day necessities like testing and troubleshooting. This will be slightly more technical than our last meetup as we will examine implementations and optimization techniques using mobile applications in the wild.
A-Frame is a declarative WebVR framework for web developers. We'll introduce the game-changing concepts of A-Frame, showcase what the community has built with A-Frame in the last several months, and present sneak peeks of novel experiments that we have rapidly prototyped using A-Frame.
Watch the talk at https://www.youtube.com/watch?v=wRqoSdPZQBY
Download presentation materials and videos at https://github.com/ngokevin/aframe-sfhtml5-presentation
WebXR: Introducing Mixed Reality and the Immersive Web - Peter O'Shaughnessy ...Codemotion
“WebXR” is the API formerly known as WebVR, upgraded to embrace the web’s potential not just for Virtual Reality, but for immersive Mixed Reality experiences. We can start exploring the possibilities now, using libraries like Mozilla’s WebXR Polyfill and Google’s three.ar.js, plus special development browsers that incorporate ARCore (Android) or ARKit (iOS). This talk will share how you can begin to blend the real world and the digital world as a Mixed Reality web developer - and a glimpse into the exciting future of the Immersive Web.
In this side, I introduce Webrender 1.0 (it have been updated to 2.0 after 08/03/2016) that is based on Rust language and OpenGL to develop a proof of concept to bring the game engine technology into Web browser. It mentions how Scene Graph, Batching, Composite work in this modern web browser, Servo.
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...Daosheng Mu
Game Developer Conference China (2012). Programming track.
This speech talks about how to use Stage3D APIs to make a 3D web game engine, and discuss some points about optimizing it.
Mixed Realities for Web - Carsten Sandtner - Codemotion Amsterdam 2018Codemotion
Ok, let’s get real: VR in a Web Browser isn’t something new in 2017. Firefox shipped their support for everyone. HTC Vive, Oculus Rift and other hardware is being supported. You can create VR experiences using your browser and Javascript. New browser engines are powerful enough to be able to serve the experiences on a open and standardised platform. But what about AR? Or Mixed Realities (MR)? Join my session and learn how AR or better said MR is getting into your browsers, too. See how and what the platform is being able to offer and what you could expect in near future.
This session will be delivered in Bahasa. Riza will talk about how to starting implement machine learning with JavaScript. He will introduce some tools and terminology that can be used for implementing machine learning.
This talk is for TechInAsia Product Development Conference in Jakarta, Indonesia. Held at 2018-07-04.
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"IT Event
Web components are a tale of four w3c specifications. They are a hot topic now. We’ve all seen big headlines, for instance, “The Web Components revolution”, “Web Components are a game changer”, “A Tectonic Shift for Web Development”, … and so many others. They are certainly exciting and promising, nevertheless, there are some factors holding them back such as performance issues and lack of browser support. Some features seems to be more hassle than they’re worth. In this talk you’ll examine web components from a pragmatic stand point. So if you want to start using web components in production, come to learn what features can you use today. Actually, despite the still short browser support, some of web components features seems to be the best choice to start with . The assessment you’ll learn is the reflection of my personal research and work on my spare time and also feedbacks from my co-workers.
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...Yottaa
Building a mobile app - depending upon who you speak with it's a quick way to make a ton of cash (SnapChat), a sign of maturity for a SaaS startup that offers advantages over a desktop solution (ifttt), or the only way your company chooses to do business (WhatsApp). If you get it right...
Today's mobile app developers have to make some difficult choices in their implementations, and a lack of history to provide clear direction doesn't help. In this meetup we'll look at Responsive, Adaptive and Native app development alternatives and how your choice can impact day-to-day necessities like testing and troubleshooting. This will be slightly more technical than our last meetup as we will examine implementations and optimization techniques using mobile applications in the wild.
Front End Development for Back End Java Developers - Jfokus 2020Matt Raible
Are you a backend Java developer that's being pushed into front-end development? Are you frustrated with all the JavaScript frameworks and build tools you have to learn to be a good UI developer? If so, this session is for you! We'll explore the landscape of UI development, including web standards, frameworks, and what’s on the horizon (e.g., micro frontends).
Building modern web sites with ASP .Net Web API, WebSockets and RSignalAlessandro Pilotti
My session at ITCamp.ro 2012:
Web site development is an ever changing landscape. Thanks to the latest web browser technologies it's possible to create highly responsive single page applications, requiring a new approach to design and development on the server side. During this session we'll see ho to use .Net technologies to get the best out of the new Web API, WebSockets and the excellent RSignal framework.
Front End Development for Back End Developers - UberConf 2017Matt Raible
Are you a backend developer that’s being pushed into front end development? Are you frustrated with all JavaScript frameworks and build tools you have to learn to be a good UI developer? If so, this session is for you! We’ll explore the tools of the trade for frontend development (npm, yarn, Gulp, Webpack, Yeoman) and learn the basics of HTML, CSS, and JavaScript.
This presentation dives into the intricacies of Bootstrap, Material Design, ES6, and TypeScript. Finally, after getting you up to speed with all this new tech, I'll show how it can all be found and integrated through the fine and dandy JHipster project.
Front End Development for Back End Developers - vJUG24 2017Matt Raible
Are you a backend developer that’s being pushed into front-end development? Are you frustrated with all JavaScript frameworks and build tools you have to learn to be a good UI developer? If so, this session is for you! We’ll explore the tools for frontend development and frameworks too!
Streamed live at 8pm MST on Oct 25, 2017! https://virtualjug.com/vjug24/
Varun Vachhar
rangle.io
Overview
JavaScript frameworks allow us to build innovative and delightful experiences for our users. A common approach adopted with these modern tools is to combine all required JavaScript into one large bundle. Therefore, causing the loading performance to suffer. Especially on older devices or devices with low memory and processing power.
An alternative approach is to split your code into various smaller chunks which you can then be loaded on demand — allowing you to reduce the load time drastically.
In this session, Varun will demonstrate how you can adopt the practice of code-splitting when building applications with frameworks such as React and Vue.
Objective
Learn how to use code-splitting to improve the loading performance of Javascript heavy applications.
Target Audience
Front-end developers who build JavaScript heavy applications
Assumed Audience Knowledge
Basic understanding of web development and some familiarity with frameworks such as React, Angular or Vue.
Level
Intermediate
Five Things Audience Members Will Learn
What is code-splitting?
Different types of code-splitting
How to split a React or Vue application
How to “lazy-load” parts of the application
Removing duplicate code from chunksa
Presented at Web Unleashed 2019
More info at www.fitc.ca/webu
Andréa Crofts
League
Overview
Examining our responsibility as creators to design for disconnection.
The “restore connection” alert isn’t just for devices– it applies to people too. And it’s more important now than ever before.
Digital creators, we need to talk. The rise in mental health as a result of situational stress is a prevailing theme in today’s society, and some of the products we’re building are the root cause. But we have the power to change this. As creators of digital products, how might we enable our users to be more present in their lives? How might we invest in features like Instagram’s activity timer, despite the fact that they’re fundamentally counterintuitive to the usage metrics most behemoth tech companies are driving towards?
We have a responsibility as creators of digital products to enable others to disconnect …and re-connect with themselves, physically and mentally. This intersection is an emerging category Andrea likes to call digital health, and it’s something we can create together.
Objective
To share actionable strategies, principles and considerations for designing with digital health top of mind. Andrea will get into some #realtalk about how we can collectively create more balance and presence for the humans using our products.
Target Audience
Designers and digital creators of all kinds – especially those building digital products at scale!
Level
Open to audience members of any skill level (this is a more high-level talk)
Five Things Audience Members Will Learn
Tips and best-in-class examples of designing for digital health
Design guidelines and principles for designing with digital health in mind
Evidence-based practices to ground your future design decisions
Strategies for re-framing the success metrics of digital products
Design ethics resources
Presented at Web Unleashed 2019
More info at www.fitc.ca/webu
Luke DeWitt
REDspace
Overview
JavaScript’s popularity has exploded over the last decade, taking it from a laughable scripting language to one that powers much of the web today. Because it’s so flexible and so easy to learn, it’s extremely popular with new developers looking to cut their teeth in programming. However, these strengths are also weaknesses, as it’s incredibly easy to write bad JavaScript without even knowing it.
A lot of these newer developers jump from “Hello, World!”, to TodoMVC in order to find the library that makes their life easier. By doing this, they skip over some of the important details of not only how JavaScript works, but also how to optimize its performance to ensure the best user experience.
The Chrome profiler is a very handy tool that not a lot of developers have experience with. In this talk, we’ll take a beginner’s look at the profiler tool and examine how to use it to best improve your web application, and identify bottlenecks in your code without having to rely only on console.log statements.
Objective
To help developers understand how to better make use of the JavaScript profiler.
Target Audience
Any JavaScript developers
Assumed Audience Knowledge
Basic JavaScript
Level
Beginner / intermediate
Five Things Audience Members Will Learn
Javascript inner-workings
Profiling concepts
Identifying bottlenecks
Profiling node applications
Tooling
presented at Web Unleashed 2019
For more info see https://fitc.ca/event/webu19/
Kevin Daly RBC Ventures
Every developer has faced the difficult choice of deciding what tech stack they should use for a new project. Should you use the latest tech or something that everyone knows? Which framework is the best for your team? To survive your tech stack, developers must make trade-offs with developing on new tech stacks and the ability to maintain and scale their applications.
In this presentation, you’ll learn how to evaluate your tech stack and understand the pros and cons of using bleeding edge technology. Using his past experiences, Kevin will also share his lessons learned and how his team tackles managing their tech stack today.
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Bushra Mahmood
Unity Technologies
Overview
In this talk, Bushra Mahmood will explain how to articulate and pitch augmented reality as a viable medium to help solve problems. Learn about what makes an AR application come together on both mobile devices and headsets. Uncover different tools and methodologies for problem-solving and making a compelling story.
By properly understanding this technology and its parts, creatives can take an active role in shaping and defining this new space in computing.
Objective
Learn the tools and techniques required to pitch an augmented reality project.
Target Audience
Designers, product managers, product stakeholders.
Assumed Audience Knowledge
An understanding of product design and an awareness of AR
Five Things Audience Members Will Learn
The right language to use when explaining ‘spatial’ design
The different requirements and considerations for scoping an AR project
The tools that are currently available for AR authoring
Insights into what the near and far future will hold for this medium.
An example of an AR application pitch
Start by Understanding the Problem, Not by Delivering the AnswerFITC
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Karri Ojanen
RBC Royal Bank of Canada
Overview
Over the past number of years companies have adopted the idea of customer-centricity. People across functions can fluently talk about the importance of paying special attention to end-user needs and overall customer experience.
But innovation and forward-thinking ideas that connect both customer and business needs can’t simply be squeezed out of brainstorm sessions and sticky notes if the organization doesn’t learn how to effectively look outside of its own silos. In this session, Karri will show how to move from jumping to solutions to driving innovation by understanding the question first.
Target Audience
Designers, researchers, strategists, product managers, and technology leads
Three Things Audience Members Will Learn
Methodologies and tools to form insights out of a holistic understanding of customer challenges
How to synthesize data to form a vision of the better future
How to break the vision into manageable chunks that drive value for the business and the customer at every launch
Cocaine to Carrots: The Art of Telling Someone Else’s StoryFITC
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Alan Williams
Imaginary Forces
Overview
During dailies as an intern at Imaginary Forces, Alan’s director, Karin Fong, would follow her animation feedback with one of the scariest and empowering questions of his career, “what do you think?” Over the last eight years, Alan’s transition from technician to creative director came from a dramatic shift in how he approached and answered that question. By examining larger conceptual principles to practical application in commercial and tv/film design, such as HBO’s Vinyl and Netflix’s Anne with an E, he will share hard-learned lessons that can empower you, whether in Photoshop, behind a camera, or pitching to clients, in developing and selling your creative voice.
Target Audience
Visual communicators eager to become more evocative storytellers
Five Things Audience Members Will Learn
‘Method branding’ in a selfie culture
O.C.D. (observe, collect, dissect) & the imagination
The resuscitating power of rearrangement
Pertinence vs pipeline: the crippling cage of routine
Less pitching, more poetry
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Carl Sziebert
Google
Overview
Innovation is defined as the process of making an idea into a good or service that creates value by meeting a need or solving a problem at scale. This talk explores ways to find inspiration from everyday sources, invest in skills that foster collaboration, and identify opportunities for impact. While leveraging the core principles of and learnings from designing products for real people, Carl will examine a number methods for building creativity and innovation into our everyday work.
Target Audience
For individual contributors looking to cultivate opportunities for impact and find the right time, space, and tools to innovate in our everyday work.
Five Things Audience Members Will Learn
A bottom-up approach to framing innovation within your daily work
Identify and validate opportunities that make an impact
Prioritize, prototype, and build understanding of the problems you are solving
Collaborate locally and globally
Seek, give, and apply feedback often
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Chris Zacharias
imgix
Overview
The average website loads over 1.5MBs of content per page, making over 75 requests. Many popular websites are serving over 5MBs just to load their homepages. And these numbers represent measurements taken AFTER compression is applied. The full weight of many popular websites is pushing 20+ MBs these days. In an era where performance truly matters to the end user experience, web developers need techniques to help curtail this bloat in data down the wire.
No matter how well you optimize, there is no better way to than to delete things you do not need. How does one determine what is essential to the user experience and what is not? One answer Chris posits is to develop a hyper-lightweight version of your website which will provide critical insights into your specific performance priorities. This is a process that he has leveraged on many projects, in particular at YouTube to reduce the size of the video watch page from 1.5MBs to 100KBs. In this talk, Chris will take real-world web pages and show techniques for dramatically reducing their page weight and for identifying areas to optimize, while outlining the key steps to doing this well.
Objective
Learn a process for building a hyper-lightweight version of your website for establishing reasonable performance budgets, grounded in reality, to work from.
Target Audience
Web developers
Assumed Audience Knowledge
HTML, CSS, Javascript, some server-side awareness.
Level
Intermediate
Five Things Audience Members Will Learn
How to analyze a web page for performance issues
A holistic approach to deconstructing an existing website
A clear process for building a hyper-lightweight version of your website
Translating your findings into real performance priorities
Establishing a realistic performance budget
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Michael Fullman
VT Pro Design
Overview
An exploration of the process of creation. We live in a time where technology and inspiration are more readily available and accessible than ever before. That being said we also live in a time that mostly highlights the successes of projects and process. In this particular talk Michael wants to touch on the process of creation with technology at VT Pro, to further explore a full circle approach to inspiration and creation where often times our next project is inspired by something learned in the process of creating something else.
By exploring what went wrong and what went right in a number of different projects he’s created, Michael will touch on points where inspiration can be found in this world of seemingly endless technology; the importance of collaboration; what can be learned from the moments that don’t necessarily go as planned; and how often projects come close to failure than the audience ever knows. Lastly he wants to touch on the process of finding personal inspiration to inspire an audience, and the momentum to push further that comes from their energy.
Objective
Things often don’t go as planned, but often that’s the fun part.
Target Audience
Creative technologists and experience designers
Five Things Audience Members Will Learn
Collaborative process
Giving personality to a piece of technology
How to learn from the unexpected
We all start somewhere (the journey is just as important as the destination)
Everything is possible now
Post-Earth Visions: Designing for Space and the Future HumanFITC
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Sands Fish
MIT Media Lab
Overview
Today, the environments that humans occupy in space are designed for survival. Humans are carefully shuttled to and from space, and during their relatively short stays, they are provided with minimum supplies to remain alive and able to perform experiments. As we begin to plan less for short visits and more for life in space (such as a six to eight month trip to Mars and beyond) the question becomes: What does human culture look like in space?
This talk will explore how human culture, design, and creativity might evolve as we begin to live in space, and the unique environmental conditions that might guide us in certain directions, just as the environment on Earth has. It will discuss space tourism, living in zero gravity, and some experiments in art and design that hint at future aesthetics.
Objective
Convey what opportunities exist at the outset of a more democratized New Space age, and call out the aesthetics, ethics, and cultural frontiers we find ourselves faced with at the end of the second decade of this century.
Target Audience
Those interested in the future of human life in space
Five Things Audience Members Will Learn
The history of human culture in space
Unique design constraints and considerations when designing for zero gravity
The experience of flying in a zero-g flight
The aesthetics at play in human spacefaring — (what has been)
New forms, new materials, new ideas — (what might be)
The Rise of the Creative Social Influencer (and How to Become One)FITC
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Lindsay Munro
Adobe XD
Overview
Your social network could be more valuable than the work you’re doing today, because it could (and should) lead to the opportunities you get tomorrow. Your next post could result in your next recommendation, job, collaboration, exhibit, and next level experience.
In this session, you’ll learn how to hone and build your online social media presence to attract brands and engage in the modern-day endorsement deal. Get a behind-the-scenes perspective on the things brands look for in creative profiles and the rules of engagement.
Objective
Teach the ins and outs of what it means to be a creative social influencer.
Target Audience
Creatives looking to up level their social media presence and strike brand partnerships.
Things Audience Members Will Learn
How to set yourself up for “success” on social media
The importance of working with the right brands
Figuring out compensation and negotiating contracts
The ins and outs of disclosure and liability
How to not mess it up
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Amelie Rosser
Jam3
Overview
For the past two years Jam3 worked alongside Joy Kogawa and the NFB to create East of the Rockies, an augmented reality storytelling experience.
East of the Rockies is the first interactive AR game of its kind. The story takes users through a piece of Canadian history where Japanese Canadians were forced to leave their homes and live at internment camps during WWII.
This talk will cover the creation of the game: from concept and storyboarding, to the development process in Unity and various challenges and questions to consider from a creator’s perspective.
Objective
To let the audience in on the behind the scenes of developing an AR experience like East of the Rockies.
Target Audience
For those interested in Augmented Reality storytelling and game development.
Five Things Audience Members Will Learn
AR techniques using Unity
Storytelling in AR
Prototyping interactions in AR
Game state management using Unidux
Game optimization techniques in Unity
The Knowledge Society: Three Talks About the Future
Futurism Innovation Science
Isabella Grandic
The Knowledge Society
Overview
Join three incredible, young, and brilliant minds as they present their findings on topics that we’ll all have to deal with in the not so distant future. This series of talks will explore how exponential technologies like synthetic farming, nanotechnology, and quantum computing can be used to solve some of the world’s most difficult problems.
The speakers are all students of The Knowledge Society (TKS), a human accelerator for high school students designed to help them impact billions. TKS encourages students to take risks and think big.
Ayaan Esmail‘s talk will cover creating a proactive healthcare system
World Transformation: The Secret Agenda of Product DesignFITC
R.C. Woodmass
Crescendo
Overview
The reports are in: how we relate to technology directly affects how we relate to other humans, to our environments, and to ourselves. Are we headed for a technological dystopia, where robots are in charge and empathy is just a word for the history books? Not necessarily! Learn how the interfaces we interact with can teach us how to be better communicators, increase our understanding of each other, and how product design might be the key to building a positive future for all.
Objective
Directly address fear and skepticism about technology, inspiring all who design and build tech to think more empathetically when building UX and UI.
Target Audience
Product designers, HR specialists, and anyone skeptical about technology
Three Things Audience Members Will Learn
How to create user interfaces that are flexible enough to include everyone, even if they can’t keep up with all the different identities and new labels that people are using
What is conversation design, and how it has the power to teach people how to communicate
How AI has the potential to be more inclusive than previous data analysis systems, if we leverage its weaknesses to the human advantage
Matt Swoboda
Notch
Overview
The adoption of real-time technologies and workflows for content creation is a seismic shift in the world of video/graphics. It has a fundamental effect on not just on render times but on the entire creative process. In this session hear from someone who has been using realtime graphics for creative work for almost 20 years, and his experiences in applying it to productions such as the Ed Sheeran world tour and Cirque du Soleil.
Objective
Give the audience an overview of what really is capable in a real-time workflow today, and where things are headed.
Target Audience
Anyone who wants to take confident steps in the direction of real-time motion graphics, especially within the live, installation and AR fields.
Five Things Audience Members Will Learn
How does real-time change the creative and production process
Limitations – where does it work, where doesn’t it make sense
What real-time graphics are capable of today
What happens on a rock’n’roll tour bus
What DOESN’T happen on a rock’n’roll tour bus
Hasan Ahmad
Aquent DEV6
Overview
PWAs are a newly emerging delivery format for web, desktop apps. The fact that they can be installed on a client device and behave like natively installed apps means that special care should be taken when designing and building these types of apps, above and beyond a typical browser-only web application. One of the most important (potential) differentiators in the user experience of a PWA app vs a traditional web app is the ability to provide a high-performance UI because of their ability to do things like cache resources offline, including entire pieces of Web UI code, and the use of background services. In this talk we are going to do an exhaustive overview of the entire landscape of building PWAs from a performance-first perspective.
Target Audience
Web development teams
Assumed Audience Knowledge
Web Development fundamentals
Objective
Large enterprise applications
Five Things Audience Members Will Learn
Why PWA’s require performance engineering
What tools are available to measure performance metrics
Offline caching strategies
Host device considerations: desktop and mobile
Taking advantage of background code: Service Workers
Bhavana Srinivas
Netlify
Overview
A new web stack has emerged. A stack powered by modern browsers, API economy and Git based workflows. A stack that is not tied to specific technologies. A stack that takes into account both developer experience while building the application, and user experience when interacting with the application. A stack that delivers better performance, higher security, and lower cost of scaling for web applications.
In this talk, Bhavana will dive more into the architecture and best practices for building performant web applications using the JAMstack
Objective
Educate the audience about the JAMstack and why it powers performant sites
Target Audience
Web stakeholders who want fast, secure and performant websites
Assumed Audience Knowledge
Built a website/interacted with sites
Five Things Audience Members Will Learn
What is the JAMstack
The ecosystem around the JAMstack
How to improve the performance of your site built on the JAMstack
Example sites built on this architecture
Resources and best practices
From Closed to Open: A Journey of Self DiscoveryFITC
Midge “Mantissa” Sinnaeve
Mantissa
Overview
Midge will be speaking about his experience of switching to open source applications for his freelance work. From ditching expensive software subscriptions to going down the linux rabbit hole, he’ll take you along for the ride and show you some cool stuff along the way.
It’s an in-depth look at what happens when your digital tools become an extension of yourself and how that can in turn inspire you to get better as an artist and find your style.
Objective
Taking a critical look at how you work and why.
Target Audience
(Motion) designers, 3D & VFX artists
Four Things Audience Members Will Learn
Open Source Design Tools
Self-criticism
Inspiration
Letting go
Studio Macouno has been realizing post industrial projects for two decades. Though they’re very busy doing things like creating generative shavers for Philips and designing life size 3D printed petition elephants, those are but a fraction of what they would like to do.
In this talk Dolf will explore the projects they just don’t have time for. The things the studio would love to do but can’t do on it’s own. The things that are way out there… Those that don’t seem possible, or are just too much work. The dreams that they think are a bit too much, but they just might do anyway.
Objective
Finding, funding and founding cooperatives for creative futurist projects.
Target Audience
People interested in making things today that seem ideas for tomorrow.
Five Things Audience Members Will Learn
Some about generative design
3d printing
Art
Running projects
And making things happen
This 7-second Brain Wave Ritual Attracts Money To You.!nirahealhty
Discover the power of a simple 7-second brain wave ritual that can attract wealth and abundance into your life. By tapping into specific brain frequencies, this technique helps you manifest financial success effortlessly. Ready to transform your financial future? Try this powerful ritual and start attracting money today!
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBrad Spiegel Macon GA
Brad Spiegel Macon GA’s journey exemplifies the profound impact that one individual can have on their community. Through his unwavering dedication to digital inclusion, he’s not only bridging the gap in Macon but also setting an example for others to follow.
# Internet Security: Safeguarding Your Digital World
In the contemporary digital age, the internet is a cornerstone of our daily lives. It connects us to vast amounts of information, provides platforms for communication, enables commerce, and offers endless entertainment. However, with these conveniences come significant security challenges. Internet security is essential to protect our digital identities, sensitive data, and overall online experience. This comprehensive guide explores the multifaceted world of internet security, providing insights into its importance, common threats, and effective strategies to safeguard your digital world.
## Understanding Internet Security
Internet security encompasses the measures and protocols used to protect information, devices, and networks from unauthorized access, attacks, and damage. It involves a wide range of practices designed to safeguard data confidentiality, integrity, and availability. Effective internet security is crucial for individuals, businesses, and governments alike, as cyber threats continue to evolve in complexity and scale.
### Key Components of Internet Security
1. **Confidentiality**: Ensuring that information is accessible only to those authorized to access it.
2. **Integrity**: Protecting information from being altered or tampered with by unauthorized parties.
3. **Availability**: Ensuring that authorized users have reliable access to information and resources when needed.
## Common Internet Security Threats
Cyber threats are numerous and constantly evolving. Understanding these threats is the first step in protecting against them. Some of the most common internet security threats include:
### Malware
Malware, or malicious software, is designed to harm, exploit, or otherwise compromise a device, network, or service. Common types of malware include:
- **Viruses**: Programs that attach themselves to legitimate software and replicate, spreading to other programs and files.
- **Worms**: Standalone malware that replicates itself to spread to other computers.
- **Trojan Horses**: Malicious software disguised as legitimate software.
- **Ransomware**: Malware that encrypts a user's files and demands a ransom for the decryption key.
- **Spyware**: Software that secretly monitors and collects user information.
### Phishing
Phishing is a social engineering attack that aims to steal sensitive information such as usernames, passwords, and credit card details. Attackers often masquerade as trusted entities in email or other communication channels, tricking victims into providing their information.
### Man-in-the-Middle (MitM) Attacks
MitM attacks occur when an attacker intercepts and potentially alters communication between two parties without their knowledge. This can lead to the unauthorized acquisition of sensitive information.
### Denial-of-Service (DoS) and Distributed Denial-of-Service (DDoS) Attacks
1.Wireless Communication System_Wireless communication is a broad term that i...JeyaPerumal1
Wireless communication involves the transmission of information over a distance without the help of wires, cables or any other forms of electrical conductors.
Wireless communication is a broad term that incorporates all procedures and forms of connecting and communicating between two or more devices using a wireless signal through wireless communication technologies and devices.
Features of Wireless Communication
The evolution of wireless technology has brought many advancements with its effective features.
The transmitted distance can be anywhere between a few meters (for example, a television's remote control) and thousands of kilometers (for example, radio communication).
Wireless communication can be used for cellular telephony, wireless access to the internet, wireless home networking, and so on.
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesSanjeev Rampal
Talk presented at Kubernetes Community Day, New York, May 2024.
Technical summary of Multi-Cluster Kubernetes Networking architectures with focus on 4 key topics.
1) Key patterns for Multi-cluster architectures
2) Architectural comparison of several OSS/ CNCF projects to address these patterns
3) Evolution trends for the APIs of these projects
4) Some design recommendations & guidelines for adopting/ deploying these solutions.
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC
Ellisha Heppner, Grant Management Lead, presented an update on APNIC Foundation to the PNG DNS Forum held from 6 to 10 May, 2024 in Port Moresby, Papua New Guinea.
2. The Rise of Extended Reality (AR/VR)
• AR (Augmented Reality) – Interaction with physical realty
augmented with computer generated input and output
• VR (Virtual Reality) – Replace physical reality with a computer
generated one
• Hardware costs plummeting (Oculus Go launched F8 2018,
$199)
• Software for building AR and VR experiences getting better
every day
3.
4. Introduction – Hasan Ahmad
• Principal Consultant at DEV6
• Developer Circles from Facebook
(Toronto)
• https://dev6.com
• https://www.facebook.com/groups
/DeveloperCirclesToronto/
• https://twitter.com/has_ibr_ahm
5. Industries that are embracing XR
• Gaming
• Media
• Mobile Apps
• Streaming
• Education
• Industrial
• Retail
6. AR/VR tech-stack for web devs
• Little bit of math & physics background
• Smartphone or VR headset
• Three.js
• WebVR API / Web XR API
• A-Frame
• React 360
• AR.js
• 3D Content
7. Three.js
• https://threejs.org/
• WebGL graphics library
• Scene – What to display
• Camera – What to view
• Renderer – How to display
• Geometry – Objects, textures, etc
8. $ npm install three
...
import { Scene } from 'three’;
const scene = new Scene();
OR
<script
src="https://fastcdn.org/three.js/73/three.min.js">
</script>
9. var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75,
window.innerWidth / window.innerHeight,
0.1,
1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
var geometry = new THREE.BoxGeometry(1, 1, 1);
var material = new THREE.MeshBasicMaterial({color: 0x00ff00});
var cube = new THREE.Mesh(geometry, material);
scene.add(cube);
camera.position.z = 5;
10. WebVR
• Low-level API to gather info about the VR display + capabilities
• Eye parameters, the data to render the scene for each eye
• Field of view data
• Position of the VR display (and velocity and acceleration)
11. WebXR (unstable!)
• Evolution of WebVR spec
• Much faster than WebVR API
• Better architecture to support both VR and AR, multiple view
types
• Desktop
• VR Headset
• Smartphone
• Magic Window
• Touchscreen, Mouse, Gamepad, Controllers
12. The future of the web is immersive (Google I/O ‘18)
https://www.youtube.com/watch?v=1t1gBVykneA
13. WebXR-Polyfill
• Best way to make sure code written to XR spec (proposal) will
actually work
https://github.com/immersive-web/webxr-polyfill
<script src='https://cdn.jsdelivr.net/npm/webxr-
polyfill@latest/build/webxr-polyfill.js’></script>
$ npm install --save webxr-polyfill
14. function initXR() {
xrButton = new XRDeviceButton({
onRequestSession: onRequestSession,
onEndSession: onEndSession
});
document.querySelector('header').appendChild(xrButton.domElement);
if (navigator.xr) {
navigator.xr.requestDevice().then((device) => {
device.supportsSession({immersive: true}).then(() => {
xrButton.setDevice(device);
});
});
}
}
function onRequestSession(device) {
device.requestSession({immersive: true}).then(onSessionStarted);
}
15. function onSessionStarted(session) {
xrButton.setSession(session);
session.addEventListener('end', onSessionEnded);
gl = createWebGLContext({compatibleXRDevice: session.device});
renderer = new Renderer(gl);
scene.setRenderer(renderer);
session.baseLayer = new XRWebGLLayer(session, gl);
session.requestFrameOfReference('eye-level').then((frameOfRef) => {
xrFrameOfRef = frameOfRef;
session.requestAnimationFrame(onXRFrame);
});
}
16. function onXRFrame(t, frame) {
let session = frame.session;
scene.startFrame();
session.requestAnimationFrame(onXRFrame);
let pose = frame.getDevicePose(xrFrameOfRef);
if (pose) {
gl.bindFramebuffer(gl.FRAMEBUFFER, session.baseLayer.framebuffer);
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
for (let view of frame.views) {
let viewport = session.baseLayer.getViewport(view);
gl.viewport(viewport.x, viewport.y,
viewport.width, viewport.height);
scene.draw(view.projectionMatrix, pose.getViewMatrix(view));
}
} else {}
scene.endFrame();
}
17. A-Frame
• Web framework originally from Mozilla for rendering AR and VR
in web pages
• Declarative syntax
• 3D scene graph with markup language
25. React 360
• Similar in Architecture to React Native
• Uses Web Workers to avoid single-
threaded computation limitation, which
could impact performance, break
immersion
26. React 360
• Can also load 3D models, using Entity (multiple formats)
// to reference a GLTF2 model
<Entity source={{gltf2: asset('myModel.gltf')}} />
// to reference an untextured OBJ model
<Entity source={{obj: asset('myModel.obj')}} />
// to reference an OBJ with matching MTL file
<Entity source={{obj: asset('myModel.obj'), mtl: asset('myModel.mtl')}} />
27. Augmented Reality
• Similar problems solved in VR
• Must be able to identify real-
world geometry
• Capable of marker-based AR at
60fps, even on budget
smartphones
https://aframe.io/blog/arjs/
28. Building AR with A-Frame (AR.js)
<script
src="https://jeromeetienne.github.io/AR.js/aframe/build/aframe-ar.js">
</script>
<a-scene embedded arjs>
<a-marker-camera preset='hiro'></a-marker-camera>
30. Building AR with A-Frame
<body style='margin : 0px; overflow: hidden;’>
<a-scene embedded arjs>
<!-- create your content here. just a box for now -->
<a-box position='0 0.5 0' material='opacity: 0.5;'></a-box>
<!-- define a camera which will move according to the marker position -->
<a-marker-camera preset='hiro'></a-marker-camera>
</a-scene>
</body>
31. Wikitude SDK
• Paid SDK, for implements sophisticated AR algorithms,
available as a plugin for Native or Cordova projects
• Free trial available (for experiments and education)
• Instant Tracking, SLAM, SMART
• Built on top of ARCore and ARKit
• https://www.wikitude.com/augmented-reality-instant-tracking/
33. Continued Study
• https://www.khanacademy.org/math/linear-algebra
• https://medium.com/@necsoft/three-js-101-hello-world-part-1-
443207b1ebe1
• https://developer.mozilla.org/en-
US/docs/Web/API/WebGL_API#Guides
• https://github.com/mozilla/aframe-xr
• https://aframe.io/blog/arjs/
34. Summary
• Extended Reality is of increasing interest to many industries
• Web tech can get us quite far, even with today’s experimental
APIs
• There are a number of entry points into this tech stack, pick the
right level of abstraction for you
AR/VR/MR/XR terms are all interchangeable
In 2016, Oculus Rift (high-end experience) was about $800, the year before over $1000? Currently in the $550 range
https://www.zdnet.com/article/walmart-deploys-17000-oculus-go-headsets-to-train-its-employees/
Front-end training and consulting firm
VoIP & chat apps for telecom (Mitel)
Real-time telemetry and diagnostics apps for automotive service industry (FCA)
Customized global developer platforms training (Facebook, BlackBerry)
Modern search UI and experience for Ontario Electronic Land Registry (Teranet)
B2B e-Commerce portal for retail giant (Adidas)
DevC Toronto
1500 member community
Monthly meetups, guidance, training, networking, learn about latest tech from Facebook platform
https://www.zdnet.com/article/walmart-deploys-17000-oculus-go-headsets-to-train-its-employees/
Talk about each image and how it’s market is relevant
We are going to walkthrough a variety of options to get started with these technologies, to get a better understanding of the state of the art in 2018.
Once we understand where each tool or library is focused, hopefully we can make a decision about what is the appropriate level of detail for us
How many of would consider themselves beginner web developers?
How many would consider themselves to be intermediate? Expert?
How many would consider themselves to be beginner AR/VR developers?
How many would consider themselves to be intermediate or expert AR/VR?
Core building block of many libraries in this field
WebGL is too low level for web developers (shader pipeline code, GPU programming) – basically the thinnest layer possible for a browser to access the GPU directly
Fun to learn about, but need to dedicate a huge chunk of time to become a computer graphics expert
Need strong understanding of mathematics in computer graphics (linear algebra, geometry, some physics)
Not the best use of time when you have a real web project with tight deadlines
Ricardo Cabello – Mr.Doob
Beware, not all the example code has been ported over to work with ES6 modules, this is an open issue on GitHub
Introductory threejs code,
Draws a config scene, camera, renderer, view cube
Much easier to work with than dealing with low-level WebGL API
Basic boilerplate and set up info to configure a VR session on a web page
Handles enormous amount of boiler plate code to set up a VR session consistently across many different types of set ups
https://caniuse.com/#search=webxr
// Checks to see if WebXR is available and, if so, queries a list of
// XRDevices that are connected to the system.
// Adds a helper button to the page that indicates if any XRDevices are
// available and let's the user pick between them if there's multiple.
// Is WebXR available on this UA?
// Request an XRDevice connected to the system.
// If the device allows creation of exclusive sessions set it as the
// target of the 'Enter XR' button.
// Called when the user selects a device to present to. In response we
// will request an exclusive session from that device.
// Called when we've successfully acquired a XRSession. In response we
// will set up the necessary session state and kick off the frame loop.
// This informs the 'Enter XR' button that the session has started and
// that it should display 'Exit XR' instead.
// Listen for the sessions 'end' event so we can respond if the user
// or UA ends the session for any reason.
// Create a WebGL context to render with, initialized to be compatible
// with the XRDisplay we're presenting to.
// Create a renderer with that GL context (this is just for the samples
// framework and has nothing to do with WebXR specifically.)
// Set the scene's renderer, which creates the necessary GPU resources.
// Use the new WebGL context to create a XRWebGLLayer and set it as the
// sessions baseLayer. This allows any content rendered to the layer to
// be displayed on the XRDevice.
// Get a frame of reference, which is required for querying poses. In
// this case an 'eye-level' frame of reference means that all poses will
// be relative to the location where the XRDevice was first detected.
// Per-frame scene setup. Nothing WebXR specific here.
// Inform the session that we're ready for the next frame.
// Get the XRDevice pose relative to the Frame of Reference we created
// earlier.
// Getting the pose may fail if, for example, tracking is lost. So we
// have to check to make sure that we got a valid pose before attempting
// to render with it. If not in this case we'll just leave the
// framebuffer cleared, so tracking loss means the scene will simply
// dissapear.
// If we do have a valid pose, bind the WebGL layer's framebuffer,
// which is where any content to be displayed on the XRDevice must be
// rendered.
// Clear the framebuffer
// Loop through each of the views reported by the frame and draw them
// into the corresponding viewport.
// Draw this view of the scene. What happens in this function really
// isn't all that important. What is important is that it renders
// into the XRWebGLLayer's framebuffer, using the viewport into that
// framebuffer reported by the current view, and using the
// projection and view matricies from the current view and pose.
// We bound the framebuffer and viewport up above, and are passing
// in the appropriate matrices here to be used when rendering.
That is a lot of code just to create a VR scene. Good to know what the API is responsible for, but if what if you just want to start building VR environments in the browser, as quickly as possible?
Is ~10 LOC quick enough?
This is the best place to start for 90% of web devs
https://aframe.io/
Brilliant entity component framework by Mozilla, allows you to declaratively build and define a 3D VR scene with a natural HTML markup syntax
Abstract a scene using entity component architecture
Components and entities abstract 3d concepts like geometry, mesh, lighting, textures into single objects in a scene
Can create higher level re-usable components
Declaratively mark up a scene using high level re-usable components
Multiple ways to install, depending on your projects build setup.
Declaratively build a scene by nesting entities inside of <a-scene>
Components are an entities Attributes
Compose entities of each other
Can extend this to a full interaction model
Load huge geometry effeciently
This fetches the latest version of the CLI and installs it on your system. After installation, we can use it to generate the initial code for our first project. Start by navigating to a directory where you would like to put your new project, and run the command to create a new project called Hello360.
This creates a new directory called Hello360, with all of the files needed to run your project. Enter the directory to view them.
During development, the bundler runs a local server that allows you to access your project. It serves up the files for your project, doing any necessary compilation or processing at request time. When you're ready to publish your project, you can instruct the bundler to build production versions of these files, so you can place them on any web server. For now, start the development server with the following command.
After the first load, successive loads are much faster, even when you change your code. You can watch the progress in the terminal where you started your server, and once the app has loaded you should see something like this in your browser:
Previously React VR, project has been replaced with React 360. Focused on 3D and 360 UIs, and photosphere and 360 video integration for web applications
React 360 allows you to use familiar tools and concepts to create immersive 360 content on the web.
Abstractions are focused on user interfaces and user interactions, rather than focus on 3D scene framework (A-Frame approach)
Uses Three.js internally, but in the future will be open to working with WebGL directly
Executors
Executors are pieces of the runtime that run your React application in a separate process from the main browser window. React 360 ships with two different executors, but chances are good that you don't need to worry about configuring this.
Web Worker Executor
Web Workers are a modern browser feature that allows code to run outside of the main window context. This is ideal for high-cost operations, or in our case, running code without interrupting the requestAnimationFrame loop. By default, React 360 uses a Web Worker to execute your React code. That means that any code found in your index.js runs inside a Web Worker environment, not the standard browser window
React 360 is still in VERY early stages
Mininal API surface, not many built-in Components and APIs yet. Oculus native APIs are the focus for game development, React 360 has transitioned to focusing on developing Immersive 360 media for the web, which can be experienced with VR and AR equipment, but its not necessarily a requirement.
Not many examples yet
Windows Mixed Reality
Smartphone cameras
Generally understood as a bit harder to pull off a good AR experience, compared to VR
This is because VR developers have 100% control of user perception. AR needs to take into account data from the real world, at human scale and time
Markers allow the AR engine to determine physical space that is being viewed by the camera
Algorithms adjust over time, if the expected surface “drifts” from the actual surface, markers help the AR engine correct itself
Can think of like a “QR” code to activate AR display
Can create custom markers as well
But AR.js supports another kind of marker, called barcode. Each of those markers contains a kind of binary code which encodes a number. For example below, you see one representing 5
While the tech is not quite mature, the capabilities of the existing tech is quite impressive
The more time you spend working with AR and VR features, the more you start to feel like this is going to be the future for a lot of industries