So, I want to introduce you to the next presentation. It's called Open Cola, the Antisocial Network. And please give a big hand to John here. This is his first time at DEF CON. And I want to make him feel welcome. And hopefully you'll learn something and you'll enjoy this, thanks. Here's John. All right, thank you very much. Hi there, thank you for coming to the talk. I was supposed to do this with Oxblood Ruffin. Unfortunately, he could not travel, so for better or for worse, you're stuck with me. So, I thought I would start. The talk today is mainly on an alternative to existing social media, but I thought I'd start with introducing myself because it's pretty relevant to the whole path that brought me here. So, I was born and raised in Toronto. I got my first computer when I was 10 years old. I got a Commodore VIC-20, which really sparked my interest in computing. A couple years later, I got a Commodore 64, and then got heavily into the BBS world, which was a big precursor to the internet. It was a world where people were donating their time and their money and whatnot to build communities, which is really what I would love to see more of today. But I spent a bunch of time hacking around in that world, was supporting BBSs and so on, and so that's really where I came from. My first job out of university was at the original Open Cola, which maybe some of you remember. It was 20 years ago, though. This was a company that was founded by Cory Doctorow and a couple of other folks. It was meant to be a company that would, it was an open source company that was supposed to facilitate sharing and building communities and so on. By the time I got there, Cory had left, and it became a closed source company, and it was very, very different. But I was there building all the search technology, so here is a little example of what it looked like at the time. It was a Windows XP application. At the top left, there's a search box. You enter a query. At the time, Google was not super dominant. It was just getting there, and so when you wanted to search the web, you had to search multiple sites just to find good results. So this would do that for you automatically. It would search across a various number of sites. It would give you a list of results you can see in the top pane. You can scroll through those results. If you found ones that you liked, you'd mark them as relevant. It would rescore the folder, everything in it for you. It would help you draw attention to things that would be useful for you. And then it would generate new queries. It would do some light semantic analysis and generate new queries and continually add information to that folder. And so you could have as many of these folders as you wanted. They were also, you were also connected to other peers, and so when peers would go off and find interesting things and save them, you could leverage all of that. Your queries would go to them and you'd get their results as well. So that was a ton of fun for me, one of my favorite jobs ever. So what's happened since? Well, for myself, I bounced around, I did a couple of startups with two of the other founders of Open Quora. I eventually ended up at Microsoft. I worked in identity for a bit, learned a bit about security. I then worked on a knowledge web team and learned a ton about semantic web and recommendation systems. And then after that, I worked at Netflix for 10 years where I bounced around a lot of the different personalization teams, building all of the algorithms that produce the Netflix experience, the homepage, the ordering of videos and so on. And at the end, I was actually running the whole organization. So I have a lot of experience with recommender systems and being in a big company, trying to balance user needs and the company's needs as well. Obviously in that time, a lot has changed in the world. Google is the dominant search engine. We've gone through Friendster, MySpace, Facebook, Twitter, Instagram, all of these things have happened. And along with them have come some pretty big, big tech problems. We've seen a large amount of information siloing. And so, all these sites benefit by keeping you as members. And so they don't really want to unlock your data and let you use it in multiple places. So if I accumulate things on Facebook and accumulate things on Twitter, they're stuck in those silos. I can't really do anything with that data. I have to use those sites. And that serves these companies. It doesn't serve me or any other end users super well. Secondly, the majority of these companies are profit companies that really make their money through advertising. And that means they make more money if you stay on their site. And so the algorithms are really tuned to grab you in and keep you on their site as much as possible. And again, this isn't necessarily in your best interest. You're being shown things that keep you there. They may not be things that actually are the best things for you. There has been endless amounts of privacy abuse. I think the favorite story that I've linked to here is a John Oliver clip that's talking about the amount of data that data brokers have access to. And that you can purchase with a credit card. And in many cases, this data is data that would require the government a warrant to get. And sometimes they even just go and buy the data from the brokers if they can't get warrants. So it's a pretty crazy situation. We've also seen a huge amount of corporate concentration of wealth and power. There are very few companies at the top that are making a lot of money. Because of that, they can use their power and their wealth to continue to be anti-competitive and to continue their advantage. There's a great post-COVID, post-link here to the antitrust case against Facebook, which reminded me, it's about how Facebook's evolution that I had totally forgotten about. They used to, in the early days, be really advocates for user privacy and for the end user. And they got to a point that pretty much any for-profit company is gonna get to, where they have to maximize profit. And in order to do so, they had to stop representing the end user. Misinformation, for me, it's been huge since 2016. Just trying to think about ways potentially to solve this, these problems and putting out information that is not accurate and distorts people's perceptions serves lots of different reasons. It could be to distort a political opinion and it could also be just simply to try and make ads. Things that people put in information that attracts attention. You click on it, that helps people sell ads. Related polarization, strong emotion, it gets a lot of people's attention, particularly negative emotion. And so the algorithms that these companies use to figure out how to keep your attention, they're really amplifying a lot of the negative emotion, which leads to polarization. It leads to us feeling that we're further apart than maybe we actually are. There's stifled innovation. These companies will build what only makes profit for them. So there may be lots of great features that would be super innovative, but you aren't gonna see them unless the company can make some money from it. And then lastly, in order to manipulate networks and manipulate discourse, there's been a huge rise in bots, so automated systems that pretend to be people that will manipulate the internet structure to try and trick Google, or manipulate discourse on these social media platforms in order to try and get more eyes on the types of stories that these folks are interested in. So if we step back, though, and really ask ourselves, what are these sites offering? It's actually not all that much, and it's actually not all that hard to build. Up here, I've got arguably the three sort of top social media sites today. Facebook, Twitter, and Instagram. Facebook, it's really just a feed. Every post in it has just an image, some description. It's a bit of a structured item. And then you can do a few things with that, like you can like, you can share, and so on. You can add a comment. On Twitter, it's pretty much the same thing. It's just an image with some text on it, and you can comment, retweet, like, or share. And Instagram, pretty much the same thing. So take a step back, and you look at it. Well, what are you really getting as an end user? You're getting the ability to indirectly interact with your friends, your family, and your community, and you can perform a fairly small set of actions. Across all the sites that I'm thinking about, it's really just post, like, rate, comment, tag, and share. And I include even things like Amazon and YouTube, which may not be considered directly social media, but they're places that fit this pattern very well. And what you get back is a feed. But in order to get access to all of this, you're really, you're, you're, you're, you're really building, we're really allowing all of these other problems to exist. You also get all the aforementioned problems. So I found a great quote in the antitrust case against Facebook that really is just to ask the question, why is it that in a country that's so paranoid about government or corporate surveillance, why is this really the only option that we have? And I would say it's probably because people that go and build, wanna build these type of companies have two things in mind. They either wanna make money or they wanna control what's going on. And I think that's sort of very different than the types of companies that have been built up to give us these products today. So for me, fundamentally, the question is, how can we have a more trustworthy internet? And I do not think that profit seekers can really offer a solution to this. For example, they, there are certain things they just don't do. They did not and could not really have produced the internet in the first place. It would be, it was too risky, too long run. All of that was based off of public funding to start. And then at some point, which is, you know, it's, you know, it was taken over by private companies. But they did create all the problems we've seen. So I don't really feel like I would trust them to solve these problems. So I think we need to start with just a different incentive model, which is rather than thinking about how to make money solving a problem, this is a problem probably worth solving. So let's just figure out how we, how we should solve this problem from principles first. So in terms of trust then, I've enumerated at least what I think is a minimum set of principles. So any system that's built to try and solve all these problems, I believe needs to be transparent. You need to know what it's doing and why it's doing what it's doing. So you can choose to use it based on what it's doing and you can detect misuse. The system also needs to provide for accountability. If somebody abuses the system, there has to be some mechanism to punish that person or that entity in order to disincentivize that misuse. You need, as well, you need some personal control. Your information, your data, you should know what's happening to that data. You should know where it's going, who's seeing it and how it's being used, whether it's for your benefit or not. And then lastly, but obviously not least, you need some degree of security. You shouldn't be able to pretend to be somebody that you're not in the system and you shouldn't be able to access information in an unauthorized fashion. So if we look at these principles though, a closed source for-profit model generally will minimize each one of these principles. And in the security sense, you might be able to argue that some of these companies do a good job of securing your data from, maybe from hackers, although you probably know a lot more about this than I do. In the very least, they're just gonna sell your data if it's profitable for them. So that's clearly not a trustworthy behavior. So from my perspective, this really strongly suggests a free open source distributed software model. So before I dive into how it all works under the hood, I'll give you a little demo to show you what has been built so far in OpenCOLA. And so this is really just a reinvention, visioning of what was originally in the product and the ideas that came from an original OpenCOLA. It's gonna be slightly different. It's very similar to existing social media, but there are a couple things in it that we do a bit differently. But just keep in mind that this is just a reference application. Fundamentally, this is a platform and the idea of it being open source is that you can build whatever you want on top of this. So I'll switch over to the demo, which is visible. Okay. Okay. So let's look at setting up the application. I've skipped over just the install of, there's a server that you can run, and then there's what we'll see is the use of a browser extension. I've skipped over the install just for the sake of time, but I'll show you how to set it up once it's been installed. With your browser extension, basically it allows you to take a few actions. Again, this could be extendable, but I've just got a small set here for now. The little green bubble on the end is just a status indicator. Green means everything's okay. Yellow means it's doing something and red means something bad happened. There's a little disc icon that allows you to save the site that you're on. There is a thumbs up icon that allows you to like the site you're on. And then there's a trust action, which I'll talk a lot more about later and is something I think novel for social media. And the last thing is there's a little search icon that lets you go to your feed and then you can search things that you've interacted with. So let's just go over to the feed right now. Unsurprisingly, it's empty. And we will go into the peer view. At this point, you're the only person in the system. So this peer is you, and you can go and set up your name and an image for yourself. So I'm gonna pretend this is Nola, who was the original OpenCOLA mascot, put an image in. And then there are three other fields that are set for you automatically. You get a global unique OpenCOLA ID. You get a public key, which is used to secure your communication, and make sure that you can validate that it came from the person you thought it did. And then there's an address. Right now, this isn't the HTTP address because it's a local machine. I'll explain a bit more about that later. Okay, so now we're set up. Let's go and take a look at what posting looks like. So in order to do some posting, when you're browsing the web, you can take some action on the pages. This is where we're slightly different. You're not... I'll show you in a second how you can create more organic posts, but the posts that we're looking at here, everything is very information-centric. So when people interact with the same resource, all of that gets combined, so you can see what everybody in your network is thinking and talking about on that particular item. So we can start here, and we can go and say that we like the DEF CON page, and then we can go and say that we wanna save a Wikipedia page. If we go back to our feed, notice that now we have those two items that we interacted with, are sitting in our feed. This feed is just reverse chronologically ordered. It's done some convenient extraction of a text description and an image for you. Under each post, it indicates who posted it, and then there's actions that you can take, and also that you can see all the activity of your peers, so you can re-save stuff. You can re-save and see activity of saves. You can like, you can tag, you can comment, and you can edit the post itself. One of the nice things that it does for you as well is that when you actually interact through the web, browser, it's actually taking that whole page and it's storing it as a single page archive, so not only can you just click on the link and see the current page, but what I'll show you right now is that you can click on the archive link, and if you notice, this is being served off your local computer, so you can go back and see exactly what you interacted with, and you can do that without being tracked. Okay, and so this is the more traditional social media post. This is a bit of an expert form right now. I'm gonna make it a bit simpler, but you can edit any of the fields that go into the template that gets rendered in the feed. Normally in social media, you're often just wanting to type something in the description, so if you've got something that you wanna share, you can just put it in the description box, and when you save that, it just creates a relatively empty entry with your image in it, and that's sort of the more traditional path. So it's great to have your own, your own personal repository. I find it super useful just to keep track of things, but of course, you wanna be able to connect to your friends and leverage all the things that they're doing as well. So we'll take a look at how you connect two peers together. First, we need a peer. So luckily I have one pre-created here, Clippy, and Clippy already has some existing posts, and these two, Clippy and Nola, wanna connect, and so what they each do is they go into their peer view, and they basically, there's a token that's given to them that they basically exchange with each other. And so I'll just mention that this adds a bit of friction to connecting that doesn't exist in existing social media, and as you'll see later, this is actually pretty valuable. It actually provides some great functionality on the other side. You do this token exchange out of band of the application, so you can use whatever you're comfortable with. It's not hypercritical, but if you wanna be super secure, you could use something like Signal to send that token to a friend, but the point is that you only connect to people that you actually know, that you've verified, you know this person, so you talk to them out of band. Once you add them, if you want to, you could edit the name or their image and see that person how you wanna see it on your side, and now you're connected. And if we go back and look at the individual feeds, we'll see that they are now synchronized. And on Clippy's side, Clippy can go then and interact with the posts that were posted by Nola, add, add in a comment, maybe like a post. And if we go back over to Nola's feed and refresh, notice all of those changes took effect immediately. And again, it's reverse chronologically sorted, so the most recent activities at the top. So now you're connected, you've got all your data. You probably also wanna be able to search that data. That's something that's somewhat different. And again, we're a bit more content centric, so the idea is that you share this information, and then it should be really easy for you to find afterwards. You've got your, a single repository of the things that you care about across all the sites that you interact with. So searching is pretty straightforward. Just enter your query in the query box. Here we entered writing. What we got back was the one writing result that made sense. Notice that this looks exactly like the feed, and the feed and the search results are totally unified. Everything you can do in one, you can do in the other. So it's super convenient. So you can go down and say, edit the search result. If you didn't like the description that it had extracted, you can edit it. This changes it for you and anybody that you share with, but anybody that already has saved it, it won't change it for them. And then you can like the item. You can add a tag on. And if you go back to the main feed, once again, everything has been updated, and you see that at the top of your feed. And so would Nola on her side. We didn't specifically build a mobile version, but just to show you what it looks like right now, it's actually pretty functional and it looks pretty good. The one challenge on mobile is that we don't have the plugin, and so we had to figure out how to make it easy to add content in. That's actually pretty straightforward. You just use the share functionality in a browser. You copy the link. You post it into the description. And if the only thing you've put in your feed, your post is a description, it's gonna do the same parsing that it did before and show you a result that has the image, the feed, the description, and the title parsed out for you. Okay, and then the last thing I'm gonna show, talk about is just the persistent web. And so this is just to sort of underscore the fact that you're not just bookmarking things. You're also maintaining an archive of the things that you've interacted with. So I was showing this to a friend, and I just typed in the search Cori, and up came four results, and three of them looked like they made a ton of sense to me. They either were articles written by Cori or referred to him. I'd recently read a book called The Dawn of Everything and was a bit confused. I didn't know why that would pop up. So I went over to the Wikipedia page, searched for it. He wasn't in, the name wasn't there. So I went back and said, okay, well, what was actually indexed? So I went into the archive version instead, and I did a search for Cori. And lo and behold, the original version that I interacted with actually directly mentioned Cori. So when I do my search, if you're interacting with pages that are changing, you still, you have a record of the things at the time that you interacted with them. Okay. Let me bounce back to the slides. Okay. So what I thought I'd just give a sort of brief explanation as to how this was all put together. It's actually pretty simple. What you just saw was the browser extension in the web UI. There is a main API, that is how that's running the server. And that was written in Kotlin. Kotlin is sort of a more functional and fun version of Java. It means you can use all of the existing open source libraries with it. And it just seemed like a sort of open source friendly choice. But the meat of OpenCola is actually all of these components at the bottom. So the first one is the entity store. This is where all the metadata is stored about the posts that you're interacting with. So it has like all the links to the images, the descriptions and everything that you've interacted with. We have a SQLite version of this and a Postgres version of this. So you can run it in process as a library. Or if you choose, you could host your entity store somewhere else or at least scale it differently. There's a file store, which stores all of the archive information and it will store everything that if you're sharing larger sets of files or whatever, it'll store any actual binary files. It is a hash based store. So it's globally addressable. It's currently, it stores things locally. It's not directly on your machine, but it is a very simple interface. And you could imagine sharing one and putting one up remotely if you wanted to, so that you could be a bit more efficient with it. The search index is just built based off of Lucene, which is an open source search engine. It's super scalable. There's a Lucene one that uses the directly the library. So you can run it as a single process. But again, you can run it in solar as well, which is a wrapper around Lucene and can scale to fairly massive situations. And you can run it remotely if you want to. And then the last piece, this is the network provider, and this is what allows the nodes to communicate with each other. Currently, we are actually communicating over HTTP, but we're using zero tier as, which is an open source VPN solution that allows us to make it look like remote peers are on your own network, which is convenient for directly communicating and being able to view other people's feeds. We're definitely looking for better ways to do it. We're stretching what it was meant to do. And we want really secure connections between people. And it's not really meant for setting up. As many VPNs as you have friends. So we're looking for a different way to do that. At the core of all this though, really the core of OpenCOLA is just this data representation. In the database, everything is stored as a fact. These are not informational facts. These are database facts. And so in a post, the description has a fact. The title has a fact. And this is basically every fact. It's just a tuple. It has these components. It has an authority ID, which is essentially, who is asserting the facts. That would be my user ID. There is an entity ID, which is what you're talking about. It could be a resource or a file or another person in the network. There is an attribute, which is what property of that entity you're talking about. The value. There's an operation that indicates whether or not you're asserting or retracting the facts. And then there's a transaction ID. So these facts get grouped. When you take an action that generates a set of facts, they get grouped into a transaction. That transaction is signed. And that's the unit that's communicated between nodes. And so it's actually, you can, this is really extendable. This is the type of thing that you probably wouldn't want to run in a big enterprise database. But for the user scale that we're talking about, this is a really great choice. And then another just fun fact about this database is because of the way that it models data, it's actually always accreting data. It's not deleting old data. And so if you wanted to go back and look at what your feed looked like five years ago, you could actually just generate a query, just slightly modify the query to get the feed, and it would produce that for you. Okay, great. So you've seen the demo. You've seen a bit of how the architecture looks like. So how does this help? I listed a bunch of problems at the beginning. Well, in terms of information silos, your data is your data. It goes wherever you want it to go. You're sharing it with your friends. In terms of whoever you connect with, it's automatically replicated to your friends. Your friends can see your data right now on social media sites, so that's nothing new. There's some nice features of that, though. If you lose all your data, you can go back to your friends and say, hey, can you repopulate my dataset? Is there a way to store for me? So you've got a backup of your data. But the point is that you can take that data and put it wherever you want, and we imagine situations where you might actually want to share it with applications that you trust, and you can take that trust away if you want to, but to get larger features in the future. In terms of the attention economy, there's no advertising in the system. It's possible that your friend may try to advertise you, but there's no advertising component to this whatsoever. And so there's really no incentive to keep you in the site. And from my perspective, we're not doing anything to bug you. We're not SMSing you all the time to tell you if you've got new content. It's up to you if you want to come and use the site, if it's useful. In terms of privacy abuse, your data is yours, and you should share it with people that you trust. And you now are actually in the power to do that. You can take it, you can revoke it. I think there's an opportunity potentially here as if they're at the point that there are potentially applications out there that want to use your data and aggregate it in larger sets. You could potentially think about creating end service agreements versus end user agreements, meaning that since I have all my data and it's valuable and it's across every single site, if I want to use it, if a service wants to use my data, you could conceivably create some sort of licensing such that you say you're only allowed to use it for these reasons, which is very different than the world is today. So it's just something that we'd like to explore. In terms of concentration of wealth and power, this just provides you with an opportunity to move away. So to the degree that people do move away, you take away the big company's power. And I'll talk a bit later about how we're trying to make that easier to do, because of course the big question is, well, will people do this? In terms of misinformation, every piece of data that comes to you in the network comes from somebody. It's not random. It comes from somebody. So if you see an article, say from the Washington Herald, let's pretend that's not a real site and it's saying this incredible story and you go and look at it and say, well, wait a sec, this comes from some weird bot farm that I'm aware of. You can mark that story that the point of that trust button in the toolbar was that you can mark a story as untrustworthy. That signals to your friends that if they ever come across that, that they probably shouldn't take it seriously. And it can also be used to penalize throughout the network wherever that information came from. And obviously you can also just turn off people if they abuse your trust too much. But the point is that once you get all of this trust data in the network, you potentially can actually build some interesting algorithms that help you to be able to sort of navigate things that you haven't seen before. So anyway, people can still put, to be clear, people can still post fake news, but you are a moderator yourself. You can control whether or not it replicates beyond you. In terms of polarization, there's less incentive to share negative emotion. I definitely wouldn't claim that people won't do it, but it's definitely not being amplified by advertising. Don't need to say much about stifled innovation. This is an open, this will be an open source project soon. I'm just not quite at the point of releasing everything, but since it will be open source, anybody can do whatever they want with it. And that means you can build whatever feature you want. And then in terms of bots, bots exist because they're super easy to create and scale. You can go and create a bunch of Facebook users or you can create fake links that try and trick Google. And it's really cheap to do that. And it's an arms race to try and figure those things out. But there are definitely cases, especially we know now with the potential acquisition of Twitter, where it's like there are lots of bots that are actually affecting the social discourse and actually distorting conversation. But in this world, to get in the network, you actually have to exchange a token. So I think it would be practically impossible for somebody to automatically trick enough people to actually have large scale effect on the network. And if it does happen, it really is your fault. It's not some company's fault who's not spending enough time on the problem. It's because you let it happen in your network. And then there's an easy way to turn it off once you do find them. A question I often get about is, well, what about information bubbles? I don't know that I have a really great answer for that. I don't think we directly solve this. I think it might be reasonable to say that in a world that's less polarized, where you have more control, you might be more accepting of opinions outside your own perspective. I think the challenge though with information bubbles is that they're natural. They've existed forever. I just don't think we've been as super as aware of them as we are right now. And I think it's really a social problem of people really desiring to understand, build empathy and understand people not like them versus a technical problem. And I don't believe that any algorithm is ever gonna solve this problem personally. So I think that's something that's a bit out of bounds of what we're doing. However, when we do get to the point where we're thinking about algorithms, where if people are willing to share with algorithms that are help, like help them decide, you know, discover new information, any algorithm, you can basically tune it in such a way, sorry, you can tune it on a spectrum between exploring and exploiting, where exploring is just randomly giving data to see what people react to. And exploiting is when the algorithm says, I'm gonna give you exactly what you want, what we think you want, that's gonna actually get an action. And you can relatively easily tune between these things. So that what I would love to see is a case where the user could decide the level of explore-exploit that they want, which would allow them to experiment with their bubbles. And for me, when I look at something like YouTube, I get stuck in bubbles all the time. I see a friend's YouTube feed and I'm like, why am I not seeing any of this stuff? And I'd love to be able to have control over that in the algorithms that I interact with. So we do have some thoughts on that. So what are we thinking about? Well, we're still pretty early on in what we're doing. And right now, the visibility is right now just restricted to your peers, which actually may be a good thing. We don't know what it's gonna feel like for people once they've been using it for a while. But definitely, at some point, we wanna think about introducing peers and so on, and maybe being able to see a bit further out as long as people are willing to share their information maybe more than one degree away. One of the big things is how do we help people get off existing social media? There are two ideas that we're experimenting or thinking about. One is that because we are not actually an application in the way that, say, Facebook is, we're running in the browser in an extension. That extension can know when you're on Facebook. And it can know when you're doing things on Facebook. So if you decide that you like a post or you save something, that information can be replicated in your own data store, which means you can sort of get the value in Open COLA and still live on regular social media if you want to. Furthermore, with privacy law, you have the right to request whatever data these sites have on you. And so we are thinking about writing bulk importers that allow you to go and say, give me all my data. I wanna pull this data back in. So that allows you to move your data over. And then the real question is, how do you get people over? And I think we can potentially slowly map people between these worlds as people move over. But I think we've got a couple of ideas about how to make it a bit easier than it has been in the past. We're also thinking about identity. I think one of my big criticisms of, say, something like Facebook, is that I post something that is about my family and then everybody, random person I know, sort of sees it and I'm kind of like, that's not really what I want. I want to be able to create my own communities. I want my family community. I want my tech community. I want my music community. And I want to be able to control where that information goes. And so I think that's something that is definitely not in the best interest of the existing social media companies. But I think there's actually a reasonable solution where you can have an integrated feed, but when you post things, you choose what identity it goes to. You can copy things between those identities and so on. But I think that would be an improvement of what we have now. We're looking at building a better mobile app. Maybe it allows you to bump with somebody to be able to exchange your contact details and allow a bit more of that. More rich functionality on a mobile device. I think one of the things that I would be super excited about would be if we do get to a point where there are lots of people and they're willing to share their data with trusted applications. I imagine maybe an academic institution is saying, hey, you know what we'll do for you is if you give us your data, we can do some research and understand social structure and opinion and that kind of stuff. And in return, we'll give you, we'll host algorithms for you so that you can get broader algorithmic results to help you find new information. And in that world, because your data, the OpenCole has access to data across all the systems that you're on, it's got a much richer set of data than any one particular site does. And since all that data is shared with this system and it even knows things that you've done on YouTube, you could potentially build a YouTube recommender that did not even involve YouTube. And so that algorithm could produce different results for you that were optimized for your purpose versus YouTube's purpose. Similarly, you could apply this idea to Amazon. When I go onto Amazon and I look for, I look at all the star ratings, I have no idea who those people are. I don't really know if they're bots. I don't know if they're like me. But you could potentially use this data to help recommend even products for you, which sometimes is a good thing. And they could probably do a more authentic job of doing that than Amazon would in terms of trying to maximize their revenue. We're also thinking of the notion between publishers and consumers. So obviously in the social media world today, there are a lot of people that just publish out data for people. And so it's relatively straightforward for us to allow people to create a one-way connection. We just haven't done this yet. I think it'd be super interesting if we could even get newspapers to be interested in this. And if they were signing the information that they were propagating through the network, the more people you got doing that, the harder it would be to inject fake information from unknown sources into the system. I'll skip over the leveraging the network to enable trust algorithms. I think I've sort of touched on that. The other thing is that this is really just a platform for doing these things. Everything I've shown you is meant to be pluggable and everything I've shown you is meant to be extendable. And I think on top of what's been built, it would be fairly straightforward to build an application ecosystem and even a recommender ecosystem. All the data is standardized and the APIs are standardized. So anybody could make what they want out of this. It could be different. Somebody could make it look exactly like Facebook if they really wanted to. But having some basic tooling at the bottom to enable that would be great. And the last thing is search filters. So right now, there's probably many different ways you want to look at your data. And so enabling rich search filters where you can actually specify people and tags and keywords and say, this is my name filter that does this, allows you to build your own feeds basically. Okay, so now what? You've seen sort of where we're at right now. Just to reiterate, we're just, we believe this problem is worth solving, whether or not we make any money. We're not looking for VC funding. We are a nonprofit company. We want to work with other smart, cool people. We're looking for debate, collaboration, and other ideas. We're specifically interested in alternatives to the network providers. Tor is probably the next thing I want to take a look at, but there may be other options that just allow two nodes that are sort of arbitrarily placed on the internet to be able to talk to each other. And so just want to explore and have some options there. Peer-to-peer systems also have some challenges with the fact that nodes are transient. They're not always online. And so the question is how do you make, how do you create a seamless experience like you get with sort of centralized control right now? We do have, as I mentioned, all the data is replicated amongst your peers. So there's an easy solution is potentially to delegate to your peers when you're offline, and that can allow you to get updated even if you're offline. But I think there's other cases, things that would be interesting too, like creating dead drops to pass information around, or just having some other storage that allows for information to persist outside of your actual system. So that's all I had to talk about today. Hopefully you enjoyed it. If you want to ask any questions, or if you have any ideas, I'll be out front, or you can reach me at john.midgeley at opencola.io. Thank you. Bye.