SlideShare uma empresa Scribd logo
单击此处添加文本
GOSIM
Conference
Web browsing on
Extended Reality
Felipe Erias
2
Presentation
• Felipe Erias
Software engineer and interaction designer
felipeerias@igalia.com
• Igalia
Igalia is a Free Software consultancy specialised in
open source technologies on a wide set of platforms
https://igalia.com
3
Introduction
• Challenges and opportunities of Web browsing on Extended Reality
(
XR
)
,
drawing from Igalia’s experience creating the Wolvic browser
• Web browsing on XR enables users to navigate and interact with
traditional web-based content as well as immersive experiences
• Wolvic is an Open Source Web browser for XR devices which supports
immersive experiences
• Wolvic is the only multi-platform Web browser for XR
4
The traditional Web
Traditional Web browsing
• On desktop PCs and smartphones
• Windows and tabs, back/forward navigation
• Bookmarks, downloads, history
• Password management
• Support DRM media playback
• Extensions, private mode, etc.
• Some Web APIs need to be specifically implemented for XR
6
Input methods
• Typically, XR devices use handheld controllers and/or hand gestures
Other methods are supported by some devices
• But most of the Web is made for desktops and touchscreens
• This mismatch can be noticeable for content that is not designed for XR
• Websites may use input modes which can not be replicated easily with
VR controllers, like pinching and dragging, or keyboard shortcuts
• In Wolvic, we usually “pretend” to be a touchscreen or a desktop;
we are also working to integrate external keyboards and voice input
14
16
Readability
• Reading documents is the most basic way to use the traditional Web
• On XR, the reading experience is limited by the resolution of the headset
• In Wolvic, we use a large window size with large text
• But there are several trade-offs with this solution
The screen can not be too large: it would cover the user’s field of vision
The text can not be too large either: the page would be harder to use
• Hopefully this limitation will get better as the hardware improves
17
Productivity
• The large virtual space provides great flexibility to the UI
• We can arrange content to leverage spatial thinking and memory
• We can experiment with richer ways to present information to the user
• UI elements can be positioned on the edge of the user's field of vision,
leveraging peripheral awareness
• XR has the potential to become a productive and flexible way to work
19
20
21
22
Video and entertainment
• Usually provided as regular 2D video; also 3D stereoscopic video
• Popular streaming video platforms
YouTube, etc.
Platform must provide playback functionality via the Web (not only app)
DRM media content must be supported by the browser engine
Examples: Disney+, HBO Max, Prime, Xigua Video, Apple TV, U
-
NEXT…
26
27
Disney+
Disney+: Spider-Man: into the…
YouTube: Graham Norton Show
YouTube: 3D Trailer
•
Avatar 2
The immersive Web
Immersive video
• Served over the Internet as a regular video media file
Can be distributed via YouTube, etc.
The video needs the right metadata so it can be displayed correctly
• The XR browser displays the video according to a specific geometry
Monoscopic: same image for both eyes
Stereoscopic: one image for each eye
Field of view: 180º, 360º
32
AirPano: Santorini, Greece
AirPano: Cancun, Mexico
35
AirPano: Everest
Hellblade - delight-vr.com
Immersive experiences: WebXR
• WebXR is a collection of Web APIs that allow the development of
immersive XR experiences on the Web
https://immersiveweb.dev
https://immersive-web.github.io
https://www.w3.org/immersive-web
https://github.com/immersive-web
• In Wolvic, WebXR is mostly implemented by the Web engine, but
we still need to connect it to the graphical layers, input, etc.
37
WebXR
sprayspace.art
Brush Work
Silk Brush
Education
• Both immersive video and interactive content
• XR is the best way to experience immersive information
• The Web makes it very easy to distribute this content
No need to create a separate app, release it on each app store, etc.
• Even existing platforms like YouTube and WikiMedia can be used
41
YouTube: 360° Airline Pilot's View
anzcrewdg.360vr.world
nationalgallery.org.uk
magische-spiegelungen.de
magische-spiegelungen.de
accessmars.withgoogle.com
accessmars.withgoogle.com
accessmars.withgoogle.com
Gaming
• One of the most popular use cases for XR
• Limitations to deliver large assets
• Performance may be lower than in native applications
• Creative indie game developers
50
plockle.com
Boulderworld - heyvr.io
Moon Rider - moonrider.xyz
Moon Rider - moonrider.xyz
The Wolvic project
Wolvic: origins
• Wolvic started out as Firefox Reality
Initial release September 2018
Goal: bring Firefox to standalone VR headsets
Support the traditional Web plus immersive experiences
Part of a wider “mixed reality” initiative at Mozilla
• Handed over to Igalia in 2022
• https://wolvic.com
56
Components overview
• Custom 3D library (based on GLES2
)
• Web engine
(
Gecko, Chromium)
• Android UI components
• Mozilla mobile Android components (browser functionality)
• OpenXR to access device capabilities
• Some platform-specific libraries
57
Web engines
• Web engine: the component that interprets and renders Web content
• Gecko
Used by Mozilla Firefox
Provides a standalone Android library
• Chromium
Used by Google Chrome
Wolvic support currently under development
58
Multiplatform
• Wolvic uses OpenXR as abstraction layer to access most XR functionality
• But we still need to cover for devices with different capabilities
• We need to test specifically with each device (and work around bugs)
• We need to take device format into account:
VR headset, AR goggles, phone-tethered glasses…
• Different platforms provide different APIs and capabilities
For example, there isn’t an unified way to create a “desktop” app in XR
59
Developed in the open
• Mozilla Public License Version 2.0
• GitHub (code and issues): https://github.com/Igalia/wolvic
• Distribution
App stores: Huawei, Meta Quest, Pico XR
Side-loading packages: https://wolvic.com/dl/
• Funded through OpenCollective: https://opencollective.com/wolvic
60
github.com/Igalia/wolvic
wolvic.com/dl
opencollective.com/wolvic
Conclusions
Conclusions
• Web browsing on XR has great potential for a wide range of use cases,
from education and productivity to entertainment and gaming
• The Web lowers the cost of experimentation and distribution
• The Web can be a venue for innovation and creativity in the XR field
• Still open questions: UI design, input, interoperability…
• Wolvic is key as the open source and multi-platform Web browser for XR
65
Thank you!
felipeerias@igalia.com
https://wolvic.com
https://igalia.com
单击此处添加文本
THANK YOU

