Can JS also build the metaverse?
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Subtitle |
| |
Title of Series | ||
Number of Parts | 287 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/56833 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
Computer animation
00:37
CodeMobile WebDigital photographySource codeDisintegrationPhysical systemData managementSoftware bugProbability density functionPlanningData structureGroup actionProcess (computing)Independence (probability theory)Web browserWeb pageComputer-generated imageryNormal (geometry)VideoconferencingStreaming mediaControl flowLink (knot theory)TwitterWhiteboardBasis <Mathematik>Content (media)Linear mapVisual systemStack (abstract data type)Patch (Unix)Integrated development environmentAxiom of choiceAnalogyInteractive televisionExplosionVirtual realityAvatar (2009 film)Information securityTraverse (surveying)Identity managementData typeOpen setPresentation of a groupImplementationSineSpeech synthesisPrisoner's dilemmaMultiplication signWeb browserSoftwarePoint (geometry)Proof theoryBitCore dumpSpeciesPrototypePerspective (visual)TouchscreenSoftware testing1 (number)Connectivity (graph theory)WeightRevision controlWordOrder (biology)Lattice (order)Different (Kate Ryan album)Term (mathematics)VideoconferencingMereologyData storage deviceSoftware maintenanceSummierbarkeitMedical imagingPattern recognitionLevel (video gaming)Standard deviationPresentation of a groupProduct (business)Reverse engineeringArithmetic meanAugmented realityTraverse (surveying)Link (knot theory)Meeting/Interview
04:47
Normal (geometry)Game theoryMathematicsHead-mounted displayCyberspacePerspective (visual)Interpreter (computing)CASE <Informatik>MereologyProper mapMultiplication signGame theoryWeb page1 (number)NeuroinformatikObject (grammar)Fiber bundleSubject indexingElectronic mailing listStudent's t-testView (database)MetrePrisoner's dilemmaPoint (geometry)Computer animation
07:42
Multiplication signMoment (mathematics)VideoconferencingGame theoryWeb pageDynamical systemMereologyVirtual machineBootingMeeting/Interview
08:26
Normal (geometry)Entire functionWeb pageUniform resource locatorWikiGroup actionVisualization (computer graphics)PixelWeb pageMereologyPopulation densityData structureDifferent (Kate Ryan album)HypermediaPrototypeComputer animationMeeting/Interview
09:20
Probability density functionSynchronizationContent (media)Software bugSynchronizationCyberspace1 (number)WikiHead-mounted displayBuildingKeyboard shortcutCuboidLattice (order)Tablet computerNumberMultiplication signView (database)Shooting methodSpeciesMeeting/Interview
10:31
Point cloudLattice (order)Probability density functionEndliche ModelltheorieRippingBlock (periodic table)BuildingOpen sourceServer (computing)MereologyDifferent (Kate Ryan album)Connectivity (graph theory)Virtual machineHead-mounted displayTablet computerDisk read-and-write headProcess (computing)Client (computing)1 (number)WebsiteDescriptive statisticsComputer fileObservational studyFrame problemComputer animationMeeting/Interview
11:57
Virtual machineComputing platformPoint (geometry)Vector potentialCyberspaceMetreRobotics
12:49
Drum memoryDifferent (Kate Ryan album)Vector potentialSoftwareConnectivity (graph theory)Ferry CorstenComputer animation
13:15
Discrete element methodArithmetic meanServer (computing)WebsiteRight angleAvatar (2009 film)Web 2.0Profil (magazine)Point (geometry)Game theoryMereologyImmersion (album)MathematicsBitComputer animation
14:51
OvalProfil (magazine)Immersion (album)MereologyServer (computing)Link (knot theory)Different (Kate Ryan album)Point (geometry)Arithmetic meanDoubling the cubeFamilyStudent's t-testComputer animation
15:35
OvalComputer networkPeer-to-peerVideoconferencingWahrscheinlichkeitsfunktionStandard deviationContent (media)World Wide Web ConsortiumWordVideoconferencingSoftwareMereologyRule of inferenceArithmetic meanProfil (magazine)Client (computing)Server (computing)ImplementationCyberspaceFrame problemDifferent (Kate Ryan album)NumberSystem callNetwork topologyInstance (computer science)Uniform boundedness principleForm (programming)Execution unitComputer animation
16:55
Hydraulic jumpServer (computing)Public key certificateVertex (graph theory)Revision controlCloningClient (computing)CodeMobile WebIntegrated development environmentTerm (mathematics)Greatest elementWeb pageNewsletterLevel (video gaming)Object (grammar)VideoconferencingVirtual realityServer (computing)SoftwareFrame problemData storage deviceLoginComputer animation
17:38
Personal identification numberAvatar (2009 film)Profil (magazine)Web browserWindowFigurate numberServer (computing)LoginComputer animation
18:23
Drum memoryWindowMereologyDisk read-and-write headServer (computing)Domain nameEmailMultiplication signExecution unitBitHead-mounted displayAvatar (2009 film)Virtual realityImmersion (album)TwitterComputer animation
20:35
Variable (mathematics)VolumeCodeWordComputer programmingElectronic program guidePhysical systemProcess (computing)WebsiteService (economics)Time domainControl flowDomain nameLink (knot theory)Repository (publishing)Data typeSelf-organizationSoftwareFrame problemCore dumpRule of inferencePoint (geometry)Server (computing)Uniformer RaumPRINCE2Connectivity (graph theory)Interface (computing)ImplementationSource codeForm (programming)Game controllerQuicksortRing (mathematics)Reading (process)WordProper mapMereologyImmersion (album)Functional (mathematics)Open sourceSet (mathematics)Arithmetic meanComputing platformLattice (order)Profil (magazine)Different (Kate Ryan album)LoginComputer animation
22:31
Pay televisionContent (media)Data modelText editorUniqueness quantificationEndliche ModelltheorieIntegrated development environmentComputer networkInformation privacyInternet service providerMaizeDemosceneLogical constantGroup actionLoginLink (knot theory)Computer-generated imageryPoint cloudWeb pageMathematicsNetwork topologyHome pageSheaf (mathematics)Boom (sailing)Standard deviationDrum memorySynchronizationDemosceneNP-hardComputing platformServer (computing)BitDecision theoryAvatar (2009 film)Pay televisionWeb 2.0Immersion (album)
23:06
DemosceneWeb pagePay televisionPoint cloudContent (media)AbstractionRevision controlFeedbackText editorVirtual realityGoogolFacebookInformation privacyPhysical systemAvatar (2009 film)Order (biology)Set (mathematics)Connectivity (graph theory)Degrees of freedom (physics and chemistry)Content (media)Game controllerServer (computing)Insertion lossUniform boundedness principleConfidence intervalComputer animationMeeting/Interview
24:12
Cloud computingElectronic mailing listServer (computing)Rule of inferenceType theoryDimensional analysisDifferent (Kate Ryan album)Data structureSoftwareNumberImplementationDampingForm (programming)Message passingProfil (magazine)Ultraviolet photoelectron spectroscopyOpen sourceArchaeological field surveyPortable communications deviceMultiplication signCASE <Informatik>Metropolitan area networkSoftware engineeringDisk read-and-write headArithmetic meanComputer animation
28:54
Computer animation
Transcript: English(auto-generated)
00:38
Hello everyone, my name is Fabien, and we're going to discuss about the metaverse today.
00:44
I'm going to start by introducing myself, define what the metaverse is, because otherwise if we start to build or see how it can be built properly without defining what it is, then probably we're not going to talk about the same thing. So it's going to be a definition, obviously their canonical definition,
01:04
and then I'm going to show you how to build one version of the metaverse, thanks to existing tools. Why do I start, let's say, with a non-technical part is because I think honestly starting with why it matters, why it's interesting is more important, otherwise
01:27
we build really cool stuff, but there is no point, so even worse is dangerous. So that's the little visual that you can see there on the screen, it's a bit of a mess, so I'm going to decompose it, and I'm going to start by introducing myself.
01:44
So my name is Fabien Venetou, I work at the European Parliament, here you can see me letting the former president of the European Parliament try some AR glasses, and using augmented reality do some facial recognition. So a lot of proof of concepts
02:03
like this, testing is the same hardware, but how it could be used, and a lot more different prototypes, events, creating things, focusing on virtual and augmented reality on the web.
02:21
What motivates me to do this, besides let's say art, cool new tech, is because I have a bunch of notes and I want to organize them, so you can see some example of documents there and being in a virtual world, not even in video actually, because you can see the video, and someone else being there, so it's social, and then I have my notes on it and
02:45
a bunch of different examples like controlling my light bulbs, organizing the documents again, managing your camera, anyway a bunch of different prototypes and proof of concepts. I mentioned the proof of concepts part because that also means I'm not working on production
03:05
ready software, so my perspective is going to be a lot more about discovery, thinkerability, but not necessarily like long-term maintenance. I think we're at that stage now anyway for the topic, both of VR or the metaverse, that it's still early stage, so that's also why the
03:23
architecture, in my opinion, is so important to get right, not just making stuff. And yeah, you might have heard the metaverse term recently, but the first time I not just used it but participated in a professional meeting was then, and that is in 2016 in San Jose at the Samsung HQ.
03:50
The goal was to define actually one of the core components, which is link traversal. So the WPC, for those who don't, I imagine most people into JavaScript know what it is,
04:03
but it's basically defining standards for the browser, so how the browser are going to behave the same way when we ask them to do the same thing. That's very important, especially at least to know what it is and how it works, especially when we have so few browsers
04:23
in general and especially in VR. There are very few browsers that are WebXR compatible, so knowing who is doing what and also being aware of their motivation, I think it's pretty crucial. But anyway, the point is, I'm not deciding to make a metaverse presentation for Fuzzdom
04:43
out of the blue. I've been working on this for more than five years now. So why VR? First of all, you don't need VR to be in the metaverse. You can really, well, without any problem, go around in a 3D world connected to another and see people,
05:05
work on solving a problem without one of those fancy headsets. So first of all, they are fancy, but they're getting cheaper and cheaper. You have either standalone ones or ones like this that connect to a desktop, a desktop that can run Linux. It's working really well.
05:26
I'm not saying it's going to be a trivial plug-and-play five-minute setup, but it's really working properly. But again, why in the first place? You could use a VR headset to join the metaverse. So why? Because you're going to feel there. I know it sounds silly,
05:44
and if you've never tried it, that's going to be actually my first recommendation, is do try it. And you can remain critical about it. This is far from perfect. But it works. So that's the amazing part. You put the headset on, and then you feel,
06:02
or you know you're somewhere else. You're physically present here, let's say, working from home, little office, and yet you see a different place and you feel you there. So this is amazing. This is an amazing opportunity. It's not a requirement, once again,
06:20
but I do recommend you give it a go at least once. Again, even if you say, well, this is a gadget that is stupid, I'm never going to need it. Perfectly fine. And my perspective on this is also that you don't need every tool all the time. You might need a pen and paper to sketch, draw. You might need a computer to develop. You might need a VR headset to visit an architectural model,
06:42
but you're not going to visit an architectural model through text. It's going to be just too challenging, and you're going to have different interpretations. The same way you're not going to read 300 pages in a VR headset. You can do that, but I don't recommend it. So then it begs the question, what is VR for?
07:00
When is it actually interesting? So I left a couple of examples here. So this is 4D toys. It's a game if you want. And you're exploring what it means to manipulate not just 1D, 2D, 3D, but also 4D objects in a mathematical space. So I think for this kind of usages, that's really, really interesting. That's really fun because
07:25
I don't know how to do this otherwise. And that's the kind of use case where VR really shines. You just don't know how to make that without a headset, without some manipulation and
07:41
being in space. The other part is places where you shouldn't be because it's too dangerous or it's too far away. Let's say we're not going to go to Mars. Not you, not me, but we can be there through VR. And games like this, I'm not going to let the whole
08:02
video play, but it's kind of crazy. It is. So you have some pretty scary creatures and places, and then you have a mission, you have some game dynamics. So that's another really cool usage is that you're telling a story, shaping a moment in time
08:22
for someone. And again, it works. So the other part is, so I said I wouldn't read a 300 pages document, but my own motivation for VR is here I have a small office and I want to have my posters, my notes, because I take a bunch of notes on any kind of support and I want to be able
08:43
to organize them. So I don't want to read my notes in VR because the pixel density is too low and it's just not as pleasant. And maybe I'm also not used to it. Maybe I like to be on my couch and just scribble on my notes. So this I don't want to give up on. But one part that
09:02
I really like, and I don't know if some of you have done it, is toss all the papers I need to on the floor and then organize it or stick it on a whiteboard or pin them on the wall to get some structure out of it. I think this is really cool. So I've done a lot of prototypes, different ways to do it, a kind of notes city where each of those are actually pages of my
09:25
wiki. So this is basically impossible to do otherwise, especially if you keep it in sync. So in my opinion, that's number one. You don't need a VR headset to explore the metaverse or build on the metaverse. It is amazing if you do, because then you're going to feel there
09:42
with a shared space with colleagues or friends or strangers, but you don't need it. And if you do need it, if you do rather decide that you're going to use a VR headset, make it worthwhile, make it worth enough time, excitement, enjoyment, or find a radically new way to do things that would otherwise be impossible. VR is not necessary. It's just another tool in your
10:06
toolbox. It's nothing more than that, nothing less than that. The same way you would use a pen or a desktop with a keyboard or a tablet, whatever device or screwdriver, whatever. It is what you make use out of it. So one, yet another two in your toolbox. It makes the metaverse a lot more
10:29
there once you're in it. So I'm going to give a practical example of what are the building blocks of the metaverse. I'm going to use Mozilla Hubs because it is open source
10:45
and it's web-based, so that's the JavaScript part. It's using React for the 2D UI and A-Frame for the 3D and VR components. And itself, A-Frame is based on 3GS.
11:06
So I'm going to start by creating a room, which is going to be a 3D world. And as I said before, VR is optional, so I meant it. You don't need a VR headset. If you have one, try the ones. It is amazing. If you don't, then you can use a desktop. You can even use
11:24
your phone or a tablet. So here I'm just navigating around, looking at the 3D world. And you can modify that, of course, because it is on GitHub, server side included. The server side stack is relatively complex, but then the client, which allows you to see all this and
11:42
connect with other people is much easier to tinker with. And I have a bunch of different prototypes, so feel free to ask me what's possible. I'm not happy to clarify. So what of course I can do is connect with another machine to make as if
12:04
we were there in the same space together, because that is one of the points. Entering the room, and I'll navigate where my other little robot is. I'll go in front of it so
12:25
we can see. Mute. Quickly. And voila. We can see each other, let's say. So that's a good step.
12:40
But then, okay, just like one 3D world, one on the web, across platforms. That's cool, but that's not the metaverse, is it? Sure. But then how do I make my metaverse? So I think starting with Hubz is good because it shows the potential of a full-blown experience, again, across different solutions, phone, headsets, desktop that I'm going to show.
13:08
But I think it's quite heavy because there are a lot of different moving pieces. So an easier example is this. It's called Networked A-Frame. It's still the same basic component, meaning A-Frame with 3GS, to do 3D on the web. Here I see two different
13:26
avatar, but very basic. What's a bit different, let's say, from a traditional immerse, or rather networked A-Frame experience, is that I can log in here in the top right corner. So what I can do is I can log in through this. So I'm going to go through this
13:45
server, immerse.ovh, because I logged in as utopia at immerse.ovh, accept, and then it's going to load my avatar. It's a cube, so it's not super exciting,
14:01
but yeah, you can see it working there. And then what I can do here on the other side is log in as not utopia. And the interesting part is it's going to use another server, immerse-firstm.ovh. I'm going to log in there and allow it. And you can see my nickname
14:23
changed. I don't think I had an avatar on this, so it kept the very cute, let's say, round person. So that's it. That's the metaverse, in my opinion. We can stop here, but I'm going to explain, or at least decompose a little bit, what happened in that session,
14:44
and then how to do this with hubs at the end. So what happened is that I can click on my profile as not utopia. I'm on immerse-firstm.ovh. Whereas if I go on the other profile,
15:01
I'm on immerse.ovh. No firstm in there. So I made those two servers a couple of days ago, and it took me a couple of hours for each, and it's really on affordable servers. I'll put links on how to set those up. But yeah, the important part is that I have two different
15:23
persons or profiles, but they're on two different servers, and yet they can talk to each other, or they could before I moved there. So how does that work? Well, maybe you're familiar with Mastodent or PureTube. So I have my own PureTube server, and I put a bunch of videos
15:44
including this one on how to set up hubs. And the beauty of it, besides being peer-to-peer and working, is this aspect of federation, meaning that I'm on my server with a couple of users, but also I have 35 followers, but they are not personal followers. They are instead
16:03
entire instances, which also post their own video, where they have their dedicated topic, dedicated culture, etc. I don't have a sound what they're doing on their server. They don't have a sound what I'm doing on my server, and that's again the beauty of federation. We have something, and we're connected through a protocol, specifically here activity pub,
16:26
and that's the same thing on e-merse, being for networked A-frame, or for Mozilla hubs, or maybe if you make your own implementation, there are e-merse clients that is also available.
16:40
And then through activity pub, you can say I'm doing this, I'm doing that, I'm on that server, here is my friend list, here is my profile list. But that's the beauty of it, is that through this federation, I'm part of a bigger network, but I still define my own rules on my own server. So I have those two different e-merse spaces, and then I can see also,
17:04
only I can see the log of my different activities, some chats, where I had this, who I met, etc. So now the interesting thing is, there is this one pager on how to set it up, and that it works with Mozilla hubs. So what I can do is, for example, go on my hubs
17:27
experiment server. I'm already logged in, so it's not going to prompt me, just on the previous example for networked A-frame. It's going to check if I want to log in with this,
17:43
accept, and it already finds my nickname and my avatar. And then what I can do is connect with a private browser window where I connect it with another profile. It connects me as, let's say, an e-merse
18:06
or randomly generated nickname, but if I use my e-merse login, it attempts to log in, I can say who I am. So I think I had a not-utopia. And then to show or demonstrate
18:22
the federated login, I'll use it on this other server. And that's also a key part, that when you're new to federation, might be a bit strange, it's like, oh, you have, I don't know, your Twitter login, or you have your Gmail address,
18:41
you need here to put the domain, because maybe you're not using the most famous server. And again, that sounds a bit maybe strange in the first place when you do that, but the most popular is not necessarily the most interesting, and again, depends on your own values. So I'm
19:02
redirecting to another server. Hopefully it has my, yes, because it's not generated, so I don't remember what it is for these examples. And then I can decide what I want to share, what I don't want to share, giving everything or giving nothing or giving everything.
19:21
I'd suggest this one, I'll allow this. And now it changed my nickname to not-utopia. And then I can join, put an avatar, I don't care for the sound, and voila, we can see each other. I'll try to be here, so you can see on both windows.
19:45
I have my two avatars seeing each other in this virtual space. So again, it's not convenient to show, but otherwise that works with a VR headset. Still optional,
20:02
but in my opinion, that's the most interesting kind of experience you can get. And yes, we can use the chat to say hi. And I have it here, and I'll have it also in my
20:22
Immerse history. So I can close that. And I left them all on my own now. To clarify a bit more what happened there. So what happens is, Mozilla Hubs brings this 3D interface, Immerse is going to add on top of it,
20:45
some customization. And that customization is going to be this login button, is going to be the friend list, or going to be whatever new behavior you want to set up. And thanks to activity pub, it's going to keep the updates and login. So you can do this
21:06
with networked A-frame, another way to build your 3D world with hubs, or if you have another one, so a frame VR is an alternative, you can also use that. So you already have networked A-frame,
21:22
Mozilla Hubs, frame VR by Viberla, so at least have three different implementation of VR or 3D that are compatible with Immerse. So to me, that's the exciting part. Immerse per se give a set of functionalities. Hubs is nice, frame VR is nice for other things. It's closed source,
21:41
but Hubs is open source. But the point is, they can still communicate to each other, and I can communicate with somebody with another profile from another platform. So that's the core aspect to me. That's the core aspect that Immerse is bringing to 3D or VR.
22:01
And that's the core component of what I believe is a proper metaverse, meaning something federated, something you keep on having control on, something that if you want to join servers together, network together, you can, but according to rules and forms of behavior that you believe
22:23
are just or fair or things like this. A quick word that this also means is you need money or you should have a way to pay for your hard work or your services.
22:40
And that's why also it's interesting that it's not required also, but Immerse proposed directly web monetization. So for some of you who are not aware of it, web monetization is, for example, using Coil or other platforms is going to give you a little bit of money every second you're on the server. And then you can have access to a new feature,
23:03
let's say other scenes, premium scenes or other avatars. And then you're going to find a way. Why it's interesting? It's because then you're not going to have to rely on advertising. Advertising per se is not necessarily bad, but if it destroys privacy, the consequences,
23:25
for our society, for the political system is pretty terrible. It's not just about yet another type of soda. It goes much deeper than this. It's much more riskier than this, I would say. So yeah, that's a set of components that I think make a lot of sense together.
23:46
WebXR, how you're going to bring 3D content to a headset with six degrees of freedom moving in space and with your controllers. GLTF for the 3D assets, how you can
24:00
have an avatar or a backpack, whatever you want to put and then show. And then Immerse, relying on ActivityPub in order to have a federated server. So I'm going to summarize this in a minute or so. What we saw was you can have 3D or 2D
24:22
or even text as ways to converse on the metaverse. The number of dimensions or if it's using VR or not, of course makes a different experience, but it's not the most important. We can have one example of an implementation like a Hubs room,
24:41
and you can have two rooms on the same server, let's say the Mozilla.com server. But what that means is that we have one server and we have the same person owning it, the same person paying for it. And you can even have two servers. You can have one MozillaHubs. Mozilla.com or whatever Mozilla.com that are two physical servers,
25:05
but still paid by the same person. And when what people usually consider is that, it's technical. But what I'm trying to argue here is that it's different. It's about power. You like Mozilla, or maybe you don't, and maybe you like some of the rules they set in place,
25:26
maybe you don't. So what's interesting is if you have, for example, two different Hubs servers, one owned by Mozilla, another owned by you or me, and we don't have exactly the same rules, and yet we find a way to connect. We find a way that I can link to your server or you can link
25:46
to mine. It means going to have different owners and different rules. What's also interesting is you can do that, but with different apps or services, you can have Hubs with, for example, network frame, as I showed, also frame VR, which is not open source, hence the little lock there.
26:04
But what's interesting, again, is when we can do that, go from a server to another with an owner that is different, with even an implementation that is different, but instead of having just, let's say, going there, we have some form of data portability. We have some form of
26:21
bringing or relying on the same, for example, profile, because the profile can have a list of friends, can have a 3D avatar, can have whatever you can come up with. But basically, it means being able to go from a server to another with different owners, with different rules, and not starting from scratch or being, let's say, someone else. So that's what Federation
26:47
is all about, that Federation works in 3D or in VR, is actually crucial or, I would say, more interesting, not, let's say, for the technical aspect, even though it is interesting, but
27:03
for what some would say, to quote Mark Lewin, the medium is the message. What does it mean when we have a different medium? Here, we're going to, let's say, walk around in VR, but then it's basically a metaphor for social networks, all those different 3D worlds
27:21
together. So, in social networks, the message is society. What kind of society do we want to live in, work in, etc. And the structure, the technical structure underlying the metaverse is going to change our society. So that's why I believe using open source, using a Federation
27:47
type of network is so important. It's not just because it's like cool tech, it's because it's going to impact back our society the way we want to live together. So that's why I encourage
28:01
you to check ActivityPub and the E-merse implementation. That's why I encourage you to try hubs and how you can have different federated servers and maybe set up your own server, maybe try your own implementation of activity hubs with another server. But as long as we can connect back together in a way where we don't even need or want to use a central server, then I think
28:26
that's going to shape back a society that is much more resilient, much more interesting, and for us as individuals, much better than a central actor in the middle that is driven by
28:43
just let me know if you want to meet on the metaverse, if you want to build yours, or if you have any questions. Happy to try to help if I can. Take care!