Hey everybody, welcome, welcome to another session of Open Media Ecosystems. Is this 4? I think it's the fourth one, yes. So we had ZuraCast, OwnCast, oh I'm missing one. Is this 3? Jitsie, Jitsie. Yes, I'm missing Jitsie. Yeah, 4. And then next week, this is our last tool though, and next week we're going to wrap them all up and use them, basically. So, but this week we're talking about Peartube, and I'm excited, oh and I'm joining my pilot. Yeah, well my name's labeled. That's fair, and this isn't even your first session, so in this course. But yeah, so this week we're talking about Peartube, and Peartube is an exciting one. We use it for a couple different things that Reclaim. We have Reclaim.tv is powered by Peartube. I have my own Peartube instance that I stream, like sort of more informal stuff to, or Reclaim. Jim has his own, has I think a couple of different Peartube instances actually. He's got Bava.tv, there's No Copyright Intended, there's DS106TV. Right, I didn't know about No Copyright Intended. I mean, I think he uses it as sort of his own personal like archive of things. Okay, got it. But yeah, Peartube's a, it's a wonderful tool honestly, what really simply, I think the website says that it's an alternative to big text video platforms. So it is really trying to, and in many ways does things that YouTube doesn't, but it is kind of a YouTube replacement. We're talking about, you know, AzuraCast is your web radio tool. There isn't really a great proprietary platform to compare it to that a lot of people know about, honestly, owncast we talked about. That's like a Twitch replacement. Yeah, Peartube is closest to a YouTube replacement. Yeah, Jitsi would be... Zoom. Browser Zoom. Yeah, Google Meet, you know. Totally forgot about the low meat. Yeah, yeah, I think lots of people do. But Peartube is, it does quite a bit. So you can upload and host videos there. People can watch videos. People can comment on videos. You can have multiple people have accounts so that there can be different channels uploading to a Peartube instance. It also supports live streaming, and it's actually really robust, the features it supports for live streaming, where you can have permanent recurring URLs, where people can stream to the same URL over and over again, and people can watch them. Or you can make event-based URLs. So this stream goes to this place. That's how YouTube typically does it. Whereas the permanent URLs are more of a Twitch thing. YouTube does both. But that's fine. Which is really kind of cool. It will handle transcoding videos. So one of the things with video on the internet, or anywhere really, is you have to be able to accept whatever format the video is in, but then you need to display it to the browser in a particular format. And then if you have people who have lower bandwidth, who are on different, like slower internet connections, or maybe just older devices, you also want to be able to give it the multiple different quality options. And so that's also something that Peartube does and handles the transcoding for that. Because of that, because of the transcoding video stuff, this is one of those things that really wouldn't be possible on shared hosting. Because the CPU you require to deal with video is just a lot. So that's why you run it on the cloud. And I actually think Peartube is one of those things that is sort of uniquely perfectly suited for the cloud because of that CPU thing I was talking about. You use a lot of CPU and cloudlets when you're transcoding your video. But when you're not, which is 99% of the time, use a lot less. So you don't have to pay for that all the time because of the way that you pay for only what you use in Reclaim Cloud. So what we're going to do is we're going to install Peartube. We're going to map a domain to it. We're going to poke around the settings and talk about what's possible, basically.  We have an installer for this one. So you can just search for Peartube here and click on Install. And you can give it a name. What are you going to say? I don't know. I just said OK. Oh, sorry. So I'll name this one TestTaylor.how about Peartube? OK. And that's cool. Yep, install. So this will take a second. It's going to do everything. We'll map a domain after this is done. There are some setup things that we have to do to map the domain. It's not quite as seamless as some of the installers I've worked on. I would like to, in the future, make it seamless, but there are some realities to how Peartube works at and how our installer is currently built that. There's just some commands you have to run to change the domain name. I'll show those and we'll have them in our blog post so that they're easy for folks to do. However, if you're just installing this to play around and you don't need to map a domain, you won't have to deal with it at all. It'll work out of the box on the Reclin cloud URL that we just made up. So Peartube is really interesting as well because it's actually developed primarily by Framasoft, I believe is how it's pronounced, which is a French non-profit. This group is actually... Do they do a bunch of stuff? Yeah. Well, their mission is to further the use of open-source tools in the French education across elementary, middle, and higher ed. I feel like Jim, I don't know, blogged about this. Maybe just talked about this in Slack or something, but a long, long time ago, months and months at the very least. But I feel like I remember this. Yeah. I think it came up. I'm trying to think of... I don't know what else they have. That's not something we need to... But basically, they do a lot of... Yeah. So here, they actually... Not all of this is stuff that I think that they primarily develop, but some of it, they're sort of repackaging and making it easier for schools to use. So they've got Framaforms, which is an alternative to Google Forms. So if I click on that, I don't even know what this would go. And they tagged it actually with... That's a Google Forms alternative. They show you what they're competing with. It's just really kind of cool. There's a pretty rich history of French open source in tied to education, actually. One of the things we... When that came up in Slack for Amosoft earlier this year, I think, or last year now, I mentioned that VLC media player is actually came out of... I can't remember off the top of my head, but a French university. Okay. It was made because they wanted to deliver cable TV to their dorms, and they wanted people to be able to watch it over on their computers, like the video streams for this on their computers, instead of having to supply like cable boxes and TVs and everything. And the real cool thing about that is they wanted people to watch live video streams on their computers in like 1996. So like way early to this stuff, like way, way, way early. So that was... I don't know. It's really interesting to me, and I was kind of unaware of the history there. But all right. So PeerTube's done installing. We talked for that long. Yeah. That's how it goes. We've got a well-oiled machine now, I think, in these ed tech flex courses of let's install a thing, come back. Oh, it's done. Yeah. How lovely. So you will get this in the email as well, but I'm going to actually just make note of it here off-screen. But you will want this route and password here, because this is what you'll need to log into to administer your PeerTube. So make note of it here. You'll also get a copy via your email, but it's going to be important. So we can click on that URL, and here we go. So we've got our PeerTube install. We have... This is at the Reclin cloud URL. We'll log in and do some stuff in a second. I want to show right off the bat how you would map a custom domain if you want to do that. So there are a couple different things we'll have to do. So the first thing we'll need to do is actually map a DNS entry for it. So I'm going to copy this to the clipboard, and you can get to the IP address by just clicking a little arrow thingy, and then I can click on that to copy it. And I'm going to go over to my cPanel, which I already have up. And this is just a shared hosting account that I have, and I log myself out, cool. And we're going to go to the DNS zone editor, and then we're going to add an A record to one of the domains here. I think we'll do here to demo.jdin.me, and then I'll paste in that address, cool. And so if I try to go there to that URL right now, it should connect. It's going to give me an error because of HTTPS. So I'm actually going to not even visit it just yet. So there's a couple different things we now have to do in PeerTube to have it know about the new domain name and issue certificates and things. So the first thing we need to do is we have to go into our PeerTube configuration file and actually change the domain in there so it knows what domain it should be at.  This is sort of your master file for pretty much everything related to PeerTube. Your database credentials are in here, which is why I'm using this with a temporary install so no one can see my database credentials that actually matter. But there are a few different places we have to look in here. Basically what we have to do is we have to find the old URL. So here, web server hostname. And I'm actually going to do a little find here, which I did control or command F that way it's highlighted for me. And I want to just replace that with the new URL. So I'll do that. And so we're changing a few different things here. What we're doing, the first one, we changed what the web server hostname should be. So that's so it will serve it up on the right domain. Then most of the rest of this is actually having more to do with email than anything. So it's sort of non-essential, but this will let PeerTube send email properly from the domain name that you specify. And having mismatched emails is a very good way to get flagged to spam. Yeah, yeah. And there are some other things here too. Like if you want to do more with email, you will probably want to look at the PeerTube documentation on DKIM, some records that you have to add in DNS. Frankly, the way I'm using PeerTube, I don't have email even set up on mine because I'm the only person logging in. We'll talk about all the different ways you can use PeerTube in a second and what's possible, but depending on what you're doing with it, the email bit may not be that important. So I made the changes to the file. I hit save. And then what I need to do now is run a couple different commands. So first thing I have to do is use docker to stop PeerTube. So I'm going to do docker-compose down. And then it's going to take a second. Yep. Okay. And then I guess I was sort of getting ahead, but I was going to just say it to prevent dead errors. The next one about getting the HTMTPS, the security certificate. HTTPS, HTPST. HTTML is where I was going with that one. HTTML. Yeah, HTTPS. Yep. There are RSSL certificate. Yeah. So we have to stop everything for two reasons. So we have to stop it so it will reread that configuration file when we restart it in a second. We also have to stop it so we can change, we can basically run a command in one of our docker containers to tell it about the new domain name. Because there's kind of two things that need to know. PeerTube needs to know, but there's also a service called certbot that will automatically issue the let's encrypt certificate for us. We need to tell certbot about that. So I'm going to paste a command in here, and then I have to go back and manually edit it. Again, this is a huge long command. We're going to have this in the... Blog post. Blog post so that you can fill it in. But there's really two things you will need to put your domain name in there. So I've forgotten my domain name several times. TestTaylor, or no, no, no. PeerTubeTask, it should be in your cPanel in the zone editor. Yeah, and I use a clipboard manager, so it's still in my clipboard history. Oh, that's awesome. Yeah, honestly, a lifesaver. I just don't want to show my whole clipboard history on stream, so I did it on a different monitor. I don't know what I'm afraid of, but maybe there's a password in there. Do you want that URL to be the reclaimed.cloud one, or do you want it to be the new one? Oh, you're right. I have the wrong one. It's peerTube-demo.jaden.me. So I'm going to put my email address in here. You do need to give it an email address so that when it needs to, if there's an issue with the certificate, let's encrypt, we'll email you and let you know. So peerTube-demo.jaden.me. So I'm going to run that, and it's going to request a certificate. Cool. All right. So now I just need to bring peerTube back up, so I can do docker-compose-up-d, which means that we'll run in the background and stay running. Okay, and now I can go to the new URL, and there we go. We have HTTPS. So now that we've got... I just want to quickly stay in Reclaimed.cloud for one second. Oh, sure. And ask about the resources, because 14, Cloudlet seems small. Yes. Yeah. Good catch. So by default, it's going to deploy with 14 Cloudlets. And to be clear, you can use it on 14 Cloudlets. But you may want to consider upping this cap a little bit. We were talking about the expanding and contracting resources earlier for encode... Yeah, for setting the limit here, it's always going to use one Cloudlet, so I'm going to set that to reserve to be one. But the scaling limit being 14, it will work, but I would recommend setting this much higher. And depending on your account, you may have 32 as a limit. I have 64. If you need more than 32 on your account... Oh, my watch is talking at me. If you need more than 32 on your account, we can just let us know. But basically, this just defines how big can a container get in any one moment, right? So not stay there. It'll only stay there as long as it needs those resources. The nice thing about PeerTube, and giving it more room to work with, is the more Cloudlets it has available, the faster your videos will be transcoded, which is important, especially when you're uploading videos. So if you've ever uploaded a long video to YouTube, well, really any length video, but I frequently upload a video to YouTube that's like an hour, hour and a half, and it will take YouTube hours, for sometimes four or five hours, after I upload it, to just transcode the videos so people can watch it properly. That's because YouTube is a free service, right? So they're going to get to that video when they want to, basically. The cool thing about this with PeerTube is you're running your own thing, so the downside is you have to pay for it, right? But the upside is, you can get that video transcoded pretty quickly. And when it's done, it won't be using those Cloudlets anymore. So I'm going to set this scaling limit to 32. If you leave it at 14, especially for just playing around, it should be okay. But just to note that 32 is going to let things happen a lot quicker on the server, basically. Okay, so now that we're back up and running, let me close that. Don't need this anymore. Cool, so this is what PeerTube is going to look like out of the box. Now there are a couple things that we'll want to do right away. So the first thing is we want to log in as our root user that it generated for us. And then grab that password, paste it in there. Cool, so it's going to say, hey, do you want to configure this? Yes, but I actually want to show you the long way around there in case you accidentally dismissed this. So I'm just going to close this for now. There is a lot going on with PeerTube. So again, PeerTube is a full replacement for video hosting services. So multiple users, multiple channels, different ways to sort videos, playlists, all that stuff is here. There's a sidebar that shows by default that lets people look at the things either in their library if they're logged in or on the entire instance, all kinds of stuff. We're going to go immediately and make a new account. And the reason we're going to do that is this root account, we can change the public name, but we actually can't change the handle that at root. And that's important for the way videos display, but it's also important for Federation, which is something we haven't even talked about that PeerTube does. And that's that PeerTube is also using Activity Pub to be a member of the Fediverse. So just like Mastodon, Pixel is another one. What did you say? Right Freely. Right Freely is another one. Owncast, I guess, is a Fediverse compatible. I didn't even know that one until Jim discovered that recently. It is a member of the Fediverse. There can be a federated tool as well. You don't have to use it that way. In fact, at Reclaim, we use it for some of those features, but not a lot of them, basically. But the intention is, theoretically, you could have a whole social network of PeerTubes, right? You could have your own YouTube. Yeah, but not just your own. Like you could link them up with other community members and see their videos on your instance. So an example of this is if we go to archive.reclaim.tv, that one is federated with video.jd.me, which is my own personal PeerTube instance. So my videos show up here. The first one. Yeah, so you can see that Taylor at video.jd.me is the username here. That's pulling that username that we were just talking about.  It just isn't fun, right? Doesn't have any personal flair. Yeah, the way PeerTube works though, you need that root account to start off with. So what we're going to do is we're going to immediately make a new account that we can use for basically everything. I have a root account in my PeerTube. I don't use it for anything. Basically, I use it to log in once. And if I ever lost access to my main account on my PeerTube, I guess I could use the root one to log in. And make another one immediately. You can also reset passwords at the command line and stuff like that. And via email, realistically, I won't ever need it. But you do have this root account. It has to exist because it's how everything else in PeerTube works from there. We can go to the sidebar administration and then write on the overview page under users. We can create a new user. So I'll make one. I'll call it TaylorTest. TaylorTest. Yeah, TaylorTest is probably better, honestly. It's important to note that you can have users and channels. Users can have more than one channel. We'll talk about how you can change that. But you can have one person that owns multiple different channels. So the organization here is kind of whatever you want to make of it. On my own PeerTube, I have one user besides root and one channel. Probably will never be more than that, right? Yeah. But if you're using this in a institutional context, maybe you want to have a channel for branded stuff from a particular office. And maybe something is over here for a student media organization. You can divvy that up kind of however you like. So we'll set the channel name. I'm just going to name it the same thing. TaylorTest. And then we'll put my email address in there. Can you, you can reuse the email. That's the same one that's associated with your root account. Yeah, it's okay. You can use the email. I'm going to set a password in there. So you can choose whether the role, what the role of the user has access to. I mostly am doing things with administrator privileges. But again, if you set it to say user, you would be able to lock down what they are capable of doing and moderator. Kind of like WordPress roles, right? I'm going to set it to administrator for now though. And you can also set on a per user basis the video quota. So you can say, hey, this person is allowed to have up to 100 gigabytes of video in their account. And you can also separately set how much can they upload in a day. This could be really handy, depending on what you're doing this for, right? Maybe you are finding people using up to 500 gigs or more, you know, unlimited. But you don't want to make, you want to make sure they're not uploading just like, I don't know, the tons of video in one single day. You can say, yeah, you can have as much storage you want, but only you can upload up to two gigs a day, right? So, and then finally, Oh, seriously, small. Yeah, you can also do 10 megabytes. I'm not sure how that would work for anything. 10 megabytes is not a lot of video. It's not even a lot of audio. But you can do, I think, but this quota technically says video, but it also applies to audio, right? Yes. There's a setting we'll get to later that allows, and it's on by default. You can upload audio clips, and what it will do is it will just play the audio and show the thumbnail of the video on the screen. It's not real fancy, but that's not... One thing that's maybe more a discussion for next week that I was thinking about was, I forget, I think AzuraCast has a recording feature. Yes, it does. AzuraCast has a recording. You can have it record every broadcast or certain broadcasts, I think. You could also be recording those locally, right? Yeah, so if you wanted to pull in your live stream history, but also your podcasting stream history. Yeah, yeah, that would be totally possible. So I'm going to set these both to unlimited, and then there's finally a checkbox that you can set it so that people can upload video, but they can't be public until they're reviewed by a moderator or an administrator. So I'm going to actually check that box that allows videos to just become public. It doesn't really matter. We're not even really going to log in with this account, other than to show you that this is probably something you're going to want to do so you can change your username, basically. So I'll create that user. Oh, maybe I can't have a separate email. Hey. You want to use mine? Well, I'm going to do a trick here. That's good for people to know anyway. So we can make another channel for you, too. I don't want to leave out a party. But I like to do, for stuff like this, where you have to have a unique email, you can, if you use Gmail or Google Workspace, you can just add a plus and use that as your separate email. So I also could change the email on the root account. I think that would work, too. But whatever. Taylor, Peartube, Test. Channel name. Oh, cannot be the same as username. All right. All right. So there we go. Actually, I guess that's probably a good security thing. Yeah. Well, and I think part of that is because of the Federation stuff. So one of the things I've noticed when playing around with Federation is when I follow another Peartube instance, you can follow the entire instance, which is at the username Peartube at whatever domain name. So in this case, it'd be Peartube at PeartubeDemo.jd.me. You can also follow an individual user, but users can have more than one channel. And you can also follow an individual channel. So it's like going down the line asbestos. Oh, so saying you could follow the channel, Taylor, Test or the person, Taylor, Test. But if they're the same, it doesn't know what to pick. Exactly. I think that's why they need to have a... I didn't think of that. I spent a long time so that created a new channel on Peartube. But that appears to be the case. And you can always change... You can't change usernames afterwards, but you can change channel, role, email afterwards. And you can, I believe, assign channels to new users or move videos between channels. So yeah. So from here, you can on your administration, this little dropdown will show all the comments, videos and users across an entire instance. There's Federation. I'm going to show these things on my main Peartube in a little bit, just so you can get a sense of what this all looks like when there's actually stuff here. There's a moderation menu where you can see... People can report videos as inappropriate and you can review those. You can have muted servers or accounts so that this is having to do with the Federation. So there's folks that are following accounts on other servers that have real nasty stuff that you don't want on your Peartube. You can actually block that at the server level from being possible to follow. And then I want to go into the configuration. There's a lot here that you're going to want to look at right away. So first of all, there is a homepage. You can have some information on the homepage. So here is my Nido homepage text. That can update that. And I haven't set this on my own Peartube. So I'm not actually sure where this lines up, to be honest with you. Because not every theme has a static page. Well, you're in slash video slash trending. Yeah, but I don't... Yeah, so this was... Oh! There's literally just a home tab. Okay, I see. All right, interesting. So you can have that there. And you can actually control what the public page that people land on when they don't specify a page, where that is. So that's probably part of this here. I'll leave that. This instance information. So this shows up in the about and a couple other places too. But you can set the name here. So demo Peartube. That's up at the top left. You can have a short description. My Peartube description. Welcome to this demo Peartube. You can set like categories for what this is specifically about. Again, this is all kind of be like a friendly member of the Fediverse, right? So if folks are finding your server and like, oh, you know, what is this one about? Basically, you can have... So people can flag videos having not safe for work content. And you can say, all right, we're going to hide those, blur the thumbnails. Again, this is something I'm not using because I'm not putting that stuff on my own Peartube. A lot of this has a lot more to do with if you have multiple people using or a large community. You can set terms of service, code of conduct, talk about moderation. Who is behind this instance? Just me. Why did you create this instance to show people how fun Peartube can be? How long? Not that long. How will I finance it? Reclaim hosting is paying for this one for a little while. You can even put on here like what kind of hardware it runs on. Powered by the cloud. So, no, no, that's mandatory, I should say. But you probably should look at it and either delete stuff you don't want out of there or set your own descriptions, things like that. So I'll hit update on that. Here we go. Now it's called demo Peartube. So basic. So there's themes. There's only one theme installed, but you can install more themes. And you can choose what the landing page is. So maybe I should change that to just home. And then my home description that I wrote would be there. But there's also discover, trending, recently added local. So, for instance, on my Peartube, I have this set to local. And that's because I am federated with other Peartube instances, but I feel like if people are visiting mine at video.jaden.me, the way I use it, they probably are looking for a video that I uploaded. So that's how I have mine set. Whereas for Reclaim.tv, we have it set to recently added to show everyone we're federated with. Which is nice because Jim and I's videos will show up on there. So I want to set this to home for now. It is worth mentioning there's discovering and trending. So these are like, algorithm. It's not really algorithm so much as like, I guess technically it's an algorithm, it's just a very simple one. And that's sort of like, how many views has this had in the last week? That's the algorithm, right? So this would be across the entire, trending would be across the entire instance or any video it knows about that's federated. And this would be across the entire, or any video it knows about that's federated. And this would be across the folks that you are subscribed to or on this particular instance. Then recently added is just reverse chronological list of videos that it knows about across the Fediverse that it is federated with. Again, we'll talk about the federation stuff a little bit more in a second. And then local videos is just on your particular instance. I don't know what custom value does. I've never, I don't know what that is for. I'll set my landing page to home for now. So it won't even show any videos on the homepage. I mean, I guess if you added a specific page. Yeah, I don't know how you would though. Okay.  Like there's probably a way to do that if you edit the code, right? But I'm not, I don't know how. All right. So we can also set what is the default, like on the trending page, what is it going to use? I don't know what hot videos are. This reminds me of like some Netscape 2.090 stuff, like, but whatever. Most viewed, most liked. Okay. Again, I think hot videos is over time, like a short amount of time. What has gotten the most video views in the last week or so? Yeah. So you can change what the trending page does. Frankly, for my use of like one person, I kind of don't care about any of these features. In fact, I hide all of that stuff on my instance. And I'll show, I have a blog post about how I did that. So we can mention that at the end of this video, if you want more information on that, check out that blog post. It can be linked in the week's resources. Yes. So you can have this set to prefer the author display name versus the username in little video miniature things. That would be, the display name here would be root and the username is at root. You can set this up to work with external auth. It's not something I've done yet, but I've done some plugins to work with OAuth and this checkbox would force the use of one of those plugins. I shouldn't say it, not just OAuth. OAuth and single sign-on services. Single sign-on. Okay. Yeah. OAuth is like, kind of like single sign-on, but not. All right. It's not important for this video. And I'm not an expert. So I'm definitely just going to say something that's just wrong.  My understanding is there is a difference. All right. So broadcast message. So this would just put like a banner at the top of the instance that has some like info that you could say like, hey, a warning, we are doing maintenance next week Thursday at 1 a.m. Okay. So that kind of broadcast and not like a, we're live right now kind of thing. Yeah. That kind of banner message. It would be what I would call it versus broadcast. A broadcast message is often what you see that called, but it's maybe a little bit confusing in this instance. Okay. So I'm going enable sign-up. So by default, no one can make accounts on your instance. You can allow other folks to sign up though. You can require email verification. You cannot require that. You can have a limit. Only 10 people can sign up. You can have a age requirement on there. You can also have default video quotas. Remember when we made that user account manually, we set those. These would be for folks who make their own accounts. Yeah. Yeah. So if I just went to the homepage and hit login sign-up. Yeah. Yeah. So import jobs. So this is another important feature here too. As well as uploading videos and doing live streaming, you can also import videos from YouTube or other services. This is off by default. And by default, there's a limit of only one video being imported at a time. I've never needed to change this, but if you are using this with a lot of people to do a lot of YouTube archiving and stuff, then maybe you need to adjust that value to be allowed more than one at a time. Mm-hmm. But it is off by default. So if I click this, I will have the option to import a YouTube video. And we'll show that in just a second. You also have the ability to do live streaming. Just a second. You also have the ability to do torrent or magnet, torrent files or magnet. These are both related to torrents. So it's like a distributed file network. Most often used for piracy. I shouldn't say most often, but that's what I've seen it used for. But basically it can pull those in. I think the intention here being, this is a distributed platform. You may have a large video that maybe is not allowed by a government. Maybe a government has taken this video down and people have to distribute it via a peer-to-peer network. Maybe that's when you use a torrent file. I've seen that there are good cases for that in journalism in countries that are particularly not friendly to journalists. Things like that. Yeah. So would that be, I guess, part of the idea of you are, you're taking the whole thing and making it a video by functionally torrenting it as you would do to a local machine? This is taking a torrent that already exists and making a copy of it that lives on your peer-to-peer. Okay. So if you check that box, people will be able to do that. I think most people won't need to check that box. That's a very specific use case. So I'm actually going to leave it off because I don't, unless you are doing this to, again, work with journalists in a country that is taking down videos that people are uploading that are important for safety or political reasons. Historical archives. Stuff that I am super not an expert at. Then maybe you want to check that, but most people aren't going to be using it for that purpose probably, right? And they do flag it, say. I'll leave it enabled because we can kind of see what that looks like here. We're not going to actually do any of that, but the other thing that's really interesting is you can actually, this is a new feature that I've barely tested, but it's really interesting. You can actually synchronize an entire channel so you can say, hey, make this, look at this YouTube channel and every time a new public video is posted, make a copy over here on PeerTube. We're going to be doing that for our Reclaim.tv so that every new public video we put on YouTube ends up on our PeerTube archive as well. So super handy feature. So that way, basically it's doing what this is, and again, we'll demo this in a second, but you can give it a URL to a YouTube video and then it will just make a copy for you. But it's doing that automatically and checking periodically for new videos. So that's super cool. This one says, unless a user is trusted, their videos will stay private until a moderator views them. Again, this is for other users on your instance. Yeah, and we saw that when you were setting up the Taylor test account because you might want to have one-off people. Yeah, there's a lot in here and we'll link the PeerTube documentation site, which is very good, by the way. I'm just going to search for it really quick. But that goes into a lot more detail about all of these particular settings and moderating and what tools we have there. There's a lot here, but I do like kind of going down the line and at least talking about this a little bit, but there's a lot more specifics on their documentation page. Yeah. Okay, so you can set max amount of channels. I mentioned that users can have more than one channel if you want. You can set a max for that. Default is 20. What happens if you set it to none? I don't know if you can. You can't. Okay. So, the search, but you could probably set it to one or 20 or whatever amount. Because people can have zero quota, right? Right. On YouTube, technically, when you have a count, I think that's a channel, even if you haven't uploaded anything. So, I think it's kind of similar here. People wouldn't have to upload any videos. You could set the quota to nothing for most people. And on top of that, as far as I'm aware, channels aren't public unless they've publicly published something. Okay. So, unless you knew some person's username and visited them there, you wouldn't even see them. There's no listing of all the channels on the instance. Got it. By default. Okay. So, there's also a search in here. So, this says, hey, let folks, what does the search box do? By default, anyone can use the search box to search videos on that peer tube. Also, by default, this box is checked, which allows people who are logged in to search for federated videos. So, if you are following an instance or a channel on another peer tube, that would also show up in the search here. If you check this one, the same thing would happen even if someone wasn't logged in. And if you check this one, you can use, basically, a search index to get results from a bunch of different peer tubes that you haven't even followed. I haven't set this up. Mastodon has something similar called relays, and they are frequently not used very often because, really, you want to have a little smaller community. Yeah, it's probably a little bit of work to keep them up. But, basically, this would allow, if you mess with that feature, you could theoretically find videos from thousands of other peer tube instances if you wanted to. So, that's interesting. I'm going to leave those as defaults, though. Typically, I'm mostly concerned with searching for my instance. Okay, this is the Federation stuff.  You can even have them manually approve new followers to you. You can automatically follow them back. You can automatically follow instances of a public index that's similar to this, except that those videos would show up on your page. I don't think I'd recommend that unless you're trying to make some kind of monetized service out of this. You can set the admin email in here. You can have a contact form. So, if someone needs to get touched with you. You can set a Twitter username in here, which is interesting. That it's there instance allowed by Twitter. The video player will be embedded in the Twitter feed using the image link card. Oh, that's interesting. So, this is basically having to do with how embeds work on Twitter. That's kind of cool. So, I'll update that. All right. Now, this gets into some tactical stuff, and I'm going to put some recommendations in here. These defaults will work. Just fine, the way they are. But I'm going to put some recommendations to make things faster, higher quality maybe, or not even higher quality, but more like allow the quality degradation. Like I mentioned before, you may want to have things trans-codes so that you can have multiple quality levels people can pick from in case they're on a slower internet connection, like their phone or just they have slower internet. So, for this I'm actually going to pull up my own PeerTube instance, log in and I'm going to just showcase what I've got going on over there. Settings wise. So, mine's on the right. It's the one that's like a dark theme right now. And this new one's on the left. So, if I go to VOD transcoding, I have mostly defaults here, but WebTorrent is default disabled. Basically it's like a different way to distribute, to play videos. They don't recommend using this anymore. It's mostly there for legacy, so I leave that just like it is off. So, resolutions to generate. It's automatically going to generate a version of the video at whatever resolution you upload. So, let's say this video that we're recording right now is 1080p, and I upload it, it will be at 1080p. I recommend also generating other versions so that people can watch on lower connections. And I simply do 720p and an audio only version. I like the idea of audio only existing. So, that's an option. 720p is like the lowest HD resolution. 720p videos are typically by nowadays terms, relatively small video files, but they still look okay and certainly good enough on like a phone screen or like a non-full screen like if you're watching your laptop but not full screen, I think they look pretty good. You could enable more of these, but keep in mind every time you do, that's more versions your PeerTube has to generate, which will take processing time. More importantly, more versions you have to store and pay for the storage up. So, I only pick one version. But again, that's a personal choice. You could leave it just like this and it would only have the one version that you upload it in. So, that will be the lowest from a storage perspective. What happens, I mean I assume I know what happens, which is nothing or weirdness, but if you were to upload like a 480p video and then say please transcode to 720 or 1080. It won't make a 720 version. It will only it will only it's smart enough to know that like hey, why would I make a higher quality when there's no more quality to be had, if that makes sense. Enhance. Yeah, enhance. Enhance. It doesn't have that technology. It doesn't have the CSI Miami technology yet. Yeah, but so it just it won't make an extra copy. It's not like you'll have a duplicate. Now to be fair, I don't know that I have done that with 480p. I have tested it with like uploading 1080p for a little while. I had my instance like because I didn't know exactly how these settings worked. I had like all of these checked just to see what it did. And it would only make the versions up to the quality of the original file. But quickly I found like I don't really need all of these granular options and paying for the storage on them. Of course the lower you go, the smaller the file sizes. But like 144p is just not acceptable. Like no one wants to watch that. That's like really small video. So I was like for my stuff 720p is probably the minimum you'd want to watch at. Especially because for what I'm doing is a lot of screen sharing and stuff. Not going to be visible even at 360p in a lot of cases. Alright down here you can also keep most of these the same, but transcoding. So transcoding threads. This is how many like processes get made when it is transcoding a video. So basically the way this works is it will chunk the video up into multiple sections. Frankly it doesn't actually matter how it works but I think it's cool to know. It basically if you set this to one it's going to make one process that transcodes the whole video. So it will take a certain amount of time. If you do this to two it will chunk the video up into two sections and work on it. What does that mean? It means for most servers or computers it can actually do the work almost twice as fast in that case. Because it's chunking it up into two sections. Now keep in mind that it's not going to actually split your video. This is just for the purpose of how it's distributing work. The cool thing with Reclaim Cloud with Cloudlets is because we gave it 32 Cloudlets as a maximum it has up to 4GB of RAM but 12.8GHz processor. So what that means if I do let me install htop here yum install htop What that means though is it has a lot more threads or processing cores to work with and there's more than one way to look at this but if I look at this in htop it figures it has six cores right now so it has like it may make sense to have between 6 and 12 threads to work with which will mean that when you upload a video it will become available to watch a lot faster if we set this setting to be higher than one so again it will work on one. It'll just take if you upload it an hour long video and you're waiting for it to be finished transcoding it may take an hour so the tradeoff is it's fewer resources it's more resources for more threads yeah so it will use only one thread and the associated resources but it will take a lot longer versus if you do three or four threads well what I would actually recommend is just setting it to auto what it will do is it will actually look at the resources it has available and kind of use as much as it can make sense and so you'll see your cloudlet usage go way up but for only 10 minutes and then it's done and what that actually means in terms of what you pay for is it's actually about cost wise the same just things get done faster because say you're using three cloudlets for an hour let's do a better divisible number how about four cloudlets for an hour or two cloud two hours that's the same price because you're paying cloudlet per hour so I would recommend setting this to auto and it'd be fair I haven't done extensive try data every setting and recorded made spreadsheets and stuff this is just by me observing and looking at the pricing breakdowns and reclaimed cloud and stuff like that so I recommend setting that to auto if you keep it on one it's probably going to work fine it just means that things will take longer to be watchable after you upload them and then finally video studio this is cool this lets you like after you upload a video add a watermark cut the video up things like that super neat feature and the neat thing is you can do that and the video won't change its URL which is super cool so I would recommend enabling that feature alright so going over to live streaming so similar set of settings first of all live streaming is not on by default so if you want to use this for live streaming you should turn that on and then there's some things in here so you can have it allow people to automatically publish a recording of their live stream afterwards I would definitely recommend keeping that enabled you can also allow people to change their live latency I've had issues with this where basically what this does is it'll say when people are making a live stream it'll say hey do you want normal latency high latency or low latency low I've had issues with buffering where the video won't be very watchable so I wouldn't recommend using low and high is supposed to allow folks it's supposed to be easier on servers that are having a hard time with the load or whatever I've never needed that so I would actually recommend leaving this off and that means that every video will just use the default latency people don't even get the choice so I would recommend turning that off you can set how many maximum simultaneous live videos can be created on your instance you probably would want to play with this if you were having multiple people using this I've just set let these be default because it's just me the defaults are 20 so 3 per user 20 across the whole instance 20 people actually streaming at the literal same time is a lot but the kind of crazy thing about this is if you have a permanent live setup that's like someone's not currently streaming to that counts against this limit so it's the likelihood that 20 people would actually be using all of the upcoming links is low so this is something you'd want to play with and maybe do some testing with if you're running a large instance but it is still only 3 per user alright transcoding you'll definitely want to leave transcoding enabled for live streams I'm not even sure why this is an option to turn it off because as far as I'm aware if you disable this the live stream will only work in certain browsers in certain circumstances so that needs to be turned on same thing though I recommend setting one additional resolution so people at lower bandwidth can watch your video and I would recommend that being 720p personally so is the idea that it does this transcoding while you're streaming or at the end of the stream? yes so transcoding is real hard on cpu again in reconcloud it's not so bad but this would never work in shared hosting basically so what it's going to do is whatever resolution it's receiving so if I'm using OBS and I frequently do 1440p which is a pretty high resolution it will do that and then it will also make one at 720p so that's how I would recommend setting this up if you uncheck this it will only do if you leave this the way the default it will only do the resolution that you are sending video at it won't provide any other resolutions which again like I said might be nice if you have someone watching on a phone or just a slower internet connection to have that 720p option and then similar thing here live transcoding threads the difference though is it's not going to go any faster because it's got to do it in real time I would actually always recommend setting this to auto and that basically it will manage how many threads it can use to make sure things are running smoothly at all times so it's set to 2 by default I would recommend setting it to auto alright so I'm going to hit update on that and then advanced there's not much in here there's no flashing stuff in here this is just like the preview images on the home page but you can set custom CSS to change how your site looks and javascript which could be nice if you want to use something like google analytics or matomo analytics which is a source you can use that in cpanel actually you could put the tracking code in there I'll go mention now on customizing the look up here too literally what it's called and what I did to mine so basically I went in and installed a theme which we'll show in a second where those are and then I added a bunch of custom CSS right to this panel so that's where you would do that if you wanted to yeah so we're getting to the end here a couple other things so plugins there are not a lot of plugins but there are plugins there are also themes so you can go to plugins and themes I'll go themes first and hit search and this will just show all of them search for one specifically if you have one in mind anything you recommend dark and this is an official one that's the one I'm using I haven't really used any of the other ones to be honest with you I just don't have experience with them you can install them and then you will go to configuration basic to change the theme let's try one here I haven't tried so let's try dark evolution dark evolution configuration basic oh maybe I have to refresh basic dark evolution and then update and then I'll refresh again there we go oh is this what Jim uses do you think I don't know I think he kind of followed my blog post he's probably just used the dark theme one of the cool things in their CSS they have a like variables set so that you can change the theme colors kind of easily actually oh that's nice this is all that I'm doing to change my theme colors I'm setting main color, lightest lighter and lightest and then hover color and secondary color okay but this one looks pretty similar to the dark theme to my eyes but I'm sure there are differences looks like there's some transparency or something maybe not I think the black is a different black it's orange it's a little bit got a hue to it so there's a bunch of themes it's cool how about but yeah there's themes they're not as radical as WordPress themes they don't add functionality the way WordPress themes can it's really just in my experience just some basic ones I've really messed with the official dark theme that's all I'm going to use the cool thing is if you use the official dark theme and let me switch to configuration got to refresh again if you install the official dark theme one of the options will be light orange or dark and what that will do is it will use your browser's setting or really your operating system setting if you like light themes or dark themes you can use that one that's fun which means like for my instance because I picked colors that I think really only work in a dark theme I actually had to uninstall sorry not uninstall but I had to specifically choose dark because I didn't want folks to see the light version of my site because I have like light pink and hot pink and I was like that's going to look bad on a white background how to make the light pink and purple on my blog visible it's not easy so I'm going to actually uninstall those themes and we're just going to go back to the basic one for now but I suppose by refresh it should be good alright but there's also plugins so go to search plugins most of them are things like offering different sign on experiences and stuff but there are some ones that are interesting live chat so live chat is one that lets you do live chat on live videos you can actually there's some settings in there that are good to know about you can have like a social sharing button let me actually go back to mine here and I'll show off some of the plugins I use so I'm using background play which on mobile lets people keep playing a video even if the screen is off kind of cool I use a live chat I use simple logo which lets me set a logo by default you cannot do this yes you have to make your own theme by default to do this so this plugin lets you set a logo without modifying your theme files which I highly recommend super easy compared to I don't even know how I would do it the other way and then this one's kind of cool too this one allows me to sort of recently added videos pages chronological instead of reverse chronological well no no this one's actually by originally published at so there's two date fields one is when the video was added to peer to and one was the video originally published wherever it was from so I have this set that way because I have some real old videos in here this one in particular from my youtube from like two years ago but I uploaded it to peer to like a month ago so I don't want it to show up here in my last month I want to show all the way at the bottom that's what that plugin does so it uses that originally published at field instead which I really that's very cool so that's the plugins that I use there are other ones they're hit and miss to be honest with you like there's not that many first of all I mean there's enough like there you know this isn't the wordpress plugin store where you get like nice statistics on how many people are using them and things like that I've definitely tried some here that just don't work or break my peer to and I have to uninstall them so not break in a like I just had to go here and uninstall them I've never had to do anything like fancy with the command line to uninstall a broken plugin but I'm not saying that couldn't happen right but one I used to have one that allowed Chromecast and Airplay you could Chromecast and Airplay my videos onto you know an Apple TV or whatever and that one broke with the newest version appeared to so I'm waiting for a new update but the last ones from nine months ago so I have to leave it off until now or until they update it so you know anything you install is turned on immediately like wordpress lets you toggle like it's here but it's not on correct yeah if it's installed it's working and if it's uninstalled it's gone yeah good point there's no concept of installed but deactivated if you switch plugins to installed here you'll see your list and you can also go to the settings pages so for like live chat here there's some settings on like I have mine set to um automatically open the chat um yeah so I have it set so you can pick whether it's active for a particular live or not I guess I would honestly rather have it activate for every live video um you could also turn chats on for non-live videos so there's all kinds of beaming in other options in here this live chat plugin is awesome and really configurable and just great um some of them are more basic so like this simple logo one just like where do you want where's your logo that's where to pull it from background play I think does not have plugins does not have settings so they're all over the place even it's simple yeah but I like to show that they exist and like live chats probably one you want maybe not live chat on your thing okay so with all of that um now we're going to actually go into one more thing before we showcase the actual videos I also wanted to mention here the Federation stuff so um I already showed that you can get to that menu from Administration Federation but this is what it looks like when you're following other instances so I'm following archive.reclean.tv and bava.tv and I have these two other instances following me this is my whole instance to be fair so there are also channels can be followed and individually too and is there a specific feed where you would go to see all of the stuff that you're uh the people you're following I guess this is yeah so well so this is subscriptions in the youtube sense of like I have an account and I hit the little subscribe like I want to see the new videos button um I don't really use my peer tube that way personally like I'm not watching videos on my peer tube unless it's my own video so I don't have anything subscribed however if I go to just videos um well actually sorry this is my videos so these pages down here are the public ones um if I go to discover this is going to show and you can see based on the username what um where these videos come from okay um I can also go trending and recently added these are three are the same thing it's just show me all the videos on this peer tube and the ones that you're following but in three different stores in a particular way differently um so yeah so you can see down here like here's um Jim working on some arcade stuff um so you gotta look at that um I believe I can also search in here so I can just go like baba.tv um and it will show me the channels and videos it knows about there so but that's only they don't even show up because I'm following them at the server level um so and then local is just my videos so I mentioned this before but I have it configured so that you go to and um I would say I'm gonna go in a private window when you go that's JD JD oops um you only see my local videos just because I figured that's probably what would be most useful for someone visiting my peer tube is they're coming for probably one of my videos I don't have a lot of other videos on here so um I also as part of that blog post I linked earlier have basically everything hidden like there's no sidebar you just get that if you don't want to see local videos uh tough cookies um actually I guess you could change this filters and change it to federated and that would that would do that but um I just I wanted it to be as simple as possible so um yeah so that's what that looks like from the oh I closed it didn't I um that's what it looks like from the uh federation point of view and then you also from here go into like your uh videos down here um and this is across the instance and so you can see videos that are both public and unlisted like I um have stuff in here that isn't public um like recordings from uh D&D sessions and we watched a holiday movie where I streamed it I don't want that to be public because it's copyrighted so I'm going to actually delete this from my YouTube pretty soon um uh I have a recurring live video here so there's nothing there right now because I'm not currently streaming to it but I can go in here and edit the title of it and all that kind of stuff when I'm not even streaming to it and so that would be where you would go every time you want to do a live stream or that's just a thing that happens every god what day would that be Friday Thursday this is um just where I can see the stuff that's already been created finally when I want to publish something right if I'm logged in I get this publish button um so um you can actually from here do a bunch of different things so I can create live streams um so I can hit go live and pick the channel um pick the is it public is it unlisted um it's really so this is internal this is kind of interesting because you could theoretically have people have accounts in your peer tube to be able to watch your stuff but not be public they have to log in this is so cool because this is not a thing you can even do on YouTube right on YouTube it's got to be public anyone can see it unlisted anyone can see it if they have the link or private which means only you can see it which I don't know why you'd be doing a private live stream but that's fun that's also um it's not quite the same because it's live stream but I like that WordPress I always liked that WordPress had that feature as well yeah totally and I think that's a really good I think there are a lot of educational context where that makes sense right yeah um so especially when people are getting used to something or learning about it so I love that that's capability um on here I can pick normal or permanent so normal is making a link that's sort of one time use so it's like here's a link for my stream about um the ZuraCast and when I stream to it it will do the stream and then it will when I stop it will start making a recorded it'll prepare the recording of it it'll turn the transcoded yes and people can watch it at the same URL super neat it's how it's how YouTube does it recurring works the opposite way recurring is you can stream to this multiple times and when it's done it will republish a recording afterwards but that'll be its own URL basically I pretend to use that because it's really handy in my OBS setup to be able to point it at one URL all the time and not ever have to change it right um that's why maybe come back to in the OBS in a couple weeks yeah we will definitely I think showcase that in the OBS session we will do something I'm not sure how deep we'll dive into all of it but we next week when we use all these tools together that's something maybe we can show there a little bit too but yeah so this distinction is really nice that you can choose basically import with torrent that we talked about the torrent stuff I've never used this and it's sort of unclear to me what you would use this for but it can grab video from torrents I should say it's unclear to me other than I want to pirate a video I guess you could do that don't do that on our service though the journalism yes journalism so import with URL super cool lets you archive videos that are on youtube and I believe some other supported sites as well and it also mentions that you can synchronize remote channel we talked about this where you could have it constantly checking for new videos on the youtube channel you do that from a different place you can do that from your library but this is super neat so let's say I've got a video let's say I want to archive this one and this is I think where peer 2 becomes just an amazing archival tool for your own purposes where is my oh here we go I can actually grab this URL here and just paste it in from youtube and say yep that's good we'll go to that channel let's make this one unlisted and I'll import it and I'll do a link to the channel and everything from the reclaimed channel no just the one video I linked to okay oh wait no you do the other thing in the library right yes so here it's going to oh I did something wrong I actually grabbed the not the right URL I linked to the image so let me actually get the real link for that you grabbed the thumbnail yeah interesting that it even got this far so I grabbed that let's actually go to our new one over here and we'll import with the URL and let me hit that button again so the cool thing is it's going to pull in metadata from youtube right so it's going to pull in the category some tags the description the title all that gets pulled in it's not going to pull in youtube's auto captioning and to be fair I haven't tried pulling in a video that has manual captioning I don't know if it can pull that but you can manually add captions so you can set like all right English is language here and then you can upload a VTT or SRT file so you can have captions I'm so used to VTT standing for virtual tabletop yeah right but pull in the thumbnail so it pulls in all that stuff and I can hit update and it will just go and pull that video into my library in the background so that's another thing you do and then finally what probably most of the time you're doing is uploading a file so that's pretty straightforward you just grab a file and you upload it it supports tons of file extension which is really neat because youtube doesn't support that many but this will support even audio files you can just directly upload an audio file which I think we mentioned earlier and supports all kinds of video files and then it will transcode them for you and show them on your page so this is pretty simple I mean you basically just grab a file and upload it let me look in here I don't really know what these are to be honest with you I wonder if, I wonder what you said the URL thing can be picky sometimes but I was thinking back to that azuracast recordings thing and I wonder if there's a place where the azuracast recordings live that you could import with a URL so it doesn't I don't think so because what it doesn't let you do it's using a command line tool called yt-dlp which is a command line tool to download from youtube and other sites and it's not expecting for whatever reason just a direct link to a video or audio file as far as I'm aware so it needs to be from like a supported site so know what you would do with azuracast is you just download those recordings download and upload them in their audio so they wouldn't take very long to download or upload or transcode for that matter so I'm uploading here just an archive of a stream I did a little while ago that I happened to have on my laptop but I can give it a title just like youtube you can do this stuff as it uploads I'm not sure if this is even going to finish while we're doing this here but I think probably not but my stream archive I can set various things on here sure you can set it to not publish which is interesting so basically if you don't do this it will transcode the video and then you can say alright and it's live now otherwise you're just going to automatically make it live after you but visible after you do this and this would be most important if you're setting it to be public if you're doing it as private or unlisted anyway then it doesn't really matter if it's published or not and then scheduling I think this is new but you can actually schedule videos to be live as well that's fun and then captions are here advanced settings this is where you set your thumbnail you can also enable or disable comments on videos and you can by default people can just download the file which I think is super cool especially again for an educational context I've had situations in the past where I had professors who were like I've got these videos on YouTube that I want my students to watch and one of them asked if they could download them so they could watch it while they're on the airplane going somewhere and I was kind of like well there's two ways to do this one of them requires them paying for YouTube premium and then they could do that if they're on YouTube and the other one requires them using tools that like they're not illegal but they definitely exist in a legal gray area because YouTube doesn't really want them to exist they want you to watch on their site that's where ads get served all this kind of stuff I wouldn't even say it's a legal gray area but my point is the tools are by the nature of what they do so yeah so it's never great where as peer tube peer tube will let people just directly download them which is super neat so if I go to my own peer tube here where there's already stuff I can just go let me turn the volume down before I do anything here I can just go to a video and of course I can watch it in this case it's remembering the time stamp I left off but I can also just hit this button over here and download it even if I'm not logged in that's an option so when you hit that it will give you the quality option so maybe you just want it as an audio you're going to listen to it like a podcast you can do that it's super neat so that's one thing I really like about peer tube as well it's actually going faster than I thought but yeah alright so and that's interesting over here the video import I can't leave this page while I'm uploading otherwise upload will pause not that I really care but I can just open another tab while that's doing its thing and we'll check out this video import alright so this one's already gone through super neat that's a 30 minute thing so it's pretty fast but yeah so now this little demo peer tube has a couple different videos here trending this is our trending video it's got the most views in the past one of one zero look at that so that's a lot we went through a lot of different things but that's the kind of nature peer tube can do a lot so hopefully we did a good job kind of showing everybody who watches this what's possible with peer tube and I'll make sure to link to the peer tube documentation my blog post on customizing the look of it if you want to do that with it look blog post and also have the instructions on how to do HTTPS copy that command instead of having to type it all and yeah if you have any questions let us know in discord or wherever really and hopefully you can play around with it I think peer tube is a fascinating tool next week we will be demoing streaming to it probably also streaming to omcast which doing two streams at once is not really easy but I have some ideas to do that and Xerocast and Jitzy and I'm very excited about it so we're going to do a big extravaganza so let us know if you have questions and we'll see everybody next week see you next week this was very fun thank you Taylor thanks