Mais conteúdo relacionado

Semelhante a Felipe Erias: Wolvic: Web Browsing on Extended Reality

Phoenix Emulator PPT
Phoenix Emulator PPTPhoenix Emulator PPT
Phoenix Emulator PPT
Vineet Kumar
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the corner
Catalin Gheorghiu
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
Nuxeo
 
Transmission2 25.11.2009
Transmission2 25.11.2009Transmission2 25.11.2009
Transmission2 25.11.2009
Patrick Lauke
 
Introduction to WebGL - 1st WebGL meetup Amsterdam
Introduction to WebGL - 1st WebGL meetup AmsterdamIntroduction to WebGL - 1st WebGL meetup Amsterdam
Introduction to WebGL - 1st WebGL meetup Amsterdam
ThreeDee Media
 
My androidpresentation
My androidpresentationMy androidpresentation
My androidpresentation
niteshnarayanlal
 
The Mobile Development Landscape
The Mobile Development LandscapeThe Mobile Development Landscape
The Mobile Development Landscape
Ambert Ho
 
Mobile Web Development with HTML5
Mobile Web Development with HTML5Mobile Web Development with HTML5
Mobile Web Development with HTML5
Roy Clarkson
 
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Robert 'Bob' Reyes
 
Firefox operating system
Firefox operating systemFirefox operating system
Firefox operating system
Nishant Mehare
 
Android Presentation
Android PresentationAndroid Presentation
Android Presentation
Saurabh Wahile
 
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
 
DjangoSki
DjangoSkiDjangoSki
DjangoSki
Brian LeRoux
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
Reto Meier
 
Tools For Mobile Web Design and App Creation
Tools For Mobile Web Design and App CreationTools For Mobile Web Design and App Creation
Tools For Mobile Web Design and App Creation
Carli Spina
 
Gideros introduction
Gideros introductionGideros introduction
Gideros introduction
Vinh Nguyen Quang
 
Nonintrusive semantic html5
Nonintrusive semantic html5Nonintrusive semantic html5
Nonintrusive semantic html5
Muhamad Arief
 
Rich Web Applications with Aspenware
Rich Web Applications with AspenwareRich Web Applications with Aspenware
Rich Web Applications with Aspenware
Aspenware
 
Android development
Android developmentAndroid development
Android development
Raynax668
 
