 So, we're here at CS 2016 and you're the Cody team? We are, 4-0 anyway. So, what do you do? I'm Nate, I'm a community manager, project manager. I do a bunch of different stuff. Should I introduce everybody? Yeah, introduce those guys. When did he do it? He's a software developer. He does add-ons, Python stuff, all the add-on stuff you want. He's pretty good at it. Keith here is business developer guy for Cody. And over there is Martin Kaiser, who is the release manager and does a bunch of other stuff. So, how big is Cody? Software-wise or people? It's success and how many people? What's going on with Cody? That's a hard thing to come up with. It's really awesome. It's so fantastic. We're pretty sure, well, we know a few stats about users. We know that we're at about 3 million Google Play downloads or active Google Play users on Android. We know that in terms of overall users, it's kind of hard to get a guesstimate because basically what we're doing is we're counting downloads of add-ons and just guessing from there. But that number is somewhere around 10 million. And in terms of developers, there are about 35 to 50 really active developers. And then hundreds of people who just submit patches everywhere. So how do these 30 to 50 developers, how do they get paid? They don't. They don't get paid? Really? Is that okay? Yeah, well that's what open source is. This is how open source works. So it's open source free software. Yes, we're a non-profit organization and it's 100% volunteer ran. With that said, a few of our team members have been able to go get jobs in the industry working on Cody full-time. So we have a few that have done part-time contract jobs and we also have probably a half a dozen over the years that have had full-time employment based off Cody. But that has nothing to do with the organization. That's just a byproduct for them being good developers and for them working on stuff. And they work on stuff so much that commercial organizations have picked them up and wanted to use them in their own product. So these 30 to 50 guys are the top guys for our media player hardware acceleration, all that stuff. In the world? Well, and I mean I'm sure that they're the people who have been willing to donate their time for the cause of spreading open source software. Some of the guys work for Intel. Some work for the... Was that a secret? How does it work? We don't have any Intel guys but hey, if there's any Intel guys out there we would love some Intel guys. So my website is ARM devices. Yes. So you work on every ARM device? Yes. Modern ones. I mean there's a certain point where ARM chipsets are just so old that we don't run on them because we're primarily a native platform. So it takes a pretty significant, in terms of power, chipset to run Cody. We need open GLES 2.0 or higher, as a minimum. We run on the Raspberry Pi because of the hardware decoder that's in it. And so pretty much you need to have a decent hardware decoder. We work on basically any ARM chipset but honestly the GPU is typically more important than the ARM chipset itself because look at the Raspberry Pi. It has a very weak processor, right? But the GPU itself is fairly powerful and that's why you're able to do 1080p on it and you're able to do so much in Cody on it. But is there some issues with like some files just don't work on some devices because the code is not okay? Well so we do software decoding. So we always do software decoding fall back. So in ARM systems definitely you run into limitations with software decoding but with the latest, the last few revisions of ARM chipsets you can pretty much decode majority of the stuff in software. I've been specifically working on the Apple TV 4 port and their ARM dual core is so powerful that everything is done in software decoding. Everything from 1080p, MPEG 2, to all the H264 stuff. It's all software. If you want 4K smooths, everything, VP9, if you want H265... That pretty much has to be in hardware. 4K these days have to be in hardware right now, right? I'm sure in two or three years once if the ARM processors stay at the same getting faster and faster like they have been then maybe you can do that stuff in software. So why do people think Cody is so awesome? I really have no idea. I don't think it's about the openness of the platform and it's really customizable so you can do whatever you want with it. What do people do? Can you do everything? It's crazy what people do. Like every one of us probably has a different use case for it. There are developers on our team who only use it for live over-the-air TV because we have a live TV component where you hook up a TV tuner and it just works that way. There are people who literally only use it for music these days which I knew there was music in it but I've never used it for that. And then of course there are the people who do things like rip DVDs or stream... From what I understand Cody is evidently a great Twitch streamer for game viewers. I had no idea about this but suddenly somebody told me about this lately. And then a lot of people are doing home automation integration now and so one thing that I'd love to do at CES is go talk to some of the smart home guys just to see if they're interested in partnering with us directly on doing home automation stuff. We see videos every day of people doing stuff like putting Cody in their car putting Cody on pretty much any device that you possibly can. So I think a lot of it is the freedom and flexibility that we've built a platform that allows you as a user to be able to customize and do whatever you want with it. How's that possible? Because it's Android, right? And you do an app and you have an app in Android? So we do but it's not Android. It's native. It's native code Android. Yeah, so it's native code and then we happen to port to Android as well. So Android is just one of the many platforms you support. We run on every platform. Are you one of the most hardcore native code Android apps? Probably. Probably, yeah. Well we can't prove that, right? There might be some games out there that are better. We are the world's largest open source multimedia project in existence and we are most likely the largest open source multimedia project on Android and the largest native code project on Android. Most of the other ones are all closed source so we can't prove any of that. How does it work to do a native code Android app? It was weird. The very first build that we had on Android it was literally all C code plus one line of Java. And actually the first few builds were that way. Originally because of Bionic, if Bionic is Android's replacement of LibC we actually couldn't use the original NDK. We used a third-party NDK to actually do the compilation for the first, I'd say, year and then we finally got it compiling on the NDK once the NDK got up to speed and more stuff got integrated, more of the LibC calls got integrated into Bionic then we finally were able to actually do native compilations and now we've been doing it for a while. And the nice thing is I'm sure other people have copied the build system that we've done because we're all open source. And so the biggest thing that we want is we want to be on any platform that is possible. So everything that's possible out there. So that's why Android's there, that's why we even have iOS builds and you can side load it on iOS which of course is ARM as well. So Android is famous for these launchers and stuff. Could people kind of like do launches for Kodi and change the UI? Well, they can change the UI anyways, right? So you can always change this. So we have skins that you can change the UI as much as you want. It can make it look completely different. Yeah, we have probably at least 15 skins at any time but definitely a lot that are being in progress and being actively developed. But also you can use it as a launcher but the one thing that you lack is you lack the ability to have the settings exposed from Android. So the problem is as you've probably seen with other launchers you have the launcher settings and then you have the Android settings that's another screen. And what some people have done to overcompensate for that is add some of the Android settings into their own launcher. We will never do that because we won't write specific per platform functionality in our own setting screen. So you would have to have another... Essentially Android settings would become an app that you would run. So that's some of the complications with building a multi-platform program like ours. Couldn't you become an Android launcher and control more of the Android experience? So besides the settings, pretty much all the Android experience you could run. So you could run apps. You can, under programs on Android, you can go and you can launch apps and when you close that app it will load back up to Kodi. So it works as that today. But we won't put in the work to add settings into our settings for example because that will taint the experience of Kodi being multi-platform, right? And so our focus is never to be a launcher on Android. But that said, if a company came along, wrote a skin and wrote add-ons to do that we would not be against it in any way and they're more than welcome to do that. So you call it add-ons, right? People install the add-ons, it's not apps. Correct. So it's quite different from Android apps. Correct, right. What's different about it compared to Android apps? Well, two, I mean, there are two big things. Android apps are actual binary applications. They're, you know, compiled and all of that. Well, Kodi add-ons are just Python plugins. They're just a series of codes that you don't have to compile at any point that just run. So that's the big difference. Now, I don't know, one thing to make clear, Kodi can act as a launcher both for add-ons, for Kodi add-ons meant for Kodi, but it can also launch Android apps. It does launch Android apps. Yes, you just go to the programs and they're both listed there. All right. And once you launch Kodi, it's good at kind of like quieting everything else in the system so it uses all the performance. No, so like notifications, for example, we're never going to pull in Android notifications inside of Kodi. So you'll still get the notifications that come across the screen and it will look kind of conky, right? There definitely is stuff that third-party people can take and they can optimize that and they could build notifications inside of Kodi via an add-on, but we're personally never going to put that in court because that's not where our use cases and that's not what our interests are. And that's why stuff like Android TV doesn't have those, right? So do you think the ARM ecosystem is awesome? All these boxes are fantastic, right? Definitely, yes, obviously. You can buy cheap boxes and run Kodi and it's fantastic. Yeah, it's great. I just recently, so Raspberry Pi is a pretty famous ARM device, right? I just recently was playing with that $5 device of theirs that runs Kodi and it's like, this is ridiculous. $5 Kodi box. So what does that mean for the world? That means more people are going to watch more media on their TVs. Hopefully. That means Kodi however they want to and there shouldn't be things like cost limitations that associate with it, right? Now that we're at a point where Android's getting standardized enough to where they have standard APIs to do hardware decoding, we hope that anybody who has desire to run Kodi, no longer there's no barrier to entry anymore. What that means for the grand scheme of things, just that we have more users out there, us we're not going to change from our core mission, which is making the best home theater software that we can. And that's really what Kodi's about, is keeping that user experience as pure as possible and really dedicating it to the home theater experience. Beyond that, if we can bring that to everybody who desires that, that's fantastic. How about popcorn time and subcast? Is it possible to prioritize in Kodi people doing that? I'm worried fast, but I would like to just know, does it work? We can do whatever they want in Kodi, because Kodi's an open ecosystem. So there are add-ons for that. We have blocked all of that stuff on our form and we do not allow any of that stuff in our repo. And we do not encourage users to do that. Just like Windows, just like Linux in general, just like any open ecosystem, we allow the freedom of the user to be able to install anything they want. They just put a URL in it and it installs. You download a zip file that has a repository in it. So there's lots of stuff happening. And what's in the future? There's even more cool stuff happening. More 4K support, more hardware decoding support. One of the big features we hope will be a release sometimes this year is Retro Player, which is a console gaming built inside of Kodi. And so you'll be able to do things like pause and rewind your emulated game. Fantastic. Awesome. Every console, Dreamcast and Nintendo 64. Consoles that have open source emulators. Because again, we're completely open source, so we can only utilize what the open source ecosystem has given us. So if there's a Dreamcast emulator that works, we'll work hard to support that. Nice. Just one last thing. What's your favorite add-on? HD Home Run. HD Home Run. What does it do? So HD Home Run is a network TV tuner box and it allows you the ability to watch live TV in Kodi from any Kodi device. So all the Kodi devices in my house, all I have to do is load one piece of software and I can watch live TV on that regardless of where it's at in my network. For me, it's the Rooster Teeth add-on. Rooster Teeth is one of those online web video providers. I'm a big fan. Big fan. Cool. And you also have probably some favorites. Probably YouTube. YouTube? Yeah. Does it work nicely in Kodi? It plays the videos I want. It's not the same experience as you have on Android, but that's the downside of YouTube not letting us do it. Cool. Thanks a lot for doing this awesome work. I think there's a lot of fans out there. We hope so. Cool. So looking forward to what's happening in the future.