 So 2017 is soon to be Seoul last year, so I'm excited about 2018, I've been thinking about some of the web features that are going to be discussed or specced or sort of landing around then. And I want to try and describe one of them to you in two minutes. You can ask me questions. My subject is transform streams. Transform streams is, we have readable stream and writable stream. Yes. What is it? Readable stream is a thing you can create and data comes out of it. You can read from it. You can read from it. You can see where the name comes from. Writable stream, you can write to it. Amazing. Nothing comes out. It's just a kind of end point. It doesn't go. Well, when you define the writable, you can get access to the stuff. Do you define the other side with code? Yes. OK. Whereas a transform stream, the object you get is pretty simple. It's just an object with a readable and a writable. So it's both? Yes. It's one object that has both on. You have an object where dot readable is literally a readable stream, dot writable literally a writable stream. And stuff goes into the writable and comes out of the readable, usually changed in some way. And you can define how this change is happening? Yes. So there's a constructor for it, like a new transform stream, and you pass in the sort of details of how to do buffering and such. And then you have a function that receives chunks of data in, and you can push. So basically in the middle, it transforms the data? Exactly. Amazing. And this is like, this is a kind of huge thing for the web, because it's what we can start defining a lot of platform level features on, because there's loads of stuff in the browser that we don't have access to, like Gzip. All browsers do it. I guess it's a transform, like you put in clear text and outcomes compressed. Well, it'll probably be bytes. I meant clear text in the, you know, it's clear bytes and outcome compressed bytes. Oh, fine. OK, fair enough. But also things like image compression, because all browsers do this for Canvas. So what if we could push bytes in, get bytes out? RTC has video codecs, the same business. So this should expose all of that to the platform. That would be so good. 2018. Exciting. Go. Work us. I'm aware of them. They're existing. They have been existing for a long time, but I think we need to start using them.