 And now I'm going to hand you over to Jordan Bakke. Hi, guys. So I'm Jordan Bakke. I'm here from the United States, specifically Irvine in Southern California. And I'm the co-founder of Avisist. We are an eSports tools and viewing platform that is using WebRTC. So how many of you here play video games? Pretty good crowd. So eSports is basically the profession of playing video games online, both casually, competitively, and professionally for money. And it's really a rapidly growing vertical in the sports entertainment space. And a lot of professional athletes and professional sports teams have actually taken in interest in eSports recently. Members of the current and former members of Los Angeles Lakers have brought eSports teams. The University of California at Irvine has opened up first-of-its-kind eSports arena and is offering full wide scholarships for players to come and attend the University of California at Irvine and play League of Legends for them. And this isn't just for people playing the game. This is also for coaches and analysts. So it's taking on things that are much more traditionally associated with professional sports now. And it is growing extremely quickly. I have some notes here that Riot Games experienced in the 2016 League of Legends finals. They had 14.7 million concurrent viewers and over 41 million uniques. In 2017, the Dota 2 International had 5 million concurrent viewers at its peak. And they've also sold out the Staple Center for the Dota 2 International has an $18 million prize pool for the top placing team. And there's also a lot of add-on content coming out now on traditional sports networks like ESPN. So they're doing live reality TV shows, sort of like you would think of boxing, going into a big match. They'll follow the teams around while they train and competitively play. So that's pretty cool stuff. So basically what we noticed about the market was that there was a lot of casual and competitive users who were bootstrapping, sort of an experience with the tools that they're familiar with, which is Skype or Hangouts for screen sharing, and then older VoIP technologies, TeamSpeak, Mumble, Ventrilo to collaborate and play online. And then there's a lot of really newer big platforms like Twitch that are coming out that use traditional broadcast over the web technologies, RTMP and HLS, to basically broadcast one-way gameplay. YouTube gaming is another example of this, where you have a single broadcaster, and they are broadcasting to a very large audience. Some of these people have millions of followers, professional advertising deals. I don't know if anyone here has kids that are probably familiar with their kids now, have their favorite YouTube or Twitch streamers that they like to follow online. And for better or for worse, they're more interested in watching their favorite streamer than they are going outside playing football anymore, soccer. And most of the tools that were available to stream to these platforms are actually open-source tools. There are some paid ones, but they use open-broadcaster, OBS, Xsplit, and these are technologies that are used to basically capture the screen and then broadcast over Flash, which is RTMP Flash. As you know, it's been around for a long time. It's kind of going away. And then it's also some latency is introduced as that video goes both through a CDN, gets transcoded, and then pushed out to the user. So there's usually a 20 or 30 second delay when you're playing on Twitch, which doesn't make it very good for a collaborative just one to one when you're playing together online. So we set out to build a desktop-based application because at the time, we saw that the tools that were out there are typically desktop-based. And we wanted to encapsulate the solution in an iPhone-like experience where we controlled everything about it. There wasn't a website to go to play back the content. And you didn't have to install a third-party extension also to capture your screen. So basically, an all-in-one solution where you can capture your screen and play back your content. So when you're building desktop application software in 2017, basically there are not really a lot of great platforms out there. People are typically building everything for the web if it's consumer-facing or mobile. At the same time, there's still a lot of enterprise software out there, but it's not consumer software. Games are pretty much the only thing that people are downloading and installing. And that's simply for the fact that you need both advanced graphics hardware to render a lot of it. And a lot of the assets are pretty big, like media. Everything else is pretty much streamed. So what you have in terms of building desktop software that is not purely a game is Electron, which is actually just the Chrome browser stripped down and running its own rendering engine and everything like that. React Native is another example. Also JavaScript-based, Xamarin, which is sort of Microsoft's answer to multi-platform desktop development. And then an oldie but a goodie, which is cute, which has been around since the mid-90s and was basically started out of a team that was inside of Nokia. And this is a C++ application framework that is supposed to be sort of universal. So that's ultimately the one we chose to go with for better or for worse. Also React at the same time recently. Well, it's the new hot topic. There was this big concern about whether or not their license was going to affect the way people who developed their software could use it for commercial purposes. And then how do people build games? So this is kind of an interesting thing for me to learn about. Game engines have been around for a long time. They take care of a lot of the aspects that you don't want to think about when you're going to build a game. You want to focus on the art and everything like that. And actually, these game engines are typically open source. But they come with some interesting aspects, like licensing attached to them. So they're either a per-seat basis license or a requirement that you build the games in a certain way. And so some of those licensing requirements are actually kind of interesting. They are all three of the big ones that I list here, Unity, Unreal, Cry Engine. I'll prohibit any form of gambling in any sort of way. So if you built anything with one of these game engines and you were going to build a slot machine or anything like that, you would have to call them up and pay them a special fee so that people could gamble with your software for whatever reason. They're very concerned about being involved in building anything that might allow people to gamble. And they are excellent tools in terms of abstracting away some of the more difficult things to implement that you don't want to redo physics in virtual environments. And that sort of thing are sort of sensitive and also accessing the GPU drawing layer and everything like that. Most of these people who are creating games are artists. They're not low-level GPU programmers to be in with. The other thing that's really interesting about building games is that for a long time, people have been talking about cloud gaming. And it's interesting to see, especially in the video space, that some of these licenses actually come with specific clauses prohibiting you from streaming your video. So this is the cloud gaming. It's basically the concept of rendering the game's content on a server somewhere else in the cloud and then having a thin client like your television or your tablet play back. And what you get there is you don't have to have an advanced graphics hardware. You don't have to download a lot of content. You basically just need an internet connection, a screen, and a controller of some kind. But actually, these game engines specifically require you to buy a second license. And then there's also some other funny aspects like CryEngine. You're not allowed to build serious games. So if you build not so serious games, you're free to use it. But if you build anything that's serious, and they don't really specify what is considered serious. So it's up to you whether or not you find that. And then there's also sort of these intermediate services, which if you're a gamer, you probably heard of things like Steam and Lumberyard. And these services sort of fill a different niche in the video game distribution industry. Some of them allow content producers to publish their content and sell it. They also provide some sort of aspects of microtransactions inside of games. Amazon is Lumberyard, which actually is basically just a license encapsulated inside of CryEngine license. And then they give you some widgets to basically extend your games with Twitch, which makes sense with Amazon's sort of model of get the customer in on some proxy product, like Twitch or something like that, and then get them into a Prime subscription, and then get them buying Prime and everything like that. So it's sort of interesting that Amazon is taking an interest in this. Again, cloud gaming, as I mentioned before, the thing about cloud gaming that's sort of interesting to me is that a lot of money's been poured into it. But you don't see the AAA titles coming out and being streamed strictly from the cloud. The new Bioshock game or something like that, these titles are still getting packaged and published and put on the game console or anything like that. And that could be for a couple of reasons. I think the biggest one is probably that they don't want to risk changing the business model, which is a per unit sold business model to a subscription model. So there's online subscription services like Xbox Live, PlayStation, that sort of thing, which are for competitive gaming online. But the actual content of the game still lives on a disk or on a downloaded binary. And I think that just has to do with the risk. And also, the economics aren't quite there. You'll notice that with most of these subscriptions, they run a virtual box, and it is very tedious as far as the proximity to the actual amount of hardware that you need to have to run one of these services because you're looking at a situation where you have to be able to, both take the interaction from the user, and I'll get to this in a little bit later of a slide, but also the key, press, go to the server, render the next frame, send it back to the user in enough latency time. And it's one thing when you're watching content or speaking to someone, if there's a slight lag over about 100, 150 milliseconds, you don't notice it. It doesn't, isn't perceived to your brain. When you're touching something on the screen or physically interacting and you expect the character to move when you press the controller, that can happen in a fraction of a second, 10 to 15 milliseconds when you're using a GPU and local hardware, but 100 and 150 milliseconds, that's 10 times long, so you start to feel like you're in slow motion. And again, they're still using the traditional, for these cloud gaming services, RTSP and X264. RTSP has been around, I think, since the mid-90s. These guys probably have more of history of it than I do. But they're using it in such a way that because the quality is high and there's a lot of hardware acceleration for encoding with X264. Then there's also these sort of cloud gaming devices. This is sort of an extension of the same sort of product, but these also rely on you having your GPU and your house, basically, and then you can stream to your thin client, your TV or something like that, so you basically get a bigger monitor for the cost of not having to attach your TV to your monitor, basically, or attach your computer to your TV. And some of them package a cloud gaming service in it, but you'll notice that they don't package the full AAA titles for available play. They package some older titles, some backlog titles and that sort of thing. And again, they're using the sort of same model of RTSP and X264, but because you're on a local area network, you can do it with much more high quality and it's sort of a one-to-one model if you buy this product, then it hooks up to your television and the GPU rendering is happening on your computer and then you're able to play 4K games on your screen, your client, or your thin client. This is the cloud gaming response delay issue that I sort of talked a little bit before and it's sort of the formula of thinking about the things that you have to consider anytime you are dealing with an interactive visual experience. Pretty simple, press the key, how long does it take the frame, the interaction to go over the network, render the frame, and then return the frame back to you. So WebRTC is sort of interesting in the sense that it's one of the more actively developed spaces and something that gaming hasn't really started to touch in a serious way yet, but I think that if our thesis is correct, we are going to get a lot closer to that in the future. And I've gone over a little bit and I've got quite a few slides here. Beam Mixer was already mentioned earlier by Lorenzo. So because we were building in Qt, we did not have access to a Chrome web browser, which was kind of an interesting aspect for me. I went out there and tried to, some of the things that Dan highlighted earlier, learn a little bit more about WebRTC because it offered some of the low latency, but it was really hard to find anyone who knew enough about WebRTC that wasn't just trying to sell a finished enterprise product solution. And basically, luckily, a lot of this stuff is open source, but it is also built inside of the Chrome web browser. So when you go around and ask people, do you know something about WebRTC? Most of the consultants would say to me, oh, yeah, we know everything there is to know about WebRTC. You just have to have Chrome and you write some JavaScript and there you go. Except I was, you know, I'd say, okay, that's great, except I don't have a web browser. And then it was just crickets because they had absolutely no idea how to deal with it. And so I met Dr. Alex Serendipitis-Leo on the internet about a year ago and I emailed him desperately and just said, I read your blog, you seem to be the only person in the world that knows about, you know, using WebRTC sans Chrome, will you please talk to me and flew up to San Francisco and crossed paths with him. And he was the first person who actually looked at me and said, oh, yeah, I think this is probably possible. So we started to go about a process that he had already sort of undertaken in his, not his spare time, but I don't think he had commercialized the process. So far, which was actually building Lib WebRTC, which is the component of the Chrome browser that is specifically developed as the open source implementation of WebRTC. And it compiles a lot like Chrome, but it is unique in the sense that we are taking the pieces that are required to implement the WebRTC component and then creating a static library that can be then linked into other C++ applications like the one we were building in Qt. And a lot of stumbling blocks, a few of them, you know, I'm sure Alex can get into more of the nitty gritty, but he's getting it down to an art now and it's really becoming more and more powerful. And I think that's really great because it's an opportunity to use WebRTC in situations where you wouldn't necessarily want to have a web browser. And that sort of cute, big thing right now is that, you know, not every application in the future, every human machine ever faces is going to run inside of a Chrome browser. When you are looking at your techometer in your digital techometer and your Tesla or something like that, and you're not going to use Chrome, local host, to look at that sort of thing, you're still going to need a native application. There's also a lot of situations like embedded technologies that need GUIs and everything like that, that will require use of, that won't have the overhead to execute on a browser. So what's next for us with this? You know, there's a lot of really interesting things that can be applied to gaming. Some people are talking about using WebRTC's data channels to do peer-to-peer tech servers, which is a component of a multiplayer game where people can basically, they coordinate the game play amongst multiple players. There's also people doing peer accelerated CDNs for distribution, which is really great in countries that have low bandwidth penetration and I think that's exciting for eSports because it's biggest growth market is here in Asia Pacific region, especially in China and also countries that might not necessarily have the same levels of bandwidth penetration. South Korea, of course, is the home of eSports and also the most wired country in the world, so they can broadcast from South Korea more content into China. There's a little bit about our company and so far we have had developers all over the world. It's really been fun going around talking to people and meeting a lot of these kids who are playing video games both at a professional and a semi-professional college level. Kind of an interesting crowd and some screenshots of our product in action. Just gaming product. We have to be a little bit more visual with our slides here. All right, that's it. Thanks a lot, guys.