Web Without Walls Dan Abramov === Paige: [00:00:00] Hi, and welcome to PodRocket, a web development podcast brought to you by LogRocket. LogRocket provides AI first session replay and analytics which surface the UX and technical issues impacting user experiences. Start understanding where your users are struggling by trying it for free at LogRocket. com. Hey everybody, I am Paige Niedringhaus. I am a staff software engineer at the IoT Startup Blues, and I am your host today for this podcast. And we have Dan Abramoff, a software engineer for BlueSky joining us today, here to talk about web without walls. Welcome back, Dan. Dan: Thank you, bye. Paige: We're very excited to have you on, even though you have left the react team, you're now working on BlueSky, which is probably one of the most interesting social platforms that is out there today. So let's start talking about BlueSky for people who are less familiar with it. Can you tell us how it differs from other social media platforms in terms of the product and the protocol? Dan: ~Um, ~[00:01:00] so BlueSky is a company that's built into different things. ~Uh, ~one is a social media consumer app that,~ uh,~ can be described as ~sort of ~an open source Twitter. ~Um, it's, uh, ~it's a product that, ~I mean, ~it looks a lot like Twitter. There are some interesting differences, but in many ways it looks like Twitter, but it is open source,~ um,~ but also we're building a new internet protocol. That might sound a bit unusual. When I joined BlueSky, I didn't really understand what this is about. And so gradually ~as, ~as I ~kind of ~started,~ uh, you know, ~working on the product more, I ~kind of ~saw that the product has some unique features,~ uh,~ that are enabled,~ uh,~ by this protocol. And then I ~kind of ~understood the broader vision,~ uh,~ from the team and that got me pretty excited about it. Paige: So you say that BlueSky is an open source version of Twitter. How does this structure work for both the front and the back end of BlueSky? ~very~ Dan: ~it's, ~it's a regular, ~you know, ~mobile app~ with, uh,~ it's written in react, it,~ uh,~ it has,~ uh,~ iOS, Android and web versions,~ um,~ and. It is built with Expo and then on the back end, I believe we're using a mix of [00:02:00] TypeScript and Go. Paige: Very cool. So what are some of the benefits of using domains as usernames? Because that's something that's a little bit unusual, but we've already seen things like the washingtonpost. com taking usernames like that. So how is this different and how does it impact user identity and trust on the platform? Dan: Yeah, so ~this is, ~this is actually one of the first things I noticed,~ like,~ as a user, ~when I, ~when I first saw BlueSky,~ um, ~that I thought was very unusual, I've never seen that before. ~Uh, ~it's just the fact that, ~you know, ~when you sign up on BlueSky, ~you get a, ~You get a username that's ~like, you know, ~your username. bsky. social or something like this,~ uh, ~which is ~kind of ~a mouthful. ~Uh, ~but the point is that ~it's, ~it's actually just a subdomain that we give you. ~Uh, ~but you can change, like your handle ~is, ~It can be any domain that you own as long as you can verify that you own it, ~kind of ~similar to how when he's going to Google Analytics, you have to verify that you own the domain by like a DNS record or by an HTTP call. ~Uh, ~it's the same way,~ like,~ [00:03:00] if you can verify that you own some domain, then ~that ~that can be your username,~ uh, ~and you can change it over time as well. And. I think there's like a couple of things that are interesting about it. Like one is that,~ um, you know, ~when you join new social media platforms, like there's usually this rush to, Oh, like I have to get my username. I have to like ~kind of ~squat it. And like the company ~kind of has, you know, ~it can take it away later if, ~you know, ~they launched a feature that's ~like, ~has the same name or whatever. ~Uh, ~but with domains, like domains ~kind of ~are. ~You know, ~the top level naming system on the internet. And I thought it was interesting that BlueSky ~kind of ~reuses this piece of the internet that already exists except not for hosting, but actually ~as, ~as a handle, like a domain, connect as a handle. And it has this kind of interesting consequences where,~ um,~ like first if you already have ~like ~a personal website, ~well ~you already have a username, right? Like you don't. you don't need to get another one. And,~ um, you know, if you, ~if you join the company, like they can give you like a sub domain, maybe later you want to [00:04:00] change it. ~Um, ~if you have,~ uh,~ an established presence, like a blog or,~ uh,~ some, ~you know, ~some kind of a brand, then again, like you're ~kind of, ~your brand becomes your domain. ~Um, ~and then anybody can verify that, ~you know, ~this. the account that's claiming,~ like,~ you can just copy and paste this domain and ~like ~verify that this is,~ uh,~ so it's ~kind of ~relying on the same system that already exists on the internet. And ~I thought, ~I thought that was pretty interesting. And ~like, uh, ~for verification as well,~ uh,~ it's not like a full fledged verification system. It's not, ~you know, ~like a trust system or something like this, but it ~kind of ~has some of these properties where if it's like nytimes. com, ~you know, ~it has to be nytimes. com because they're the ones controlling it. And there are these domains like gov or. ~Uh, ~Doug of UK and so on that correspond to some,~ uh,~ established entities like the UK government and so on. So that's,~ uh,~ it's ~kind of ~interesting how we're like reuse the Internet infrastructure that already exists. Paige: It almost seems like a much better way to do it because when I think about some of the verification systems that exist for other platforms, ~you know, ~you can pay for your verification or if they arbitrarily [00:05:00] decide that you're famous enough, you can get a check mark next to your name. But this is much simpler in that if you have a website that people recognize the name of. That's it. Dan: ~Yeah. I mean, it doesn't,~ Paige: ~better way.~ Dan: doesn't solve exactly the same purpose because,~ uh, like, uh, you know, ~if you want to know that some journalist is that person and you don't know what their actual domain is,~ like,~ that doesn't really help you. So there are systems you can ~kind of ~build on top, like some kind of trust systems where you say, maybe you trust Reuters and then you trust. Whoever Reuters say is very fine. ~So, ~so there are like different ways to decentralize it, but ~kind of ~at the top level, which is to reuse an existing system and like domains are not perfect, but at least ~you get, ~you get it once. And then, ~you know, ~as long as you don't forget to renew it, like ~it, it, ~it stays with you, or ~like, ~if you do forget, you can change your handle to a different domain that doesn't ~kind of ~break your history or your profile. It just, ~you know, You know, ~it just shows us a different username. Paige: Nice. So one of the standout features that's interesting about BlueSky is that you can allow users to write their own algorithms. Can you talk a little bit more about how this [00:06:00] works and lets users ~kind of ~customize their own timeline experience? Dan: ~Yeah. So this is, uh,~ this is kind of a developer facing feature, right? ~Like, well, you know, ~if you go to something like Twitter or Instagram or TikTok, there's usually multiple timelines, right? There's something algorithmic that is usually called for you page. And then there's maybe like classic reverse chronological one, like following. ~Um, ~And usually that's really the only choice you got. So ~it's, ~it's, ~you know, ~whatever algorithm the,~ uh,~ the company decides. ~Uh, ~one thing that's interesting about BlueSky is that because it's,~ uh,~ it's built on top of a protocol that is actually,~ uh,~ like has extension points that like, other developers can,~ uh, you know, ~reuse parts of this protocol and kind of plug into the system. ~Uh, ~you can actually write your own algorithm and publish it on your profile if you're a developer and then somebody else can,~ uh,~ can just add it to,~ like,~ as one of the tabs on the homepage. And there are things that,~ uh, Like, ~I think like the user experience is not very polished right now. It's ~like, it's, ~it's ~kind of ~a little [00:07:00] rudimentary, but it shows the promise that,~ uh, you know, ~like some algorithms that exist, for example, like there's this algorithm called quiet posters,~ uh,~ that shows posters. Posts from people you follow who don't post very often. So you often ~miss, ~miss their posts. And this algorithm is implemented in user land. Like it's not part of the kind of BlueSky itself. ~Uh, ~and essentially the way you write it is,~ uh, You know, ~you can just run your own server,~ uh,~ it receives all the information from the firehose. That's,~ uh,~ that's the node that kind of retransmits everything that happens in the network. And you just see, ~you know, ~when posts come in or likes, or ~like ~follows like information about what people are doing on the network, that's public information. You can decide to,~ uh,~ Store it in the database or to ~like ~aggregate over it or ~like ~run machine learning or just ~like ~do very simple clustering algorithms or whatever, or just show random posts, right? Like you get all the information and then they decide what to do with it and then serve and [00:08:00] defeat itself. It's just an HTTP endpoint. Paige: So is BlueSky also running its own algorithms that will ~kind of ~curate content based on what you like or interact with, just so people don't necessarily have to write their own? ~Mm~ Dan: Yeah. So we have a default one called discover. ~Uh, ~it's kind of misnomer at this point because ~it's It, ~it used to be more about discovery and ~kind of show ~kind of like explore on Instagram and then with time we ~kind of ~tuned it to be a little more like for you on Twitter. And it ~kind of, it's, ~it's like an awkward gap between. These two different use cases right now. So I think maybe we'll split it up in the future. ~Uh, ~but that is the default algorithm called discover and it uses a combination of,~ uh,~ some user cluster in,~ uh, you know, ~likes based suggestions, like popular with friends,~ uh, ~and just some popular content on like topics that you liked and just popular content on the network. So ~it's, ~it's kind of a mix. Paige: Nice.~ So, ~what kind of challenges do you face in developing features like video compared to traditional platforms like [00:09:00] Twitter. I know that was something that you mentioned briefly in your talk. Dan: Yeah. ~So the. ~So we're building BlueSky as an application on top of AT protocol and AT protocol is really ~kind of ~the core technology that we're building. And that technology is application agnostic. It's not really related to BlueSky or even social media, right? So ~we're now, you know, ~we want people to start building other apps that are unrelated to BlueSky on top of this, but it has a certain architecture. ~Uh, it kind of, uh, Like, ~the main idea is that,~ uh, ~the users,~ uh, ~should be in control of their data,~ uh, ~and,~ uh, the, ~the user is the source of truth for their data. ~And so, uh, the, ~the architecture is roughly that a user has a relationship with some kind of a hosting provider. ~Uh, ~when you sign up for BlueSky, we offer that like BlueSky as a hosting provider as a default choice, but ~you can actually run,~ we provide an open source server. So ~you can, uh, you know, ~you can run that docker container yourself. It's just some typescript. ~Uh, so, uh, you can, ~you can run it on your own server. We think in the future, there will be other hosting companies that might want to offer that service. ~Uh, ~but essentially,~ like, ~as [00:10:00] long as there's some place where your stuff leaves,~ like,~ that's where your posts and BlueSky follows and whatever information you put in the network ~kind of ~go initially, as well as, ~you know, ~information like videos and so on. It's it goes into ~And a folder, your, uh, ~your repository,~ that's, ~that's what they're actually called,~ uh, ~repositories. And then,~ uh, ~applications like BlueSky and potentially other apps are really ~kind of ~like aggregators. So they, ~you know, ~just like Google aggregates information from the web, BlueSky aggregates information from user repositories,~ uh, ~that is specific to BlueSky. And so with every feature that we build, we have to build it in a way where we separate, ~you know, ~here is the data and it's format and like how it's going to be stored in the repository, which all apps, not just BlueSky, but all apps on the app protocol are going to have access to that public data and be able to interpret it. And then here is how the application actually aggregates it. And so we have to, ~you know, ~like for video, for example, we have to solve problems,~ like, uh, ~if somebody is running their own, ~their own, You know, ~repository on their own server and they uploaded video ~there ~[00:11:00] directly. Then our CDN has to ~kind of ~still be able to ~kind of ~hook it up from there and ~like ~transcode it as necessary for our application and so on. So with every feature, ~like ~we have to design it in a way that plays well with, ~you know, ~every piece of the system potentially being replaced by some third body code or like a different app and so on. Paige: So you've talked a little bit, and this is a perfect segue about the app protocol and how it is part of BlueSky's approach to the decentralized social media, but.~ know, ~how is this or why is this a shift from traditional social networks? I know, I think I know the answer, but I'd love to hear your take on it. ~Okay. Mm hmm.~ Dan: own page. Somebody visits your page, like maybe, ~you know, ~you can leave a comment in the guest book or something like that, but ~all, ~all kind of sites are separate. But then these are really separate spaces. People ~kind of ~want to hang [00:12:00] out together in shared spaces and so the next generation, ~you know, ~like Facebook and Twitter were this kind of centralized spaces where people gather ~Uh, ~but then all information is like when you put information there, you ~kind of ~put it into a box managed by somebody else ~Uh, and ~and ~then That's, you know, ~that kind of works, but then,~ uh, you know, ~that box can change, like products can die, products can change direction in the way that you don't like. And even if you export data out of it, ~like ~if you don't like the product,~ uh, ~you just get a bunch of JSON,~ like, well, ~what are you going to do with that data? And so the difference with the approach that we're building is we want to keep the data alive, even if. ~the products are, you know, ~the products come and go. ~Uh, but ~the effort that we put into ~like ~our posts or building our social graph,~ uh, ~we want to ~keep, ~keep that reusable across products. So that,~ uh, ~for example, when you follow somebody on BlueSky, Any application on the app protocol has access to this information,~ uh, ~without BlueSky needing to expose an API for this. So it's not something that we can lock down in the future [00:13:00] because we're just one of the apps consuming that from the user repository. And the user repository is the actual source of truth. And we're just one of the aggregators. And so with this kind of architecture, ~you Uh, ~you ~kind of ~get some very interesting properties where,~ um, ~just the way products start to relate to each other and their users is a bit different where you can build a plugin for a product. ~You know, ~how Twitter had this,~ like, uh, ~unsubscribed from people who don't post very often, like tools like this, but APIs and they couldn't do that anymore. Or like you could analyze data on Twitter, but then Twitter raised prices for doing this kind of analysis ~and, ~and so on. ~So, ~it's ~like, ~you're kind of dependent on the product, allowing access to the data, but ~it's, ~it's really the user's data, right? If the user wants it to be public,~ why, ~why is there a gatekeeper? And so with that protocol, there's ~like, ~this different kind of structure where,~ uh, if, you know, ~even if I post into BlueSky, really any app on the app protocol can interpret ~that. ~That information and, ~you know, ~use it,~ uh, to kind of, ~for example, ~if I, uh, like somebody can make a, you know, ~if you want to [00:14:00] make like a dating site on top of,~ uh, like ~Twitter ~that, you know, that ~a lot of people ~kind of, uh, ~talked about that idea, like a lot of people meet each other on Twitter,~ like, what, what if, ~what if you could build a site like this, but then you can't really ~like ~integrate it properly ~with, ~and ~like ~Twitter could lock down the API any day, right? ~So, Uh, ~but with the AT protocol,~ uh, like you can imagine, ~you can just ~like ~build a new service in the weekend,~ uh, ~and ~kind of ~seed it with the existing information from the network. So if somebody signs up there, their profile is already pre filled. From the network and maybe like you prefilled just the avatar and display name, or maybe you use the bio from BlueSky, or maybe you even use the follow graph, but it's ~kind of like ~your choice. What information that exists on the network you want to use, and then you can also contribute new information to the network, right? ~Like, if ~if it's a site like meetup. com, maybe you define a type, like an event or an RSVP. And then when people post ~you, ~you push that to the user repositories. And then in the future, like if you're like meetup. com alternative gets popular, like maybe the BlueSky [00:15:00] app could display, ~you know, ~the meetups ~that, ~that you ~such a ~created within the BlueSky app, because all apps can see public information from all other apps because they live in the user repositories. So it ~kind of ~makes sense. the marketplace a lot more competitive where you can ~kind of ~fork a product almost, or ~like ~try a new idea without having to go through convincing everyone to sign up for this thing and add all of the information to it again, like from Paige: Right. I'm gonna go watch some~ Right. ~And I guess if I'm already following you on BlueSky, for instance, or we're friends, if we go to another website that is using the same at protocol, it already knows that we're friends, so I don't have to go through the process of building up my friend list or my audience again, Dan: Yeah. And Paige: are already connected. ~Mm~ Dan: yeah, and ~it, ~it becomes a product choice, right? Because some products may decide.~ like, ~okay, like I want to bootstrap ~on, ~on top of,~ uh,~ like from the existing information about the BlueSky, like maybe some products just want to mirror it. So they're literally gonna [00:16:00] mirror the BlueSky follow graph. And then ~like, ~if you follow on that website and the, ~you know, ~the app will ask permission, ~can I, you know, ~can I make a full, can I follow people in BlueSky? And then it will just be like, be one to one. Maybe some other product might decide, I'm going to bootstrap from the information that exists about the follow graph, but actually like the follow button on my product will do something different. And maybe it will create the record of a different type in the repository, or maybe I will just keep it in my database. So it will not even be on the protocol at all. And some other product might decide, I don't need, ~you know, ~the purpose of my product is so different from like the BlueSky social network that I will use the identity system, but I will not use the BlueSky follow graph at all, or I will use the follow graph of another app on the app protocol that also doesn't use the BlueSky graph. So it ~kind of ~becomes this,~ like,~ open system where different apps can use in public information from each other as long as, ~you know, ~because there is a schema for all of this information that gets published. Paige: [00:17:00] Yeah,~ well, I mean, ~you've done a great job of just ~kind of ~talking about what ~the, ~the future or the uses for BlueSky could be. What do you think it would take for this model to be widely adopted? Dan: ~Um, I mean, ~I think ~like ~the first part is just some enthusiasm, right? ~Like if, if there are, cause the right now it's, uh, it's pretty new with, Uh, you know, ~the team has proven that it's possible to build an actual production app this way, that's scalable, that's fast, that ~like, ~there are things we need to optimize on the front end, but,~ uh, you know, the, like ~the actual round trip through the whole, like when you make a post, it takes ~like ~a hundred milliseconds to go to the, ~you know, ~user repository and then come back to the app and ~like ~get reached into the database and so on. So ~it's, it, ~it scales really well. ~Um, it's, ~it's ~kind of ~a traditional event sourcing back end architecture, except it's distributed and not, ~you know, ~it doesn't stay within one company, but so we've proven that it works,~ uh,~ but there is still a lot of work to actually ~kind of, um, you know, like ~there's,~ uh,~ Somebody needs to be interested in,~ like,~ trying that because,~ like, there, ~there aren't a lot of incentives where we say, ~you know, this is, ~this is what you win right now. I think right now it's very much ~kind of ~if you're curious [00:18:00] about it, if you want to play with it, if you think it's an interesting model,~ uh, you know, this is, ~this is the place to be. This is like the place to try things. ~Um, ~In the future, I think there will be like a clear kind of,~ uh,~ proposition in terms of,~ uh, like, uh, ~Just because that,~ like,~ there will be an ecosystem, right? There will be an ecosystem of products that kind of,~ uh,~ build on top of each other and can inter operate with each other and understand information from each other. There will be an ecosystem of services. Probably. ~Uh, ~like ~for, ~for things like moderation and so on, that could be also reusable between apps. ~Um, ~so I actually forgot which questions, which question I'm answering, but yeah, something like that. Paige: ~I guess, regular tech or ~More, I guess, regular tech or regular social media users or companies to jump on board and start using it as well. Dan: Yeah, I think like the protocol at this point is,~ uh,~ Like ~you, ~you don't get,~ it's, ~it's ~kind of ~like a compounding thing where Paige: ~Mm hmm.~ hmm. player and [00:19:00] there's, ~you know, ~there's some people start in kind of small apps. ~Uh, ~there's,~ uh,~ something called SmokeSignalEvents, which is ~kind of ~like an,~ uh, you know, ~meetup. Dan: com style RSVP kind of thing. ~Uh, ~somebody else started FrontPage. fyi. It's ~kind of ~like a Hacker News clone on El Prato. But this is a very rudimentary apps that people literally started to build in like a couple of months ago to just, ~you know, kind of ~prove out. But then you can imagine that if there is another like relatively big player that, ~you know, ~something becomes popular. Now you have two popular apps and you can ~kind of ~use content or like information from both of them. So I think like with time, there will be a, like an ecosystem that is,~ uh, You know, ~that is integrated in a way that normally apps can, don't integrate like this. ~Uh, ~so I think that, that is like one of the, one of the benefits,~ uh,~ and also just the idea, ~you know, ~of ~like, ~you have your domain as your kind of last handle,~ uh, kind of ~like an internet username,~ uh,~ it's a bit weird at first, but once you have a few different Like services using it. I think it,~ like, it, ~it ~kind of ~becomes [00:20:00] like more of a thing that you might want to try. And you can also try, ~you know, just, ~just the identity system. And then you're like, okay,~ maybe,~ maybe use, maybe let's try using the protocol for a few more things. Paige: So it sounds like we're very much still in the early adopter phase, but are there any resources that you would recommend to people who are interested in getting started, like documentation or anything that you would point them towards? Dan: Yeah,~ uh, well, our, ~our documentation is a bit rough right now. ~It's, ~it's actually mostly. ~Uh, ~like most of the site is the spec and the spec is completely unreadable for people who are not like spec brained. Paige: Hehe. mhm. Dan: of like a~ of like a Cute name for it.~ Cute name for it. Protocol at Proto. ~Uh, ~so at Proto. com there's,~ uh,~ like in the sidebar, you can find the quickstart. ~It's, ~it's just, it ~kind of ~walks you through the steps of a build in a tiny express app,~ uh, ~with a protocol that. That's like unrelated to BlueSky. ~Uh, you know, ~it, it uses the,~ uh,~ like at Proto [00:21:00] identity system. ~Uh, ~but it doesn't use like BlueSky posts to follow. So ~it's, ~it's just a completely separate app. That's unrelated. ~Uh, ~but it just ~kind of ~walks you through the steps of like how to think about it. ~Like. ~What does it mean to post something? Like, where does the post go? Like, how does it get indexed? And so you ~kind of ~get like ethproto brained as you read it. ~Um, ~and there's another,~ uh,~ there's also an article if you go to the homepage,~ uh,~ again, ethproto. com. And then you,~ uh, ~scroll down. I think somewhere there, we have,~ uh,~ ethproto for distributed systems engineers. ~Uh, ~this is ~kind of ~like. ~If ~for back end people, ~like ~if you're familiar with scaling the back end, I think ~this, this gives you some, I think it's, ~it's just a very interesting read. It's ~kind of ~like an architectural overview of the system. And ~you can expect, ~you can expect there will be more stuff,~ uh, at, ~at Prado. com ~that, ~that we're going to publish. Paige: Very cool. ~So, ~are there any particular philosophies that are ~kind of ~driving Blue Skies development that you'd, ~you know, ~highlight, ~I guess?~ Dan: Yeah. ~I mean, like I'm, I'm. ~Like, I came in pretty late, so I think ~I'm, I'm, ~I'm ~kind of ~observing myself,~ uh, how, ~how the team operates. ~Um, ~I think ~there is, ~there are a few things,~ like, um, ~there is a mix of [00:22:00] idealism and pragmatism, ~I think, that is, ~that kind of reminded me of,~ uh, Like ~a similar thing on the React team where, ~you know, there, ~there is a vision. ~There is like ~the vision is pretty bold, but then ~there's also like, you know, ~it has to work in product. Like it's not just ~like ~a theoretical thing. It actually has to,~ um, ~work for a product with real users. And,~ uh, ~ideally ~like ~the users should not be people who care about the technological aspect. It's actually quite funny that ~like ~the vast majority of BlueSky users Not only don't care, a lot of them also say,~ like, you know, ~why are you spending time on this protocol thing? ~Like, uh, ~just ~like, uh, please, like, ~add GIFs. And they're right,~ like, that is, uh, like, ~the whole point is that ~you, uh, Like we, like, I think ~we want to make it usable. ~We want to, ~we don't want it to feel like some kind of different thing from the normal web. ~Right. Um, ~and so ~if, you know, if, ~if it's successful, ~then ~it doesn't really feel like a different thing,~ uh, ~except that, ~you know, ~there are a few twists, ~right?~ ~Like the, ~like your handle is your, the main name, but other than that, it feels like a normal app. ~Um, but I, uh, I think. Sorry, what, can you remind me the question?~ Paige: ~The philosophies that are~ Dan: ~Yeah, the philosophy, right, right. ~So I think actually like the web is,~ uh,~ Paige: ~Mm~ Dan: kind of OG web mentality,~ uh,~ it's,~ uh,~ I think ~it is, ~it is shaped like the web in many ways.[00:23:00] And ~like, ~like you could see at Protocol is ~kind of ~an attempt to,~ uh,~ feed social media and these like social, not necessarily like social media, but ~kind of ~aggregated. ~Uh, ~content into the framework of the web and to specify, ~you know, ~what is the minimal necessary subset of specification we need to add to kind of web specifications for people to be able to write these like interoperable apps,~ uh,~ that can display content from different users and, ~you know, You know, ~there's a way to prove that the content is signed by those users. So there's like some cryptography involved. There's some,~ uh, you know, ~some data structures involved, some kind of transport mechanisms, but it's ~kind of ~like a higher level thing on top of ~like ~HTTP, JSON, WebSockets, and like a few other technologies. ~Um, ~so it's,~ uh,~ Like in many ways, it might remind you of things like RSS,~ uh,~ and like other kind of traditional web technologies,~ uh,~ but with, ~you know, ~with the hindsight of ~like ~the last,~ uh,~ 20 years [00:24:00] of building actually scalable systems,~ uh, that, ~that ~like ~scaled to millions of users. Paige: Yeah, it sounds like you're marrying the best part of the early web, where users were the creators and the owners of their content with the scale that the social networks provided and the connections,~ but, ~but they're still in charge of their data at the end of the day. Dan: Yeah. And I think it's, ~uh. ~We can't ignore the fact that there was another attempt at this,~ right,~ like a couple of years ago. A lot of people were talking about this thing called Web3,~ uh,~ which I think got,~ uh, you know, ~It got pretty like it got us,~ uh,~ it was associated with,~ uh, like, uh, ~with crypto and blockchain and all of those technologies. And I think a lot of people ~kind of ~lost faith that, because ~like ~some of the ideological,~ uh,~ grounding of that movement, I think like we did hear quite a bit about what if users could control their data and ~like, ~there was some of that ethos, but it also relied on this systems that are like,~ you know, ~you don't. Maybe you don't really want to tie that to some kind of [00:25:00] cryptocurrency because that doesn't necessarily make sense in all cases, or maybe you don't want to make it computationally inefficient because ~it's, ~it's ~kind of ~computational overkill for a lot of Paige: ~Right. ~Okay. Nice. ~Well, ~Dan, it has been great talking to you ~kind of ~about BlueSky and the app protocol. Is there anything that we haven't touched on yet that you want listeners to know about either ~or, ~or anything else? ~Mm~ Dan: ~mind. So, uh, I, ~I do have a talk,~ uh, that I, ~that I gave,~ uh, again ~about things that I learned,~ uh, ~about the AT protocol from the,~ uh, ~BlueSky team. ~So, uh, that's ~the talk is called Web Without Walls. ~Uh, ~there should be a video. Sometime soon,~ uh, it, it's, uh, ~it was at React Universe Conf. [00:26:00] So if somebody is interested in ~like ~a longer version of this pitch,~ uh, ~you can check out the talk. Paige: Excellent. We'll be sure to link to that in the show notes. ~Um, ~if people want to get in touch with you or learn more about BlueSky, where are the best places to find you online? Dan: ~Um, ~Yeah, ~I mean, I'm, ~I'm currently mostly on BlueSky, so bsky. app. profile. mov, that's my domain, I actually bought a domain,~ like,~ I didn't even have a personal website before, and then I bought a domain for BlueSky, and I was like, okay,~ like,~ I'm gonna put up a single HTML page there. So I have a site now. ~Um, ~yeah, but that, that is,~ uh,~ that is where I'm currently hanging out,~ uh,~ and,~ um,~ Yeah, addprato. com for, ~you know, ~the project updates and,~ um,~ addprato related stuff. ~Uh, ~you can also,~ uh,~ go to go. beesky. app slash addprato. ~Uh, ~this is a starter pack of people who,~ uh,~ post about, who are working on the AT protocol, who are working on top of the AT protocol and building something with it. ~Uh, ~so ~this is, ~this is just a bunch of people you can follow on [00:27:00] Beesky who are Playing with that stuff. Paige: Fantastic. ~Well, ~thank you again for joining us on the podcast. It's been a great pleasure talking to you. Dan: Thank you.