CHIRIMEN open hardware became open source (English)
CHIRIMEN open hardware became open source  (English)CHIRIMEN open hardware became open source  (English)
CHIRIMEN open hardware became open source (English)
Satoru Takagi
 

Semelhante a Felipe Erias: Wolvic: Web Browsing on Extended Reality (20)

Phoenix Emulator PPT
Phoenix Emulator PPTPhoenix Emulator PPT
Phoenix Emulator PPT
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the corner
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
Transmission2 25.11.2009
Transmission2 25.11.2009Transmission2 25.11.2009
Transmission2 25.11.2009
 
Introduction to WebGL - 1st WebGL meetup Amsterdam
Introduction to WebGL - 1st WebGL meetup AmsterdamIntroduction to WebGL - 1st WebGL meetup Amsterdam
Introduction to WebGL - 1st WebGL meetup Amsterdam
 
My androidpresentation
My androidpresentationMy androidpresentation
My androidpresentation
 
The Mobile Development Landscape
The Mobile Development LandscapeThe Mobile Development Landscape
The Mobile Development Landscape
 
Mobile Web Development with HTML5
Mobile Web Development with HTML5Mobile Web Development with HTML5
Mobile Web Development with HTML5
 
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
 
Firefox operating system
Firefox operating systemFirefox operating system
Firefox operating system
 
Android Presentation
Android PresentationAndroid Presentation
Android Presentation
 
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
 
DjangoSki
DjangoSkiDjangoSki
DjangoSki
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
Tools For Mobile Web Design and App Creation
Tools For Mobile Web Design and App CreationTools For Mobile Web Design and App Creation
Tools For Mobile Web Design and App Creation
 
Gideros introduction
Gideros introductionGideros introduction
Gideros introduction
 
Nonintrusive semantic html5
Nonintrusive semantic html5Nonintrusive semantic html5
Nonintrusive semantic html5
 
Rich Web Applications with Aspenware
Rich Web Applications with AspenwareRich Web Applications with Aspenware
Rich Web Applications with Aspenware
 
Android development
Android developmentAndroid development
Android development
 
CHIRIMEN open hardware became open source (English)
CHIRIMEN open hardware became open source  (English)CHIRIMEN open hardware became open source  (English)
CHIRIMEN open hardware became open source (English)
 

Mais de Igalia

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
 
Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPE
Igalia
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Igalia
 
Automated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesAutomated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded Devices
Igalia
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to Maintenance
Igalia
 
Optimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdfOptimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdf
Igalia
 
Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JIT
Igalia
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!
Igalia
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Igalia
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa
Igalia
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Igalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera Linux
Igalia
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVM
Igalia
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
Igalia
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devices
Igalia
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Igalia
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the web
Igalia
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shaders
Igalia
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...
Igalia
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on Raspberry
Igalia
 

