 Hello, everyone. Can you all hear me? Okay, great. Who here has seen one of my talks before? Oh, that's great. I'm actually really excited about this. So many of you have not seen me talk before, which is awesome. So I'm Dan Jenkins. I'm going to talk about building immersive experiences with the web. I'm Dan underscore Jenkins on Twitter. So I run a RTC consultancy business, and I'm a Google developer expert, and I organized something called ComCon. But I've only got 20 minutes, so I'm going to crack on. So the web platform. How many of you in here would class yourselves as web developers? Okay, interesting. How many of you would class yourselves as software engineers? How many of you in here don't work on the web at all? Great. Okay, you're all in the right room. So the web platform. It's kind of the internet, and then there's this platform built on top of it, and we get this amazing thing out of it. That's pretty cool, isn't it? So Wikipedia says that the web platform is a collection of technologies, and it's built on being able to go to a hypertext URL, and this is all very, very boring, isn't it? I say the web platform is more than just a bunch of technologies. It lets us do more and more things every single year, and lets us open up a URL on one device and see some information. We're able to then share that information by sending that same URL to our friend. We could send that URL however we wanted to. It's not opening up an app, going through a load of UIs, UI views, and then, oh, how do I send this link? How do I get this link out of this app? It's completely different. The web is designed to be searchable, browsable, and to make it easy to find information. But it's an open platform, and the more and more stuff is being done to it in the past 10 years than way before that. And these underlying changes, like what was it? Seven, eight years, we were talking about HTML5, and that was amazing because we could play videos without Flash. But now we're talking about things like Web Bluetooth, and Web XR, and sensors, and amazing other things like WebRTC that allow us to have two-way communication. So it's an underlying ethos that you should be able to use any device with a web browser and use the web in the same way, no matter what device or browser you're using. I mean, I'm surprised you haven't all laughed at me hilariously as I said, use the web in the same way on any device in any browser. Half of the room said they were web developers, and I'm guessing half of the room is about to laugh in my face and go, well, Apple does things differently to Mozilla, does things differently to Google, where we all know that Edge soon will do things the same as Google. So it's a very, very weird platform, but it's so, so powerful. Well, apparently, presentation mode did not turn off my notifications. Oh, yeah. You don't want to see that. That is screenshot after screenshot after screenshot. So, yeah, the web platform is what makes us carry on driving things forward and giving new experiences to our users. I might work in the telecommunications industry. I class myself as a web developer. I always class myself as a web developer. So I go to VoIP conferences and they're like, oh, yeah, yeah, like WebRTC and VoIP, and you do a load of VoIP work as well. But I don't actually understand every single line of what something called SDP that you don't want to know about. I don't understand every line of that because I don't need to. I have very clever friends that I can go and ask when I hit a problem. I'm a web developer and I care about a web experience and I care about using the web platform properly. So, Mozilla and Google keep adding new and new APIs and that pushes things forward and that's amazing. But we're still kind of falling behind when it comes to at least mobile native applications. The fact that to be able to do certain things on a mobile device, I have to create a native application makes me cry inside because I love writing JavaScript. I love writing HTML and I love writing CSS. I love going to a URL and being able to just go to that thing. I don't have to download an app. I mean Android has these like instant apps now. It's a load of bollocks. I mean, has anyone actually used one? So, I love being able to discover and explore the web, the web platform, the internet and we're slowly getting there but at the same time we keep moving backwards as well. As you might be able to tell, I love the web platform. So, I'm a web technologies GDE. That doesn't mean that I'm employed by Google. It means that Google have kind of rubber-stamped me as someone that knows what they're talking about when it comes to web technologies. So, I love telling people how awesome the web is. So, my top title had WebXR in it, didn't it? The WebVR is up there. Well, WebVR was around about a year, two years ago and then probably around a year ago it got changed to WebXR. We all know what VR stands for, virtual reality, but what does XR stand for? XR is really anything like cross-mixed. It's, at the moment, it's virtual reality and augmented reality but it could be anything. It could be anything that kind of allows us to interpret space using our phones, our browsers. So, WebXR is the internet and VR. Well, I'm going to mainly talk about VR because augmented reality part of it is kind of works, kind of doesn't work. You kind of need to install some certain things to be able to make it work properly on iOS. So, I'm going to talk about the VR part of it. It's also this. So, yeah, what is WebXR? Is everyone following me so far? Yeah? Yeah? No? Okay. Let's get some energy. Come on. It's the web platform. So, this is the really, really long version that's on the immersive web WebXR explainer. I actually went and copied the first statement from the draft and it was way complicated. But basically, WebXR allows us to take input and output and map them into devices that already exist today, such as the Google Daydream. The Daydream you put your phone. You put a phone that is Daydream compatible into the device and, hey, Prasto, you've got a VR headset. And that costs 100 quid, $100. So, it's a very, very cheap way of getting into VR. But WebXR, because it does augmented reality as well, allows us to start using the Windows headsets, as well as the new magically headset, which I'll talk about a little bit later. But basically, anyone that has a Daydream enabled phone or a Samsung Gear VR phone can go and build amazing VR experiences on the web. You don't need any special hardware. You need something that costs 100 quid. Sorry. So, all of this sounds really cool, doesn't it? Like, building stuff with JavaScript. Like, being able to do awesome 3D-type stuff, we've been able to do that with 3JS, like making it easy for us, those of us that don't have maths degrees. We've been able to do that for a little bit, but being able to make a 3D environment in a headset on the web where I can just go to a URL, like, that's amazing. So, I was really, really excited about this and I've been doing a couple of talks about it. And then, I was prepping for FOSDEM and I was super happy. And then, this week, this tweet appeared, it's official, Apple will cut vital sensor APIs in Safari from iOS 12.2. Web VR is dead. So, initial reaction was, oh, Apple! Again! If you don't know, Apple didn't put WebRTC into Safari for seven years. Well, six in a bit. They've finally done it. But, oh! And I was like, oh! They're doing it again! So, go on to the GitHub thing, but at least everything's being done publicly this time. And they said, no, we're going to disable these APIs because they're being abused by ad providers. And we don't have a request permission model yet, so we can't say to the user, do you want to give permission? Do you not want to give permission? And it's already being abused, so if we did add an alert in or something, then the user would just get alert after alert after alert. And that's not a good user experience, so they were like, we're just going to disable these APIs. Boo! Because for a very long time, I've had to tell people, ah, this Web VR stuff, it works really, really well on Android, and it's coming soon to iOS. Ugh, I lied to everyone. But if you read the whole thread, they really don't want to do it. They kind of feel like they have to because ad people are ruining... Who works for an ad provider here? Shame, you're not going to put up your hand, are you? But seriously, they don't actually want to do it. They're trying to work things around, whether or not they might leave it in beta, really, VR isn't meant to use the APIs that they're blocking. It's just that because iOS doesn't natively support VR, XR, there's a polyfill that utilizes these gyro... Gyro-scope? The APIs that tell you when you move. So the APIs are kind of being abused but not abused at the same time. So hopefully it will get sorted. Yeah, we'll leave it there. Ignore the fact that there's any negativity in this talk and the web platform is amazing. Be sad at Apple. So building an immersive experience. So to me, the web platform does this best. We are able to mash up loads and loads of APIs that are suddenly available to us and we're able to create these amazing experiences from a URL. I mean, I keep talking about this URL thing, but the URL is actually the best thing about the web, really. You can take that URL, you can send it to someone, it's discoverable, people crawl, Google crawl, Bing crawl, and you're able to search for these URLs and find information. You'd never be able to do that with a native app. Like, how would you ever find information about somewhere to eat in, like, not just from one app across multiple apps from multiple sources of information? How would you ever be able to really do that in a purely native world? Because all of these native apps utilize the web. They all talk to APIs, et cetera. So the web platform allows us to mash up these APIs. So I thought, well, we're in the RTC room. We're not in the JavaScript room. So let's use some RTC. So how many of you have used WebRTC in any form? Tried to build something with it, tried to do something with it at all. Okay, that's most of the room. Great, you're in the right room. How many, just out of curiosity, how many of you have actually gone and deployed something? I don't care whether or not it's still running. Okay, that's my usual drop-off. About 50% have tried it and then probably failed and then gave up, usually. Okay, how many of those 50% less? How many of you are still running stuff in production today? Okay, and that's my usual drop-off as well. It's really, really interesting. Loads of web developers saw WebRTC and went, oh, my God, this is amazing. We don't have to use Flash anymore. We don't have to use Java applets. We can access a webcam and we can access a microphone in the browser and we can send it to our mates via the web and I just have to use my browser. And then they tried it, had loads and loads of issues and then gave up, which is really, really sad. So hopefully we're going to make that a lot easier and bring a load of you back and try it again. So WebRTC, this is me last August? No, July. Talking at something called Clucon, which is a free switch event in Chicago. And this is a VR world, virtual world, and this is me and someone else up on a screen in virtual world. And this is me. I decided I wasn't going to do demos because it takes too much time to set things up. But this is me talking at AstraCon, which is another VoIP-type event. But you can see up on the screen there, there's two videos up in this virtual space. So you can start creating this virtual experience where you have people on webcam, but you create like a table, like you create a boardroom, and then you have a video here, and you have a video here, and you have a video here. And as people are talking in this conference, you can look around at them as though you're in the room. That's pretty cool. I say I didn't do a demo because it's too complicated. I didn't do a demo because it doesn't actually really work in practice. Where's my phone? My phone is here. Where's the webcam? No one can see me. So there are problems to think about, but if you're not an active participant in that conference call and you're just watching it, like you're watching this conference, then you could be in this room looking around. That's pretty cool. So you can do all of this with the web platform. But I was talking about mashing up APIs, so web Bluetooth is something pretty cool. And this little pointer here is Bluetooth. So I can connect this up to my browser as well, and this can then interact with that VR space, that 3D space. If you're really interested, there's an amazing talk about WebXR from Google I.O. this year, and I'll put these slides up. So what better way to make the web more immersive than to make an immersive web browser itself? And Mozilla went and did this. So they made a browser for the magic leap, whatever it's called. So you can travel the web in augmented reality. And I think that's amazing. But really, it's super cheap to get started. So I said this is $99 quid. I went on the Belgian Google Store, and I can't find it for some strange reason. But you can get it in the UK. So there is a reason to come to the UK. But yeah, it can also be expensive, so that magic leap, augmented reality thing, is two and a half grand. Well, yeah, two and a half grand in pounds. Anyway, the conversion rate is terrible at the moment, because, you know... So getting started is really, really easy. You can use something called A-Frame. And A-Frame basically allows you to use components, web components, to build a VR experience. So you can build a VR experience in about 10 lines of HTML. To me, that is truly amazing. Mozilla are really helping push the technology as well. They've got a whole blog on what they're doing. More so than Google. So that's my whirlwind tour on web VR. Hopefully I've whet your appetite enough. So yeah, go build something amazing with WebXR, WebVR. And thank you very much. And you should all come to ComCon in July.