Small is Beautiful #11
Videos āµ Small is Beautiful āµ #11
Can the Small Web be as easy (or easier) to use than the Big Web? (Spoiler: Yes.)
Broadcast on June 18, 2021
It takes under a minute to sign up for Markās Facebook and Jackās Twitter. Can we make it as simple to sign up for your own place on the Small Web?
Yes!
In this episode, Laura and Aral talked about the design challenges of doing so as well as demonstrating Domain (previously Basil), a work-in-progress platform that enables just that.
This was the first time we streamed Small is Beautiful using our own Owncast instance. (Hint: you can install Owncast using Site.js.)
Links from this weekās livestream
- Owncast - Selfhosted Livestreaming
- Site.js
- Aral Balkanās blog and Sāupdates
- ATEM Mini
- Public Suffix List
- DNSimple
- Mastodon
- PeerTube
- Write.as
- Nextcloud
- cloud-init
- Small is Beautiful live stream reminders
- Fund Small Technology Foundation
- Better Blocker
If you like this livestream, please help support out work at Small Technology Foundation with a patronage or donation, or share our videos with your friends!
Transcript
Aral: Hello, hello and welcome to the first Small is Beautiful on Owncast. Hi, Laura.
Laura: Hello Aral.
Aral: How are you?
Laura: Iām good. Iām Laura Kalbag, thatās Aral Balkan, and as ever, he is upstairs, I am downstairs and together we are Small Technology Foundation, a teeny tiny, not-for-profit organisation based here in Ireland.
Aral: And this is a monthly stream that we call Small is Beautiful. And this is the first Small is Beautiful that we are actually streaming on our own Owncast server. Previously we were on⦠were streaming via Vimeo and itās really cool that weāre able to move over to Owncast, which⦠I guess should we do an introduction to Owncast. Laura, would you like to do that or should I?
Laura: You go for it.
Aral: OK, so for those of you that might not know, Owncast, let me actually I can show you. So let me just goā¦
Laura: Iām going to voice of God and say by previous guest, Gabe Kangas, who is on a couple of episodes agoā¦
Aral: Yes, indeed, so if you go to owncast.online, just one, on owncast.online, youāll find their website and itās basically your own Twitch, your own live streaming server. And itās very, very easy to set up, in fact, will show you how to do that today. But yeah. So Gabe is was very kind and actually gave us five t-shirts to give away as well.
Aral: So Iām just going to put the studio, tudio URL up there if you want to join us in the studio. So if you hit that URL, youāll join us in the studio that weāre in right now. The first five people to join and maybe ask a question, etc. will get an Owncast t-shirt. And actually, while Iām at it, Laura, let me show you what the t shirts look like.
Laura: I was going to say, you can also see that youāve posted them on Mastodon and then itās been reposted to Twitter, if you want to see what these groovy t-shirt designs look like.
Aral: Yeah, and I canāt seem to find the URL, so Iāll just go to my Mastodon and let me show you from there. So let me just go to myself here,. And show you my screen and letās see where are those t-shirts?
Aral: OK, so this is [crosstalk] whatās Mastodon Laura? Do you want to tell?
Laura: You just show how how often you post⦠Mastodon is I guess if Owncast is a Twitch alternative, Mastodon is a Twitter alternative. But you can have your own instances. There are instances out there that have a lot of people on, but Aral and I both have our own instances, our websites, and yet we can still use them to communicate with all the people. And those are what the t-shirts look like. And I think, as Aral said theyāre available in both straight cut and fitted cut. So that would be conventionally known as āmenās cutsā or āwomenās cutsā, or āstraight cuts/unisex cutsā andā¦
Aral: And as I learned today, thanks to you. All right. So very cool. That is⦠thatās Owncast. And oh, we already have two people in the studio. Laura, if you wouldnāt mind maybe chatting andā¦
Laura: Yeah yeah, leave me to it, Aral. You donāt need to tell me how!
Aral: Cool. All right, awesome.
Laura: But actually, just before we get to that, I was going to say now usually we invite guests into the studio with the studio URL and we give you the option to ask questions, either with microphone and a camera if youāve got them, or just via text in the private chat. But today gonna try a new thing and Aral, if you could find the banner for me, you can also, either post to Mastodon or to Twitter with the hashtag #SmallIsBeautiful, and Iāll try to pick it up on there as well. So Iām attempting to do a bit more multitasking today, more than I usually do, which is already a fair bit. So weāll see how well it goes. But I just thought it would give people an opportunity if they canāt get into the studio or if youāre just more comfortable in that other environment. So if you want to⦠go for it.
Aral: Awesome. So while Laura is chatting to the folks in the studio and we might be joining some of them, we might be having them⦠some of them on the stream live as well. If they want to be on the stream, of course. I am going to show you what weāve been working on recently at Small Technology Foundation. So you might know through some of my Sāupdates, which are on my blog, ar.al, my more frequent developer updates, which havenāt been very frequent recently, actually, that⦠oops, just zoomed in on Laura. [Laura waves] Hi, Laura. There we go. Thatās meā¦
Aral: ā¦that we are trying to build the Small Web. So whatās a Small Web? Basically take the Big Web and turn it upside down. So the Big Web is about having servers that scale to two, two hundred, two thousand, twenty thousand, two million, twenty million, two billion people, right? Itās about⦠And those servers, of course, are owned by huge Big Tech corporations like Facebook, Google, etcā¦
Aral: What if we tilted that on its head? Basically turned it on its head, and instead, what if the Web was made out of sites, locations that were just just for one person and one person alone? What if websites were single tenant? And what if we owned and controlled them? So thatās the Small Web. Now, this has huge challenges, mostly because the Web has been built for the Big Web. Right? Itās been built in corporate interests, maybe not at the very beginning, but very quickly afterwards with the influence of venture capital, the Silicon Valley model, etcā¦
Aral: So the constructs we have are all about having servers with multiple users and scaling and growth and all of these success criteria that are really the success criteria of capitalism and maybe what you would call surveillance capitalism, Silicon Valley model of doing things. So what would it take to build what we want, which is that I have my own Place on the Web. Laura has her own Place you have your own Place. Well, it has to be very simple for these places to be set up and used.
Aral: In fact, it has to be as simple as signing up, say, for a Twitter account or signing up for a Facebook account, as simple as if not simpler. If we canāt do that, no one is going to use them, even if they exist. And by no one, I donāt mean the people who are enthusiasts who will, of course, use them and love them and and maybe even work on them. But everyday people who use technology as an everyday thing. And thatās not because these people are dumb or stupid. Itās because these people are brain surgeons and they have brain surgery in the morning.
Aral: So they donāt have time to mess with something that doesnāt work. If it doesnāt work well, if it doesnāt do what they want it to do because there are alternatives that do maybe those alternatives donāt respect our human rights, but they work. So we need to work. We need to work really well. So Iāve been working on Domain, which used to be called Basil. Itās a work in progress. But let me show you how easy it is with that to set up your own small website. Now, this is still a work in progress, is still very early. Itās not released.
Aral: You can find the source code. And if youāre a developer, you can go in and you can play with it. But let me show you what itās like, the experience of setting up a site. So initially weāll just set up a plain site. So say youāre a developer and you just want to set up a site. How easy would it be if if you were using Domain? So let me show you. Iām going to just bring up my terminal. Iām going to run a local copy of Domain here. OK, so this is something that you would⦠this is a development version of it.
Aral: You would, of course, have this in⦠Iām just sorry I open up my web browser here as well and show you what it looks like when itās running. Iām going to go to localhost:3000, which is my development version of it running, and this is what it looks like. So Iām just going to make it a little smaller so you can see it. So if this was running at, say, small-web.org, which is where this is going to be running, initially, you could say, oh, I want my own Site.js, my own Owncast, my own Place, which is something that weāre working on at, I donāt know, maybe aral.small-web.org.
Aral: And maybe at small-web.org you would be paying something like 10⬠a month for it, which would go to our not-for-profit and towards making this sustainable for us, within the system of capitalism that we that we live in. So this functionality is not there yet⦠now what is? So Iām going to go into my admin panel here. And this is the dev version, so itās loading a little slower than the actual version would, and Iām just going to sign it with my password.
Aral: Doesnāt matter if you have this password, itās just my little password that Iām using right now. And this is my administration panel. So you can see here that Iāve set a lot of things up for Domain, but payment is showing as thereās a problem with the payment systems because itās because I havenāt actually finished implementing the Stripe payments module for it yet. You will be able to set up a Stripe payment module or you can use tokens and weāll talk about that later. Or maybe you just donāt have a payment provider. And thatās perfectly fine. If its set to ānoneā and I go to the main page of it, you can see that it says āthis is a private instanceā and it means that you can only create sites if you have access to the administrator. So this is something you might use for your family maybe or for a hyper local⦠sort of for your neighbourhood to set up Small Web Places for them. But letās go to our admin panel again, and Iām going to now sign in here. So this is the functionality that currently works right now.
Aral: OK? And Iām going to go to Places and Iām going to create a new web Place. So Iām just going to create a web Place that has Site.js. OK, and letās call this small-is-beautiful or just call it small-is-beautiful, and Iām going to create server. So Iām just clicking ācreate serverā here. And what happens is⦠Iām going to make this a little smaller so you can see it⦠Itās now setting up small-is-beautiful.small-web.org with dashes in between. And this is how it would be if, for setting up anything really. But weāre just setting up Site.js, which is a very developer-centric thing for creating your own sites. But this is early days, right? So itās doing all the things it needs to to set up small-is-beautiful.small-web.org and giving you progress as it goes. And now itās like, OK, letās see if the server is actually ready or if itās still doing a few final things?
Aral: And once it gets a response from the server, it knows itās actually actually there. What should happen any second now? But who knows? I mean, this is a live demo, so it could take a little longer, a little shorter amount of time. Letās see. Weāre waiting for⦠usually itās faster than this, I have to say. But I think Hetzner, Hetzner is the VPS provider weāre using initially. There we go. Itās there. They were having an issue with some of their services. So if I go there now, this is just saying āwelcome to your Small Web site powered by Site.js.ā Now, again, this is for developers right now, but how can I change this if I have Site.js now, if you donāt know what Site.js is, by the way, letās just quickly go to sitejs.org. It is a Small Web construction set. It is how you can create your own websites and web apps very easily for, websites and apps for one person. So if you have Site.js, as I do install, itās very easy to install it. You just copy and paste the line from the Site.js website. In fact, if I didnāt have it installed, how easy it is to install it, I would just scroll down over here. And I would go to⦠where is that? āInstall Site.jsā over here, I click that, I go into my Terminal, I paste that. Again, this is for developers, right? So itās downloading Site.js.
Aral: And then again, thatās taking a bit longer. Maybe my connection here isnāt that great right now, right. Yeah, Iām on the right network. OK, so itās installed. So letās just make a little demo site. So Iām going to go into ādemo.ā Iām going to say ātouch Hello, Small Is Beautiful!ā, and Iāll write that into an index.html File. Now Iām just going to sync that, OK, to site @ small-is-beautiful.small-web.org and into the public folder there. OK, we want to keep connecting. Yes. Because the first time it connected. OK, now if we go over to small-is-beautiful.small-web.org, you can do this too and you refresh. Should see⦠what happened there? Letās see⦠letās see whatās up.
Aral: Did I just actually touch? Nope, no, ātouchā does not do that, ladies and gentlemen, āEchoā will. So let me also remove that file. OK, there we go. Now, thatās much more like a website. Oh, God. I just managed to screw up the most basic demo. Itās amazing. All right, letās go back to that. So if I sync that now if I say site --sync to⦠And I do the same thing. OK, itās not making it up⦠site --sync-to-aral@small-web⦠sorry, site @ small-is-beautiful.small-web.org into the public folder. See that the sync is starting now, if you go over there, it says āHello, Small Is Beautiful!ā Now, of course, this is just a very basic example, right? Letās go into some examples that come with Site.js.
Aral: OK, so this is the source code for Site.js and thereās an examples folder in there. There are some examples in there. One of them is simple chat. So what if I want to have a simple chat server? OK, let me just sync that to small-is-beautiful.small-web.org. Now, if I refresh there, I have a simple chat app running there. OK, this is cool. This is actually online. You can actually go there and Iāll say āhello everyoneā. If there is anyone watching⦠and this is a very, very simple chat app in that it doesnāt even do persistance. So if I go to small-is-beautiful.small-web.org in a different tab, Iāll say also Aral and Iāll say āhello Aralā. You can see the first chat isnāt there, although Vinci said āheyā in there. So I didnāt see that because Vinci said that earlier. Now any new chats that come in, Olav is saying āhiā there now are coming in and he says, āWicked!ā, thatās really cool. OK, so this is great. But Laura is āhard core multitaskingā. Thatās great. So this is very simple. So people who join in are not actually seeing previous messages. Thatās not great for chat, is it? So letās do a persistent chat.
Aral: And thankfully, Site.js comes to the persistent chat example as well. So you might be wondering or not, well, how would we deploy the persistent chat? So I just go into the persistent chat folder and this is where the source code is. And Iāll just say site --sync-to, the same thing, just syncing to it. All right, letās refresh. And now we have a persistent chat application running there. Thatās pretty cool. Sorry, the previous chats are gone. But if you now⦠if I now say āhelloā here, anyone who joins the persistent chat⦠OK, so Iām going to refresh this one as well⦠will see whatās there. So, āHey, Vinci, thanks for joining us :)ā Yay! āSendā. OK, so⦠Ćlise, thank you. Nice. Mike says āhelloā.
Aral: Very cool. Very cool. Also folks, let me know how the stream is going. Are you having difficulty with it? Is it fine? Is the quality good? Itās first time weāre runningā¦
Laura: Iām coming in here as the voice of Godā¦
Aral: Niceā¦
Laura: So far weāve had pretty good feedback on how the Owncast live stream is running.
Aral: Excellent. And thereās no reason why it shouldnāt. Weāve got it set up right now just doing a passthrough. So our studioās in Streamyard and weāre just doing a pass through stream. Itās not doing any transcoding. So actually if I go on the owncast.small-web⦠not small-tech, small-web.org, thatās our server where our serverās installed. If I go there and I go to the admin there, let me just sign in here.
Aral: Sorry. Give me one second. Admin and my password. I wonder if my password is still in⦠nope⦠itās not ok. Sorry Iām just going to get my password. It is not a web form so I actually need to go into 1Password to get it. Give me one second, let me reveal that, OK, copy, thatās the correct password. So if I go into the admin in one password, our case, Iām going to show you what thatās like. Letās go over here. So this is the admin. We can see that weāve been streaming for 20 minutes today. This is Owncastās admin. And you can also see the logs. If you go over here, you can see that everythingās going swimmingly. Our server setup is very, very simple. Just the defaults, over here. Weāve just Iāve hidden the chat because I donāt know how much of an impact that would have. So Iām just being very, very conservative right now. Storage, weāre not even using external storage to something like Digital Ocean spaces or AWS, etc. ā¦So this is just running on a very small VPS. In fact, if youāre wondering what kind of VPS itās running on. Oh, sorry, I didnāt even make myself full screen there. So you probably didnāt see all that. So let me justā¦
Laura: They just got to look at me at the same time! [laughs]
Aral: So here you can see that. What did I show you earlier? Our server setup is the the default setup. Our video configuration is very simple. We just have a pass through stream, so weāre not doing any transcoding whatsoever. But that actually means if I go to hardware over here currently, you can see our usage on a very simple VPS is 26% CPU, 6% memory, 4% disk. So itās doing swimmingly well in terms of resource utilisation.
Aral: And if youāre wondering. What kind of VPS itās running on? Exactly the same kind that you just saw me deploy Site.js to, OK, no other tweaks. In fact, one of the things that you can install with Domain, what I just showed you is the fact that weāre working on is Owncast. So Iām going to show you that⦠itās the last thing and then weāll take questions and maybe weāll have a conversation, etc⦠Is that OK? Laura?
Laura: Yep, thatās OK by me.
Aral: All right, so let me just do that, so letās go back here. So again, if I go back here and let me just go back into the admin, and sign into the admin here. OK? So, all right. Iām going to this time⦠let me go into Places, not into set up. I can select āOwncast (with Site.js)ā and letās call this, I donāt know, letās call it a smallcast, smallcast.small-web.org. If I go there now .small-web.org, it doesnāt exist yet. We havenāt made it yet. So let me close these simple chats. People are still chatting in the simple chat, thatās cool dum-duh-da-da-dah. Oh, Adam, no transcoding. So Iām not streaming directly from the ATEM. Weāre not streaming directly from the ATEM to Owncast. Iām using the ATEM is for me and my set up here and Iām using it as a USB camera. Weāre going through Streamyard, which allows us to talk to different people and have Laura and me on at the same timeā¦
Laura: Aral, would you read the question?
Aral: to Streamyard. Sorry, the question isā¦
Laura: The statementā¦
Aral: Sorry, statement is āAdam: no transcoding, so ATEM output which has hardware encoder for streaming ⦠I think is pretty dynamic.ā So weāre just not going directly from the ATEM. We could, and it works for that as well. Iāve tried that and it works really well with the pass through, so thatās very cool.
Aral: Anyway, so letās go back to Domain. Weāre going to create smallcast.small-web.org, OK? And itās going to be Owncast via Site.js. So Iām just gonna say ācreate serverā like I did before and there we are⦠So itās doing the same thing, right? Thereās going to be nothing too different happening here apart from if you look at it, it is installing Owncast. So Site.js is actually installing Owncast. I recently added that feature to it. And if you go on Owncastās website as well, youāll see that you can⦠thatās one of the ways that you can install Owncast. Itās doing the same thing, but itās now installing Owncast alongside itself. So what Site.js is giving it is automatic LetsEncrypt certificates. Itās setting it up a daemon to run, as a daemon. So itās basically setting up a production installation of Owncast for you. And the idea is that we do that in under a minute. So, again, weāre waiting for the response from the server right now. And the moment we get the response from that server, weāll be able to go over there and use our Owncast installation. So letās see. Like I said today, it does seem to be taking a little bit longer than before.
Aral: But again, it should be pretty much under a minute. And this is all very, very early. Thereās a lot that can be optimised, especially on the Site.js side of things and the what will come after Site.js as well. So weāre just waiting smallcast.small-web.org, āwaiting for response from server.ā This is definitely taking much longer than it usually does⦠to the point where I wonder if something has gone wrong. Maybe? I donāt think soā¦Let me check, the beauty of it is we can check. Over here, letās see, those are just⦠everything seems to be fine. Letās go back here. OK, well, it didnāt⦠doesnāt seem to be liking that⦠letās see⦠small-web.org
Laura: Vinciās making suggestions in the chat, if you want to have a look, Aral.
Aral: In which chat?
Laura: In the private chat in the studio.
Aral: OK, so letās go to the private chat that, uh, it could be a DNS issue. I wonder if I actually did forget to clear that from our DNS server when I was testing? So instead, letās just very quickly, letās try this again. Iām just going to try this one more time, and if thereās an issue, maybe itās just the demo gods do not like me⦠today⦠or we might actually let me just go to Hetzner. So Hetzner is where the VPS stuff is being handled right now, and Iām going to try and letās see, hopefully. Very responsive. There we go. Letās log into ācloud.ā I think I might also know what might have happened⦠maybe⦠letās see. Because this is all on development right now, we donāt have production quotas either. No, that should have been fine, smallcast seems to have been created correctly. OK, letās go to small-web.org. Nope. OK, letās just try one last time. And a create Owncast weāll call this, letās call it owncast-small-is-beautiful to make sure that I havenāt got some DNS issues or something there. All right. I have been testing with these things, so itās quite possible that there is an issue there. So it is now going through the same process and weāre going to see⦠and Hetzner actually did say it had some issues earlier, but the site seems to have been created properly. So letās just see what this does. If it keeps us waiting, then weāll just move on. But basically, this is how I set up our Owncast and thatās whatās running⦠thatās thatās how youāre watching this stream right now. It was set up using Domain. So letās see, itās gone to the point where itās saying āwaiting for response from serverā again. So letās see if thatās just going to keep us waiting. And if⦠and if it is, then maybe Iāve introduced the bug or something in the last day. Nope, nope. Here we go. So something happened previously. āVisit your Place.ā So it must have been DNS. Itās always DNS. So thereās Owncast running over here.
Aral: One of the first things you should do if you set up Owncast is go to the admin and enter the default password and then change that default password from⦠I think itās server setup. Itās the same as your stream key. Iāll just set it to my Basil dev password here. Itās not that important. I just donāt want anyone to log in right now and stream porn or anything, because that kind of thing happens on the Interwebs. So if I sign in now with that password, this is just Owncast running over here.
Aral: So that is how simple it is. To set this stuff up with Domain. Now, I do want to take you through a couple of things. First of all, this is for⦠Domain is for people who will actually run Small Web domains, which are kind of like on ramps onto the Small Web. So this is not what someone who wants to run Owncast, for example, or run their own Place on the on the Small Web will run themselves. This is like someone like me, like Small Web Small Technology Foundation⦠weāll be running a Small Web domain, like at small-web.org, which is what weāre going to doā¦
Laura: We have⦠Aral, we actually have a question that totally encaptures thatā¦
Aral: Letās go for it. Letās take questions. Right. Iāve spoken enoughā¦
Laura: ā¦from Federico. No, Iām not saying⦠Iām not stopping you completely, Iām just saying, for now, perfect question.
Aral: Yeah, go for it.
Laura: So this is from Federico, who is in the chat here in the studio. āSo which of these tools are to be used by the brain surgeon types of user? Which one is for the tech savvy? Here you are creating small sites under small-web.org, but if I want to offer the service to a local community, I guess I need an expert managing a dedicated VPS with Site.js?ā And I thought, great question. I mean, I know the answer to it, but I think that youāll answer it well.
Aral: Well, no, that is a great question. Thank you. So as I was saying, basically this piece of software that you saw is for⦠is meant to be run by people with technical knowledge who either want to run a commercial service. And thatās not commercial as in āwe want to scale as large as possible and become billion dollar unicornsā. No, thatās never going to happen with this. If you want to run a sustainable organisation enabling people to get on the Small Web, right? Like us, for example, weāre not for profit. So weāre going to run our own at small-web.org. And you need technical knowledge in order to set this up. So which is actually what I want to show, which is this setup over here. Sorry, just up resizing the wrong browser. OK, so there we go. So this setup is what I wanted to show you. So this is for organisations, pretty much so. This is US technology Small Technology Foundation. You can set up apps that you want to make available to people, to everyday people to install. Right now, Place is what weāre actually really focusing on for the future. But you can install things right now very early things like Owncast with Site.js. And Iāll talk a bit about what the difference is there in approach. But you can actually set up your apps here. So I can say if itās Owncast, you see itās got a different description, itās got its logo⦠Site.js is a different one. And this cloud-init is how the server is set up. This is a basically a standard way of doing things, that a lot of VPS providers support. So you have to set up your apps. If you are a commercial service or if youāre not a private instance, then you also have to get on the Public Suffix list.
Aral: And the Public Suffix list is this list thatās currently maintained by Mozilla, where basically if your domain is on there, for all intents and purposes, it behaves like a top level domain, which is really important because you donāt want, for example, cookies to be set on the master domain that then apply to all of the subdomains, et cetera, if different people are registering those. If you are if you have a private instance, thatās not as important. You have to get a DNSimple account right now and attach it to your instance. The the idea is in the future. Let me show you that. So you have your DNS setup over here, details. It tells you how to get it and what to do, etc. and then you enter your details here and it automatically links to it. But this is for organisations who want to run this service. Again, you have to set it up with a VPS provider. The initial one that weāre supporting is Hetzner, because their API is amazing. Their speed at setting up is amazing.
Aral: But the goal is in the future that we will have multiples of these, and this will hopefully abstract that out so that weāre not tying it into any single one provider. And then, of course, you can set your payments. So I said there is ānoneā for private organisations, Stripe, if you want to run a commercial instance of this. So I showed you that if youāre running a commercial instance then this is what it looks like, and this is the bit, to answer the question, where the brain surgeon would use it right to just get their own Place, for example, or to run their own Twitch, their own Owncast if they wanted to.
Aral: And the other thing thatās not implemented right now is tokens. So this is if what if you donāt want to run a commercial service? But maybe youāre a municipality, we worked with the city of Ghent several years back to prototype something that was the precursor of this. And unfortunately, we ran out of funds, a conservative government came into power, et cetera, et cetera, and they cut our budget. But what if a municipality, what if the city of Ghent, for example, created tokens, coupons for their all of their citizens because they saw that as a fundamental human right, something in the public good?
Aral: And so you can just enter a token instead of the payment, and you get your own Small Web Place. So this is something that weāre really excited about for the future and where we want to go. We kind of see this as a bridge, really. We have to exist and be sustainable within the system of capitalism that we find ourselves in, and under, because we also donāt want to take money from Big Tech, from Silicon Valley or from organisations that are one degree removed from Silicon Valley, who get all their money from Big Tech. Not going to mention anyone specifically, you know, half a billion dollar organisations, not-for-profits that own for-profits, et cetera.
Aral: But yeah. So thatās thatās kind of what Domain is for. I said we have different apps in there and this is what Iām going to end on. So we have different apps that you can set up right now. And the goal really is, in the future, for Place to be the app or the thing that you actually set up. So right now weāre supporting Owncast and Site.js because this is one of the fundamental things about the Small Web as well. Currently we have the Big Web and then we have, for example, federated services where⦠which is great, itās awesome⦠things like Mastodon are federated. But what Iām seeing is that we are basically recreating the services that exist on the Big Web in the same way that they exist on the Big Web but with federation, so more people can actually own and control these places. But weāre⦠if we see YouTube, which allows you to store your videos and share your videos etc, then weāre building PeerTube, which is excellent. If we see Twitter, weāre building Mastodon. Thatās excellent because Mastodonās much better than Twitter, because there are thousands of Mastodons being run by different people with millions of people using the system. And itās not locked into Twitter. But we see YouTube, we build PeerTube. We see Twitter, we build Mastodon. We see Medium, we build, I donāt know, Write.as. And this is all great until you start thinking about in a Small Web fashion. So if we talk about a single instance, web applications and sites, does that mean that Iām going to set up one small website for my YouTube alternative, one for my Twitch alternative, one for my, I donāt know, Medium alternative? And letās say that this is initially like all 10⬠a month, even thatās going to add up. Right? And not to mention thatās not actually very ergonomic. Thatās not what the Small Web is about. When you have a single instance web application, what you can start to do is build the elements of what make YouTube and Twitch and Medium useful and private messaging useful into a single app. So what if you installed Place, for example, and with Place, yeah you could have your own stream if you wanted to, a livestream. Yeah. You can talk privately to your friends if you wanted to from your Place you could make public posts from your Place. So weāve kind of inverted it again. Weāve inverted the Big Web way of doing things. When we are building single tenant applications, weāve completely turned it on its head. And now instead of focusing the complexity on how do we support millions of people with our system, itās how do we support the things that one person wants to do really well on their own Place?
Aral: So thatās what Place is going to be going forward. So thatās me done⦠hopefullyā¦
Laura: Right, Iām going to jump in then. So one point to make: we are having some issues with buffering and things like that in some locations, it seems. Gabe has said that heās reporting issues from the US and says maybe next stream we should increase the latency buffer a little bit but Mikalai in the chatā¦
Aral: Itās on medium now I thinkā¦
Laura: Mikalai in the chat has reported that sometimes a reload helps. So if that, and Iām not even sure thatās anā¦
Aral: Okā¦
Laura: ā¦like integrated like proper solution. But it helps some people, itās worth giving it a goā¦
Aral: For those of you having buffering issues, how is your connection right now? Do you have a high bandwidth connection or is it a slower connection by chance? Iām just wondering which end the issue is on because weāre not transcoding. Because weāre just passing through this very high bandwidth stream, 1080P at 30 frames per second. I wonder if thatās the problem, and that may be adding a lower resolution transcode would be better⦠youāre smirking. Why, what happened?
Laura: Iām sorry. Iām not smirking at you. Iām smirking at something that somebody said in the chat⦠[laughs]
Aral: yeah, no, no. What is it? Share it with the class.
Laura: No, it was it was either a dirty joke or my dirty mind. So Iām not going toā¦
Aral: I guess Iāll never knowā¦
Laura: ā¦say.
Aral: OK, fair enough.
Laura: That is an in-joke just for people in the studio.
Aral: Do we have any other questions?
Laura: Yes, we do. Right. Sorry.
Aral: Do we have anyone who wants to join us on the stream or is that�
Laura: We do, but Iām going to ask another question first if that is all right by you?
Aral: Sure.
Laura: Because itās just making sure that weāre going back to what you were just talking about. And so this is⦠and the name Iām going to butcher horribly, but I promised I would give it a go⦠Mzumquadrat. So I hope I got that right.
Aral: Canāt help you thereā¦
Laura: ādo I understand it correctly? Site.js is a provisioning tool for hardware/software, right? Kind of what TerraForm and Ansible would do for large fleets of servers?ā
Aral: Kind of. In a way, thatās what Domain is. Site.js is essentially at its core, a nodeJS server with all of the with all the batteries included. So it automatically provisions https certificates for you. It can automatically create your systemD service and make sure that your daemon supports restarts, etc. So you can use it during development. So itās, you can use it during development to develop your sites, and you can also use it for production. Domain, right now, actually everything Domain is deploying is based on Site.js, see the Site.js or Owncast installed through Site.js. The simplicity of Site.js enables us to make that process very simple to set up. But Place, which is going to be, which is the thing that weāre working on next, is actually a fork of Site.js that Iāve ported to ECMAScript 6. And itās taken out a lot of the bloat that was in Site.js because Site.js really kind of supports the Small Web vision, but within the context of the current web, Place is going to be very much focused on the context of the Small Web. Specifically. So I know this is all confusing because Iām throwing words out there that some of which weāve just kind of invented over the past weeks and months and years.
Aral: But I think itāll become much clearer and kind of much more focused in the following weeks as Domain shapes up and as we start hosting it on small-web.org And as we can actually focus our attention on building Place out as well. But yeah, so thatās what Domain is more like, to answer your question.
Laura: Thank you.
Aral: Youāre welcome.
Laura: That was a good question. Well, I just want to drop in and say that we have a full studio right now, and Iāve just said this in the chat, if people have questions I want to ask, please ask them in the chat or let me know if you want to ask a question and if you are able to watch the stream on the Small Tech site right now, on owncast.small-web.org or on the embedded version on the Small Tech site, if you could drop out of the studio and do that, if you donāt have a question, because then weāll have room to let people who might have questions into the studio.
Laura: And so we do have a question from Mikalai who is able to come on stream.
Aral: Ok, excellent.
Laura: So Aral, if you would be willing to add Mikalai inā¦
Aral: Sure where⦠Mikalai, right?
Laura: Right at the bottom! Scroll down.
Aral: Alright. There we go. Hi, Mikalai. I love your hat. Hello. Hi. Welcome.
Mikalai: Hello. So my question is, do you hear me correctly?
Laura: Yeah, I can hear you good.
Mikalai: Cool. So my question is, what will it take to turn my⦠any web application on a website, existing one to work on the Site.js⦠Small Web? Because thereās already a ton of everything that already exists.
Aral: Right.
Mikalai: So sometimes I find myself, for example, thereās like applications with GNU license, for example, for Own or Nextcloud. You know, all of those peopleā¦
Aral: Yeah. Yeah.
Mikalai: Actually thereās thousands of common good that already existedā¦
Aral: Yeah.
Mikalai: Soā¦
Aral: Well, hereās hereās the thing and itās a great question. Thank you. Because itās very important that we make that clear. So Domain or Small Web Domain is not a general web host. Itās not a Digital Ocean. Itās not about you running your own Digital Ocean. Itās very, very focused on running single tenant web applications. So Nextcloud is not a single tenant web application either, right? Youāve got lots of users, etc⦠The reason for that is the moment you go from an application supporting just one person to even writing an application, and you must know this as well, writing an application that supports even two people, or can scale to a thousand or ten thousand, that is a whole different world of complexity, right? There are. There are. And thatās where you get into the Big Web. Right? The Big Web way of doing things. You add an external, you add a database to an external process, you add a messaging server, etc. this that you start decoupling bits of the application because it needs to scale. Right?
Aral: All the things that you start making sure that you can shard your da-, all of these things. Even if youāre not doing that, even if itās just for you, all that complexity is in there, because if your app needs to support a thousand people or ten thousand people⦠What weāre saying is weāre cutting that out. Weāre never going to support more than one person. So the kind of apps that this is being designed for are built for one person. And maybe app isnāt even the right term because itās kind of, if you think about it that way, it becomes more like an operating system in a way that youāre installing, which has certain features. Like think of the original iPhone. You couldnāt create apps for it right? At the very beginning. I mean, there were web apps, I think, and that wasnāt even at the very first one. But at the launch, I remember because I was there⦠they when Steve Jobs showed it, he basically showed all the things they could do that were built in. The apps were built in. But the apps were the things you wanted to do. Right? I think weāre missing this. You know, I think weāre missing this thing where you can have your own Place on the Web and you can make public posts and you can talk privately end-to-end encrypted with your friends.
Aral: And if you want to, you can stream your live stream through that, not to a million people, but to the people who care, to your community maybe. You know, I mean, weāre doing it through the system right now. So as many people are watching right now with this. So I think itās fit for purpose even at this point. And with Owncast, thatās whatās so cool about Owncast, Owncast has kind of proven that, right? So if we take away all this complexity, we have the ability to focus on creating this kind of beautiful experience that lets people do what they want to do on their own place without having to have 10 different things installed. You know? And thatās also a whole bunch of complexity.
Aral: Weāre pretty technically knowledgeable, I guess, and I donāt run my own Mastodon. I did initially. I set it up, but then I couldnāt just manage to keep that going and do the coding Iām doing, and take the dog out for walks, and⦠so you multiply that by every app, thatās not sustainable, I donāt think. Now donāt get me wrong, I love the fact that these alternatives exist. I love because theyāre showing us different ways of doing things. Theyāre creating open source code, like you said, that we can benefit from. Yeah? So, I mean, I learned so much from my Owncast, for example, like Gabe, how he shares what he does as well. So I had the same fear of of live streaming. I was like, that must be some dark magic because I never looked into it. Right? And you look at something like this and you go, this must be dark magic. How do they do it? Itās not. Itās with HSL. Itās breaking up a video file into ten second video files and then writing them as quickly as you can and then making sure youāre at least 10 or 20 seconds ahead of anyone whoās watching.
Aral: Thatās how HSL works. So, you know, you look at something like Owncast and and Gabe doing this, and heās trying to demystify it and heās succeeding. You know, heās showing you that⦠And Owncast is just for one person as well, which is what I love. It has no concept of users right now, and thatās why itās compatible. Thatās why I could easily install it with Site.js. And I think thatās what weāre focusing on, at least. Itās really great that Nextcloud exists. Itās really great that the fediverse exists. But this is something different. Itās a different approach and itās going to be exciting to see how that you know, how that spans out. Does that answer your question at all?
Mikalai: Well, um⦠basicallyā¦
Laura: In the chat, Forest was also going to elaborate on that. But you go first, Mikalai.
Mikalai: Like, probably the more technical answer is like, OK, put it down in the documentation and like some example or something like that becauseā¦
Aral: Of course. Yeah, yeah, yeah. Itās so early right now.
Mikalai: Yeah. Because in a way it may seem like that some of the applications are complex, but basically you say, hereās my target, hereās what we want to see, and this is how you go into that other code. And you separate what pieces are and those other pieces you just cut out and thatās it. But that also leads me to what you were talking about, the application of being just simple and stuff into this concept that⦠so I want to stream. So I want just to have that process.
Aral: Mm hmm.
Mikalai: An in having that process is this whole thing like, you know, the serverless, the the Docker thing, basically I want a process and maybe Iāll put it on my own hosted somewhere Placeā¦
Aral: Yeah.
Mikalai: And maybe I Place it on one of my home devices.
Aral: Exactly. Yeah. Yeah.
Mikalai: Soā¦
Aral: So you can so you can do that with, with what weāre building here as well. So you can run for example right now, today you can run Site.js on a Raspberry Pi, you can even run it on a Pi Zero. I havenāt tested the latest build but I did test earlier builds. Yeah, the idea is not to in any way lock you into anything. Everything is free and open that we do. And this is one way of getting it set up because again, a Raspberry Pi is good for us, but you still need a little bit of technical knowledge or at least a little bit of like willingness to tinker, which is great. And so we need to support that. And I think in the future we might even chip out a little tiny computer. Iām playing with those. A little tiny box that you just connect your router and it does all this, you know. But this is the way that I can see us kind of getting started as quickly as we can. You know, so yeah, yeah, and you sayā¦
Laura: Three things, three things from me, quickly first, Iām sorry to everyone if you suddenly had some issues with the live stream, even Streamyard started reporting that we had some issues with the streaming going on, but it seemed to sort itself out. So Iām hoping that youāre able to watch it now. If you canāt, we will have the video with transcript and captions available later, for this, so you wonāt miss out completely. And second thing I haveā¦
Aral: Yeah, I did⦠there was a CPU spike of about sixty one percent. Iām just seeing that right now.
Laura: Yeah. And Iāll just want a couple of minutes before we finish because I got a little baby thing that I want to talk about andā¦
Aral: Yes!
Laura: And finally sorry, Forest⦠Forest was elaborating on what Mikalai was saying, so I thought it would be interesting to bring him into the chat just to ask questions that he wanted to talk about as well.
Aral: OK, and has everyone have you taken note of everyone whoās won their t shirt?
Laura: Oh, yes, I have. Aral, what do we do? Are we going to send them a code or we will we need their emails or?
Aral: So if you can just get everyoneās, I guess email would be the simplest thing.
Laura: Well have to Iāll have to go back and hunt them down. Some of them will have left the studio, but I can manage it, weāll work it out.
Aral: OK, all right. Well, weāll work it out. We have five to give away in total.
Laura: Weāve⦠and all five have been claimed. So we will get there.
Aral: OK, excellent. So these are Owncast t-shirts thanks to Gabe. All right. Soā¦
Laura: Thank you Gabe!
Aral: Yeah thank you Gabe, and thank you for Owncast. So hereās how weāll do it then weāll bring Forest on so we can elaborate and then weāll go back to you Laura so that you can talk about what you wanted to, and then weāll wrap it up under the hour on the hour. All right. Iām bringing Forest in and Forest. Hello.
Forest: Hello!
Aral: Forest, youāre portrait mode.
Forest: Yeah
Aral: ā¦always the rebel. How are you?
Forest: Well. I think, uh, kind of hearing and echo of myself.
Aral: Oh, yeah, I can hear an echoā¦
Forest: I have a new microphone now, so itās a little different. Iāll just roll with it⦠So I wanted to ask about what Mikalai I was asking about. Essentially, I mean, I can go read the code, build it, put the packages, domains, Site.js like even if I did have a single web application⦠for example, I have a password manager that I use that could be single tenant. How do I create and deploy that? Like, he makes something for Terraform and Ansible. Wait, I canāt tell this⦠is my audioā¦?
Aral: Um Forest, weāre actually getting the echo as well, so you to us, [mimics echoing] you sound like you sound like you sound like⦠weāre kind of getting back.
Forest: Sorry.
Aral: Oh, no worries. I think I got your question. Itās what is the format for that for the deployment scripts, et cetera, for the VPS? Was that it? [Forest nods] Yeah, so basically⦠itās just a cloud-init, so if you go and look it up, thatās I think Canonical came up with it.
Forest: I know what cloud-init isā¦
Aral: If Iām not mistaken, this cloud is just cloud-init. Thatās all it is. And thatās again on purpose to keep it as simple as possible is interoperable as possible so that hopefully in the future we can support multiple VPS providers so that going forward we donāt lock into anything, really. I mean, I see this sort of thing. It should really be a commodity. And thatās all⦠thatās easier said than done because, of course, different providers have different APIs, different performance on setting up a server, etc.
Aral: But these are all details we can solve in the future. The goal is initially to have like a proof of concept up that works that we can actually start iterating on. And thatās⦠you know weāre not even there yet. Itās very early. Itās prerelease right now. Consider it Alpha like, I mean, itās not a feature complete in any way, but hopefully it will be very soon. So. Yeah, and I hope that answers your question. [Forest nods]
Aral: Awesome. All right. Forest, well, thank you so much. Iām going to remove you from the stream just so Laura has enough time to talk about this last thing that she wants to talk about. But thank you so much for joining us. Take care, man.
Aral: Go Laura.
Laura: This is, as I said, just a little baby thing, but quite a few episodes ago I suggested that maybe we give people some advance notice on guests and the topics of these live streams, the Small is Beautiful live streams, ahead of time and not on social media because weāve had that whole discussion about trying to get away from social media. And so Iāve finally done it. If you want to now sign up for notifications of the live streams, they will only go out once a month by email. You can sign up on our site at small-tech.org. You can do so by the /small-is-beautiful page, I think also via the Events section as well. Or if you donāt want email and you donāt like social media, thereās also an option to get those same notifications via RSS. So I finally set that up and I hope thatās useful for people. Iāve already noticed that a few people have somehow found that, in the few hours since I put it live. So that is very cool. So now we have those email notifications for all, and of course, as ever, there is no tracking in those emails. There is no tracking pixels. There is no tracking links or any of that kind of nonsense. We will just use your email address for that one purpose, that one purpose only. And thatās it.
Aral: And so that is the URL⦠[banner for small-tech.org/small-is-beautiful]
Laura: Oh thank you, Aral.
Aral: I think⦠There we go. Just frantically typing that in into a banner. All right, cool. Well, I think that nicely brings us to the conclusion of this first Small is Beautiful that weāve broadcast via Owncast.
Aral: We always forget this, but we are a not-for-profit, a tiny two person independent, not-for-profit. We donāt take VC, we donāt take, you know, sponsorship from Big Tech or surveillance capitalists. So we exist partially because of your individual donations and your patronages. Thank you so much to those of you who are patrons and have donated in the past as well, you make it possible for us to go on. We also exist on the money that comes in from sales of Better Blocker, our tracker blocker that we work on, as well as other things like professional speaking fees, etc. You can find out, you know, the whole history of how weāve been funded on the URL that you see there /fund-us and also you can fund us there.
Aral: So I just wanted to mention that because we keep forgetting mentioning that and we really should more often⦠it doesnāt help that we both suck with money, but hey,
Laura: Agh, speak for yourself! [laughs]
Aral: OK, I suck with money anyway. So I guess that brings us to the end of this, this Small is Beautiful.
Laura: Yeahā¦
Aral: Doesnāt it?
Laura: Soā¦
Aral: Want do the outro?
Laura: Of course I was⦠I was I was rolling into it like the professional I am.
Aral: Hahaha, All right.
Laura: As ever, I have been Laura Kalbag.
Aral: Iām just going to so [window zooms in and out of Laura, Aral has vanished] [laughs] I just removed myselfā¦
Laura: Aral has muted himself.
Aral: Did I? Did I mute myself?
Laura: You muted yourself and removed yourself simultaneously.
Aral: Am I back? Iām back, right?
Laura: Yeah, youāre back. Youāre back.
Aral: This is because Iām like clicking around this tiny Streamyard interface.
Laura: You need to stop doing so much clicking.
Aral: Anyway, Streamyard⦠if anyone from Streamyard is watching, for goodness sake, let us use a streamdeck, OK, like do key bindings so that I can use my streamdeck instead of pecking at this interface that I have. All right. So letās try this again, Laura. Letās do it. Letās do it right. You go. Go ahead. Take two. Boom.
Aral: [wearily] Well, I have been a very tired Laura Kalbag.
Aral: [laughs] And I am Aral Balkan and thank you so much for joining us this month on Small is Beautiful. Take care. Bye bye.