Mais de Igalia (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPE
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesAutomated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded Devices
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to Maintenance
 
Optimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdfOptimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdf
 
Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JIT
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamer
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera Linux
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVM
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devices
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the web
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shaders
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on Raspberry
 

Último

WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 

Último (20)

WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 

Felipe Erias: Wolvic: Web Browsing on Extended Reality

  • 2. Web browsing on Extended Reality Felipe Erias 2
  • 3. Presentation • Felipe Erias Software engineer and interaction designer felipeerias@igalia.com • Igalia Igalia is a Free Software consultancy specialised in open source technologies on a wide set of platforms https://igalia.com 3
  • 4. Introduction • Challenges and opportunities of Web browsing on Extended Reality ( XR ) , drawing from Igalia’s experience creating the Wolvic browser • Web browsing on XR enables users to navigate and interact with traditional web-based content as well as immersive experiences • Wolvic is an Open Source Web browser for XR devices which supports immersive experiences • Wolvic is the only multi-platform Web browser for XR 4
  • 6. Traditional Web browsing • On desktop PCs and smartphones • Windows and tabs, back/forward navigation • Bookmarks, downloads, history • Password management • Support DRM media playback • Extensions, private mode, etc. • Some Web APIs need to be specifically implemented for XR 6
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Input methods • Typically, XR devices use handheld controllers and/or hand gestures Other methods are supported by some devices • But most of the Web is made for desktops and touchscreens • This mismatch can be noticeable for content that is not designed for XR • Websites may use input modes which can not be replicated easily with VR controllers, like pinching and dragging, or keyboard shortcuts • In Wolvic, we usually “pretend” to be a touchscreen or a desktop; we are also working to integrate external keyboards and voice input 14
  • 15.
  • 16. 16
  • 17. Readability • Reading documents is the most basic way to use the traditional Web • On XR, the reading experience is limited by the resolution of the headset • In Wolvic, we use a large window size with large text • But there are several trade-offs with this solution The screen can not be too large: it would cover the user’s field of vision The text can not be too large either: the page would be harder to use • Hopefully this limitation will get better as the hardware improves 17
  • 18.
  • 19. Productivity • The large virtual space provides great flexibility to the UI • We can arrange content to leverage spatial thinking and memory • We can experiment with richer ways to present information to the user • UI elements can be positioned on the edge of the user's field of vision, leveraging peripheral awareness • XR has the potential to become a productive and flexible way to work 19
  • 20. 20
  • 21. 21
  • 22. 22
  • 23.
  • 24.
  • 25.
  • 26. Video and entertainment • Usually provided as regular 2D video; also 3D stereoscopic video • Popular streaming video platforms YouTube, etc. Platform must provide playback functionality via the Web (not only app) DRM media content must be supported by the browser engine Examples: Disney+, HBO Max, Prime, Xigua Video, Apple TV, U - NEXT… 26
  • 32. Immersive video • Served over the Internet as a regular video media file Can be distributed via YouTube, etc. The video needs the right metadata so it can be displayed correctly • The XR browser displays the video according to a specific geometry Monoscopic: same image for both eyes Stereoscopic: one image for each eye Field of view: 180º, 360º 32
  • 37. Immersive experiences: WebXR • WebXR is a collection of Web APIs that allow the development of immersive XR experiences on the Web https://immersiveweb.dev https://immersive-web.github.io https://www.w3.org/immersive-web https://github.com/immersive-web • In Wolvic, WebXR is mostly implemented by the Web engine, but we still need to connect it to the graphical layers, input, etc. 37 WebXR
  • 41. Education • Both immersive video and interactive content • XR is the best way to experience immersive information • The Web makes it very easy to distribute this content No need to create a separate app, release it on each app store, etc. • Even existing platforms like YouTube and WikiMedia can be used 41
  • 42. YouTube: 360° Airline Pilot's View
  • 50. Gaming • One of the most popular use cases for XR • Limitations to deliver large assets • Performance may be lower than in native applications • Creative indie game developers 50
  • 53. Moon Rider - moonrider.xyz
  • 54. Moon Rider - moonrider.xyz
  • 56. Wolvic: origins • Wolvic started out as Firefox Reality Initial release September 2018 Goal: bring Firefox to standalone VR headsets Support the traditional Web plus immersive experiences Part of a wider “mixed reality” initiative at Mozilla • Handed over to Igalia in 2022 • https://wolvic.com 56
  • 57. Components overview • Custom 3D library (based on GLES2 ) • Web engine ( Gecko, Chromium) • Android UI components • Mozilla mobile Android components (browser functionality) • OpenXR to access device capabilities • Some platform-specific libraries 57
  • 58. Web engines • Web engine: the component that interprets and renders Web content • Gecko Used by Mozilla Firefox Provides a standalone Android library • Chromium Used by Google Chrome Wolvic support currently under development 58
  • 59. Multiplatform • Wolvic uses OpenXR as abstraction layer to access most XR functionality • But we still need to cover for devices with different capabilities • We need to test specifically with each device (and work around bugs) • We need to take device format into account: VR headset, AR goggles, phone-tethered glasses… • Different platforms provide different APIs and capabilities For example, there isn’t an unified way to create a “desktop” app in XR 59
  • 60. Developed in the open • Mozilla Public License Version 2.0 • GitHub (code and issues): https://github.com/Igalia/wolvic • Distribution App stores: Huawei, Meta Quest, Pico XR Side-loading packages: https://wolvic.com/dl/ • Funded through OpenCollective: https://opencollective.com/wolvic 60
  • 65. Conclusions • Web browsing on XR has great potential for a wide range of use cases, from education and productivity to entertainment and gaming • The Web lowers the cost of experimentation and distribution • The Web can be a venue for innovation and creativity in the XR field • Still open questions: UI design, input, interoperability… • Wolvic is key as the open source and multi-platform Web browser for XR 65