Transportation is the backbone of our communities. We rely on it every day to get us to work, to get us to shopping and recreation, and to bring us goods and services. But who makes the decisions about our transportation system and how are those decisions made? This video is an introduction to metropolitan transportation planning and the role of metropolitan planning organizations. Over the last 100 years or more, America's population and lines of commerce have expanded well beyond the boundaries of individual cities and towns. Today, networks of highways, transit services, freight carriers and airports serve metropolitan areas that may include many cities, suburbs, towns and counties. In today's urban areas, many transportation decisions are best handled at the regional level. The regional approach gives decision makers a comprehensive understanding of transportation problems and the ability to develop comprehensive solutions. Over the years, Congress has promoted a regional approach to urban transportation planning and decision making. One of the most important advances came in the 1970s with legislation that required the creation of Metropolitan Planning Organizations, or MPOs, in areas with a population of 50,000 or more. Now, there are over 300 MPOs across the country. An MPO may be a freestanding planning organization or an association of local governments. But every MPO is governed by a policy board of local elected officials. The board may also include representatives from state transportation departments, mass transit operators and others. The MPO is not alone in the decision making process, but it's the engine that drives collaboration and cooperation among many participants. Local elected officials bring a unique perspective to the planning and decision making process. They often face a challenging balancing act, making decisions that have the greatest regional benefit while at the same time reflecting the concerns of the communities they represent. MPOs and their partners produce three key documents. The Unified Planning Work Program, the Transportation Plan and the Transportation Improvement Program. The Unified Planning Work Program, or UPWP, describes the planning studies that are being performed for the metropolitan area. The Transportation Plan identifies the region's transportation policies, strategies and projects for the next 20 years or more. The Transportation Improvement Program, or TIP, is a short-range program of projects covering at least three years that directs available funds to those improvements that are the highest priority. The MPO Policy Board and its partners direct the development and contents of the plan, the TIP and the UPWP. Both the plan and the TIP must be physically constrained, in other words, consistent with available and expected funds. In areas with air quality problems, the plan and the TIP must also help the region meet federal standards. Let's now look at how the plan and the TIP are prepared. In addition, the local planning participants start with a regional vision or a set of goals. This vision expresses what the region would like to become, perhaps 40 or 50 years in the future. Well, important elements of long-range plan are obviously in a strong statement of goals and values. What is it that we're after in the transportation system in the future? In developing a vision or goals, the MPO may consider many questions. What are the trends in regional growth and are they desirable? How well is the transportation system performing? Do existing plans deal with current and expected problems? Can the transportation system support the kinds of future development that the region desires? When the vision and goals are in place, the MPO and its partners are better able to identify transportation problems and needs. These can include declining mobility, increasing congestion, poor access to jobs and neighborhoods, unhealthy air, or inconsistency with proposed economic development. An understanding of these problems allows the MPO and its partners to identify alternatives to improve transportation. Alternatives may include new policies, operational strategies, or capital projects. Some may help the existing system work better. Others may expand or build new transit lines, highways, and other facilities. Another round of questions is asked in assessing the impact of alternatives. How well does each alternative address the region's transportation problems? What are the likely impacts on neighborhoods and the environment? How much do the alternatives cost? Are the funds there? And is this the best use of available resources? The answers to these questions help the board choose the best alternatives. By adopting the transportation plan, the board establishes the policies, strategies, and projects that the region will pursue. To develop the tip, priority projects are drawn from the adopted transportation plan and matched with available funding. Once adopted by the MPO, the tip is submitted to the state and becomes part of the statewide transportation improvement program. But the process doesn't end here. Projects and strategies in the plan and tip undergo further development, often including engineering and environmental studies. Also, many MPOs monitor the implementation of the plan and tip, study how well the plan is working, and make periodic adjustments. Federal rules require that the plan be updated and readopted every three to five years, and the tip every two years. Long-range planning, it is an ongoing process. It's not etched in stone, and many people don't realize that, and new board members don't realize that either, that it's not a plan that's etched in stone, that it's constantly in an updating process. Agency and public involvement is a key activity in every step of the planning process. The public refers to a variety of individuals, agencies and organizations, each with different interests and levels of involvement. Many different approaches are used to inform and engage other agencies and the public. Our public participation is not just at the MPO level, and that's one of the things we try to emphasize at the municipal level. It is not just the MPO calling a meeting, no. It is the MPO participating in other meetings and forums that may have been called by other, whether city or state agencies. Transportation planning continues to evolve. New issues are emerging that demand innovation and creativity from MPOs. Many MPOs today are working with other local and state agencies and the private sector to provide multimodal systems that give people more choices. Transit, carpooling, bicycling, walking, better connections between highways, transit, airports, freight and other modes of transportation can make the entire system work more efficiently. We can't solve our transportation problem in key corridors just by widening the roads anymore. We have to provide some additional modal opportunities for the traveling public and by focusing on rapid transit in conjunction with roadway improvements, we think we can add significant capacity for the traveling public. Coordinating transportation and land use can be challenging. While transportation decisions are made at the state and regional levels, most land use decisions are made by local governments and private developers. The MPO may be the only place where officials from different jurisdictions can coordinate land use and transportation planning for the region as a whole. Many MPOs are partnering with state transportation departments, transit operators and other agencies to preserve existing transportation assets and to squeeze more capacity out of their existing systems. Probably for 40 years we chased congestion and congestion was our number one goal, addressing congestion was our number one goal. But now we're recognizing that preserving the existing system, our bridges and our highways and our transit systems and the safety of that system are in fact more important goals and we recognize them and that's part of our vision to create a system that's not only safe but is well maintained and preserved particularly in the core of our region. Planners are also making greater efforts to respond to the needs of all the users of transportation systems, people of every age, ethnic group and income level because mobility is a link to opportunity and equality. For elected officials and citizens alike, metropolitan transportation planning is a tremendous opportunity to build better communities. I think I went into it not realizing that I was in a much wider, bigger area that had dramatic impacts until I got into the process and began to experience what other towns were going through and seeing and learning from their mistakes and learning their ideas and I think that's one of the rich rewards of the MPO process. It's an exciting position to be in. You do have input, you're representing your communities and I think anybody that wants to get involved in this should. It is basically a collaborative approach among the jurisdictions within a metropolitan region. There are some federal rules and laws that guide how we have to go through the process but the real success of MPOs is based on the ability of the leaders of the jurisdictions to be able to collaborate to achieve a common goal.