1 00:00:00,250 --> 00:00:02,370 Welcome back to the local first FM podcast. 2 00:00:02,720 --> 00:00:06,430 We're currently on holiday break, but we've prepared a special episode for you, 3 00:00:06,640 --> 00:00:10,750 which was recorded as a Twitter space conversation between Gordon Brander, 4 00:00:10,910 --> 00:00:12,630 Peter Van Hardenberg, and Jess Martin. 5 00:00:13,050 --> 00:00:16,920 This conversation explores the ideas and trade offs of apps versus files. 6 00:00:17,440 --> 00:00:18,360 I hope you like it. 7 00:00:19,357 --> 00:00:19,928 All right. 8 00:00:19,957 --> 00:00:21,467 I guess we're going to get started here pretty soon. 9 00:00:21,790 --> 00:00:25,663 So my thinking on this would feel something like we've all been at a 10 00:00:25,663 --> 00:00:29,613 conference and we've heard an interesting talk, maybe enlightening talk even, 11 00:00:29,807 --> 00:00:33,660 where the person shared like five minutes of thoughts, but not even like 12 00:00:33,660 --> 00:00:37,440 a full, they didn't fully elaborate on everything they wanted to say. 13 00:00:37,860 --> 00:00:39,810 And the two of us said, Hey, you want to go sit down at a conference 14 00:00:39,810 --> 00:00:40,680 table and talk through this? 15 00:00:40,690 --> 00:00:42,250 Cause I feel like there's some interesting stuff here. 16 00:00:42,703 --> 00:00:46,483 And I have thoughts on it, and I would like to work them out, out loud. 17 00:00:46,623 --> 00:00:48,023 So that's kind of my framing. 18 00:00:48,429 --> 00:00:49,069 I love that. 19 00:00:49,279 --> 00:00:54,362 We are all, I think, building in one way or another, around this problem as well. 20 00:00:54,362 --> 00:00:55,232 Is that right, Jess? 21 00:00:55,492 --> 00:00:56,402 Yeah, more or less. 22 00:00:56,652 --> 00:00:56,892 Yeah. 23 00:00:56,892 --> 00:01:00,057 Do you want to maybe, like, recap what the motivating question was? 24 00:01:01,047 --> 00:01:01,777 Absolutely. 25 00:01:01,874 --> 00:01:07,564 the reason this is called File, Symbol, App, File over App is, Kepano from 26 00:01:07,584 --> 00:01:12,771 Obsidian posted a little, I guess a Twitter post that also he has, I 27 00:01:12,851 --> 00:01:15,931 guess there is a link on his website to a fuller article about this. 28 00:01:16,321 --> 00:01:18,692 And it's a philosophy that, Kepano holds. 29 00:01:18,692 --> 00:01:22,938 And then the tool called Obsidian, also embodies this philosophy. 30 00:01:23,508 --> 00:01:26,739 And, I'm not gonna go into the whole thing now. 31 00:01:26,769 --> 00:01:31,721 I'm gonna kind of assume that most people are, can like, go and read the, the post, 32 00:01:31,874 --> 00:01:34,394 and kind of get his thoughts, more fully. 33 00:01:34,394 --> 00:01:42,009 But I, the basic idea is that the tools that we use should store that data. 34 00:01:42,779 --> 00:01:47,676 In a way that we own the data, and he calls that files, and 35 00:01:47,676 --> 00:01:51,902 that we, and that the data lives beyond the application itself. 36 00:01:51,922 --> 00:01:57,242 So once we've, like, even if the app goes away, we've still got the file, 37 00:01:57,532 --> 00:02:02,343 and that file gives us some ability to, continue interacting with that 38 00:02:02,343 --> 00:02:05,883 data that we've spent such a hard time, or had such a long time creating. 39 00:02:07,218 --> 00:02:09,688 That's the, that was the impetus. 40 00:02:09,748 --> 00:02:14,208 And I think the reason that I wanted to chat about it and reached out to 41 00:02:14,208 --> 00:02:18,938 Gordon and Peter reached out as well, is because I mostly agree with what 42 00:02:18,938 --> 00:02:22,958 Kepano is saying, and yet there are some subtleties at which I, I think 43 00:02:22,958 --> 00:02:28,658 that probably we would, if Kepano was here, that we would, we would part ways. 44 00:02:28,768 --> 00:02:32,048 So I'm curious to kind of work out where the subtleties are and 45 00:02:32,048 --> 00:02:34,918 then talk about, you know, some real systems that embody this. 46 00:02:35,338 --> 00:02:38,778 Well, let me, let me make the opposing case because I think it's important 47 00:02:38,838 --> 00:02:42,888 to have both perspectives here, which is files got their asses kicked. 48 00:02:43,098 --> 00:02:43,448 Right? 49 00:02:43,548 --> 00:02:46,651 Like, you want to email people your Google Docs? 50 00:02:47,008 --> 00:02:48,158 That, that's the case here? 51 00:02:48,428 --> 00:02:49,228 Oh, I get it. 52 00:02:49,268 --> 00:02:49,778 I get it. 53 00:02:49,798 --> 00:02:49,968 Yeah. 54 00:02:49,968 --> 00:02:52,108 You don't want to be able to share a link to a thing. 55 00:02:52,118 --> 00:02:56,518 You want to have to send it and then choose a file name for it and get it back. 56 00:02:56,518 --> 00:03:00,376 And then, something, something, merging, something, question mark? 57 00:03:00,676 --> 00:03:03,216 Make a small change, change the name of the file, send it back, 58 00:03:03,216 --> 00:03:05,832 final Underscore, final, March 59 00:03:05,876 --> 00:03:11,336 7th, 24th, final, final, as submitted, dot, doc, dot, you 60 00:03:11,336 --> 00:03:12,786 know, word, x, dot, whatever. 61 00:03:13,092 --> 00:03:15,022 so I mean, files got beat because they're worse. 62 00:03:15,232 --> 00:03:17,382 What people want is places, not things. 63 00:03:17,752 --> 00:03:20,324 And so, okay, now I'm going to, I'm going to undermine my argument, 64 00:03:20,482 --> 00:03:24,392 but like the desirable properties of a Google doc are that a Google 65 00:03:24,392 --> 00:03:26,329 doc is a place, not a thing, right? 66 00:03:26,329 --> 00:03:30,132 So when you join a Google doc, you are given a key. 67 00:03:30,612 --> 00:03:33,912 To a place where you can go and collaborate. 68 00:03:34,232 --> 00:03:37,122 Now, everything that's wrong with Google docs also falls out of this, I think. 69 00:03:38,022 --> 00:03:41,162 But like, what's great about a file is also what's bad about a file. 70 00:03:41,162 --> 00:03:44,722 What's great about a file is that it's a thing that you have, you can't take it 71 00:03:44,722 --> 00:03:48,103 away from somebody else who has it, but also they can't take it away from you. 72 00:03:48,113 --> 00:03:48,323 Right. 73 00:03:48,323 --> 00:03:48,983 They have a copy. 74 00:03:49,013 --> 00:03:50,453 They can edit it privately. 75 00:03:50,818 --> 00:03:51,088 Right. 76 00:03:51,088 --> 00:03:52,608 They can share it themselves. 77 00:03:52,608 --> 00:03:54,078 They can decide what they want to do with it. 78 00:03:54,578 --> 00:03:57,938 But like, there are lots of power dynamics as well in terms of 79 00:03:57,958 --> 00:04:00,151 like, places versus things, right. 80 00:04:00,151 --> 00:04:03,571 Which is like, if you've given someone a thing, it's hard to get it back. 81 00:04:03,571 --> 00:04:06,891 But if you let someone into a place, you retain perimeter control. 82 00:04:06,891 --> 00:04:10,261 You can choose who's let in, in the future, if they're allowed back. 83 00:04:10,651 --> 00:04:10,931 Right. 84 00:04:11,021 --> 00:04:14,251 And while there's sort of a fiction about like actually retaining control over 85 00:04:14,251 --> 00:04:16,881 data, like You know, I can screenshot it. 86 00:04:16,881 --> 00:04:17,791 I can copy paste it. 87 00:04:17,791 --> 00:04:20,101 I can exfiltrate any number of ways. 88 00:04:20,711 --> 00:04:23,431 You know, that's like an extra step I have to take versus if I email 89 00:04:23,431 --> 00:04:25,001 you a PDF, you've just got it. 90 00:04:25,386 --> 00:04:28,266 So I think like, that's the, that's the beauty of the place is that it 91 00:04:28,276 --> 00:04:32,416 gives people, it gives the person who creates the data a lot more agency 92 00:04:32,416 --> 00:04:37,342 over its destiny, and it gives you a natural collaboration point, 93 00:04:38,162 --> 00:04:39,522 you know, kind of by definition. 94 00:04:39,899 --> 00:04:40,099 Yeah. 95 00:04:40,099 --> 00:04:42,879 And I think, I know that Gordon was. 96 00:04:43,249 --> 00:04:46,919 Wanting to talk about collaboration as well as like a natural place where files 97 00:04:46,979 --> 00:04:50,559 kind of fall down But I think one of the things that you're mentioning here One 98 00:04:50,559 --> 00:04:54,859 of the things that I think is included in the file over app that isn't mentioned 99 00:04:54,869 --> 00:04:57,612 explicitly is the file system, right? 100 00:04:57,612 --> 00:05:01,981 It's the it's the container for the file of like where does that file live? 101 00:05:02,002 --> 00:05:05,382 What is the place at which it actually lives because it does have a place. 102 00:05:05,402 --> 00:05:08,536 It's just not a Internet accessible place via URL. 103 00:05:08,763 --> 00:05:13,123 and I think that is, that's actually part of Kipano's argument is that 104 00:05:13,133 --> 00:05:17,003 the place where the file lives is a better place than the cloud. 105 00:05:17,703 --> 00:05:21,173 He's saying the file lives on a local file system on a device that you 106 00:05:21,173 --> 00:05:23,983 control, like a hard drive that is yours. 107 00:05:24,473 --> 00:05:25,243 And that makes it. 108 00:05:25,608 --> 00:05:28,778 in some place, in some sense is a special place or a better 109 00:05:28,784 --> 00:05:30,268 place than some of the cloud. 110 00:05:30,308 --> 00:05:34,604 And that's what you were mentioning as well, Peter, that like the cloud places 111 00:05:34,804 --> 00:05:40,418 enable, certain things, file system shaped spaces, places enable certain things. 112 00:05:40,438 --> 00:05:42,328 Like, how can we get the best of both of those worlds? 113 00:05:42,651 --> 00:05:44,111 Oh, well, that's a different thing, right? 114 00:05:44,111 --> 00:05:47,691 You're claiming like, also, this is a little bit of a category error, right? 115 00:05:47,691 --> 00:05:50,836 Like you're arguing, Like Apple over refrigerator. 116 00:05:51,030 --> 00:05:52,270 Oh, between file and app? 117 00:05:52,290 --> 00:05:54,470 You're talking about Kepano or the argument that I just made? 118 00:05:54,880 --> 00:05:57,650 Well, just the, the sort of framing of the discussion, right? 119 00:05:57,660 --> 00:06:00,230 Like, there are plenty of apps that work on files. 120 00:06:00,456 --> 00:06:00,706 Right? 121 00:06:00,706 --> 00:06:06,296 It's, it's not The problem here is, Like, apps do not imply the death of files. 122 00:06:06,806 --> 00:06:10,776 But there is a culture and a community set of values and certain 123 00:06:10,776 --> 00:06:12,146 sets of expectations, right? 124 00:06:12,146 --> 00:06:14,926 Like, are we talking about mobile apps or web apps? 125 00:06:15,536 --> 00:06:18,420 You know, there, this is a, like a, I think there's a, there's a lot of 126 00:06:18,420 --> 00:06:20,560 articulation points potentially here. 127 00:06:20,788 --> 00:06:21,118 For sure. 128 00:06:21,118 --> 00:06:23,248 And I think the only point that I was making to try and simplify 129 00:06:23,248 --> 00:06:28,258 that, that first point is just where does the thing live is whether the, 130 00:06:28,318 --> 00:06:33,275 whether the file or the app, is the file living on my local device? 131 00:06:33,345 --> 00:06:34,665 Is it living in the cloud? 132 00:06:35,031 --> 00:06:36,101 how do I get to it? 133 00:06:36,131 --> 00:06:37,971 Do I have to have a network connection to get to it? 134 00:06:37,981 --> 00:06:40,562 Can I get to it, locally without a network connection? 135 00:06:40,822 --> 00:06:44,092 I think those are all wrapped into Kipano's thinking about 136 00:06:44,092 --> 00:06:45,502 the philosophy of File Over App. 137 00:06:45,728 --> 00:06:50,186 Yeah, I guess, Kipano and, and all of us are kind of, you know, thinking through 138 00:06:50,186 --> 00:06:51,716 this problem from different perspectives. 139 00:06:51,716 --> 00:06:54,076 I think he's making a pretty strong rhetorical point. 140 00:06:54,292 --> 00:06:58,394 I guess I, I prefer to look at this in terms of design goals and 141 00:06:58,484 --> 00:07:01,544 kind of the qualities of different materials that you can work with 142 00:07:01,544 --> 00:07:03,214 rather than what's good or what's bad. 143 00:07:03,375 --> 00:07:09,008 Though I am personally, I'm very drawn to capturing my notes in files myself. 144 00:07:09,008 --> 00:07:14,288 You know, I've got 10 years worth of notes, you know, in a folder that syncs, 145 00:07:14,388 --> 00:07:19,318 and I've used plenty of SaaS tools over the years, some of which have gone out 146 00:07:19,318 --> 00:07:21,688 of business and I've lost those thoughts. 147 00:07:21,698 --> 00:07:24,868 So when I think about, you know, why files, why, why is 148 00:07:24,908 --> 00:07:26,358 Kapano interested in files? 149 00:07:26,458 --> 00:07:29,928 you know, there's some areas that I resonate with and I, you know, 150 00:07:29,978 --> 00:07:35,496 I think files, to your point, they live in a place that you control. 151 00:07:35,875 --> 00:07:38,873 the file system is a sort of user on substrate. 152 00:07:39,473 --> 00:07:40,953 It's old. 153 00:07:41,013 --> 00:07:44,633 It was designed in, you know, the sixties and seventies and didn't 154 00:07:44,673 --> 00:07:48,093 anticipate a lot of the things that we ended up doing with networks. 155 00:07:48,103 --> 00:07:53,383 It has a lot of problems around security and conflicts and many 156 00:07:53,383 --> 00:07:54,773 other things that we can get into. 157 00:07:54,773 --> 00:07:56,583 But I guess the one thing it does do. 158 00:07:57,128 --> 00:08:00,628 That the web tends not to do and many apps tend not to do is it does 159 00:08:01,058 --> 00:08:03,218 leave you in control of that content. 160 00:08:03,518 --> 00:08:06,678 And that's kind of interesting because it means often you can 161 00:08:06,708 --> 00:08:10,168 open that data in multiple apps. 162 00:08:10,635 --> 00:08:11,980 no one can 163 00:08:11,980 --> 00:08:13,325 tell you no. 164 00:08:13,325 --> 00:08:16,385 That the opening in multiple apps was the other side of this thing that 165 00:08:16,905 --> 00:08:21,193 I think is like, not actually true. 166 00:08:21,568 --> 00:08:24,238 Except in a few very narrow cases, which are the ones that 167 00:08:24,238 --> 00:08:27,498 programmers live in, but that much of the rest of the world does not. 168 00:08:28,418 --> 00:08:32,138 Well, you know, much of the rest of the world doesn't live on desktop 169 00:08:32,188 --> 00:08:34,378 machines with file systems anymore. 170 00:08:34,438 --> 00:08:37,528 I think, again, it's just, it's not about it is or it isn't. 171 00:08:37,568 --> 00:08:39,988 It's about, there are different jobs that people are solving. 172 00:08:40,483 --> 00:08:42,993 I think, you know, there are actually a number of things 173 00:08:42,993 --> 00:08:44,383 that open up in multiple apps. 174 00:08:44,893 --> 00:08:46,693 They tend to have strong power laws. 175 00:08:46,693 --> 00:08:48,643 Like there's only a handful that end up. 176 00:08:49,038 --> 00:08:52,388 working out in this way, but I think that it's better when you have this 177 00:08:52,388 --> 00:08:56,873 sort of user owned substrate where those use cases can emerge, permissionlessly. 178 00:08:58,118 --> 00:08:59,198 Well, the thing is, 179 00:08:59,498 --> 00:09:03,868 like, I'm reflecting on like the file format wars of the nineties, right. 180 00:09:03,868 --> 00:09:08,068 And like the EU legislation to try and like force Microsoft to open, 181 00:09:08,538 --> 00:09:11,638 you know, the office suites file formats to other participants. 182 00:09:11,638 --> 00:09:14,825 And, you know, I don't think that was terribly successful, but, you 183 00:09:14,825 --> 00:09:18,445 know, that, that this is, um, just because you have the file doesn't mean 184 00:09:18,445 --> 00:09:20,255 that you really own it in a sense. 185 00:09:20,255 --> 00:09:23,295 Like there are certain properties of it that are quite desirable. 186 00:09:23,295 --> 00:09:26,365 And I think this longevity is, is really remarkable and a really 187 00:09:26,365 --> 00:09:31,005 excellent point to bring up, but yeah, there's a tension here between like, 188 00:09:31,015 --> 00:09:32,935 open file does not imply openness. 189 00:09:33,935 --> 00:09:36,105 Sure, though that can emerge retroactively. 190 00:09:36,155 --> 00:09:40,150 Like we saw that happen with PSD and with, you know, the doc format. 191 00:09:40,160 --> 00:09:42,230 Like PDFs were proprietary, right? 192 00:09:42,250 --> 00:09:43,680 Like they I was going to say PDFs 193 00:09:43,680 --> 00:09:44,150 the same way. 194 00:09:44,825 --> 00:09:48,205 So the thing that lets that emerge is that, that substrate 195 00:09:48,205 --> 00:09:48,965 that belongs to the user. 196 00:09:48,965 --> 00:09:52,062 If it was up to the app, if it was up to Photoshop, they would say, no, 197 00:09:52,145 --> 00:09:54,015 a competitor can't open up our file. 198 00:09:54,105 --> 00:09:55,492 but they don't get to make that choice. 199 00:09:55,492 --> 00:09:58,752 I can open it up and, you know, Affinity Designer or in. 200 00:09:59,182 --> 00:10:00,392 some sort of other app. 201 00:10:00,392 --> 00:10:03,582 And we saw the same thing happen around image formats, around 202 00:10:03,592 --> 00:10:05,992 video formats, around 3d formats. 203 00:10:06,192 --> 00:10:09,642 They tend to be things that are pretty low level and have like very broad 204 00:10:09,682 --> 00:10:12,942 expressive power so that there's a wide range of jobs to be done. 205 00:10:13,172 --> 00:10:15,572 That people want to, to do with them. 206 00:10:16,092 --> 00:10:18,142 I also think there's like a Lindy effect around these things. 207 00:10:18,142 --> 00:10:21,712 They consolidate around a few, like text, plain text has a lot of problems, 208 00:10:22,032 --> 00:10:26,002 but I fully expect it's going to be here in, you know, 10 years, 20 years, 209 00:10:26,042 --> 00:10:30,541 maybe even a hundred years, define it in whatever way you like, but I, 210 00:10:30,581 --> 00:10:34,441 I suspect whatever way you define it, it's going to last longer than, you 211 00:10:34,441 --> 00:10:37,018 know, the, the Notion API, like notion. 212 00:10:37,228 --> 00:10:37,448 com. 213 00:10:37,498 --> 00:10:37,854 Oh, certainly. 214 00:10:37,854 --> 00:10:38,408 Yeah, yeah. 215 00:10:39,048 --> 00:10:40,828 Yeah, I guess I'm just pointing out plain text. 216 00:10:40,828 --> 00:10:43,153 It's, I often think of it as a fixed point, but. 217 00:10:43,583 --> 00:10:46,419 You know, if you look back at, the history of plain text, right, we go 218 00:10:46,419 --> 00:10:50,259 from like ASCII encoding and having to, you know, I don't know if you 219 00:10:50,259 --> 00:10:53,079 were ever opened up like, fileid. 220 00:10:53,079 --> 00:10:57,129 diz from like Eastern European countries, which had different ASCII encodings than 221 00:10:57,129 --> 00:11:00,816 your, you know, Windows computer did, back in the like late eighties, early 222 00:11:00,816 --> 00:11:02,721 nineties, but you get these sort of, 223 00:11:02,881 --> 00:11:06,728 Yeah, plain text across Windows and Mac had, different file endings. 224 00:11:07,168 --> 00:11:07,798 That's right, yeah. 225 00:11:08,288 --> 00:11:10,538 You would hand a text file back and forth, and it would, you 226 00:11:10,538 --> 00:11:13,318 wouldn't have line breaks where you expected them to be, or you'd have 227 00:11:13,318 --> 00:11:14,455 additional line break characters. 228 00:11:14,478 --> 00:11:16,198 Control M symbols, yeah. 229 00:11:16,868 --> 00:11:20,228 no, that's, I thought, there was, there was a couple areas, like, 230 00:11:20,388 --> 00:11:23,285 I think, Gordon made the point that Kapano's making a really 231 00:11:23,285 --> 00:11:24,895 interesting rhetorical argument here. 232 00:11:25,162 --> 00:11:28,222 I love that he picks a fight here, and that he has a very, it's 233 00:11:28,222 --> 00:11:31,032 a really nice mantra, but he's definitely cheating a little bit. 234 00:11:31,352 --> 00:11:35,402 He cheats files as if they don't have an encoding, like, as if, like, 235 00:11:35,422 --> 00:11:39,752 plain text is some given thing, but plain text is an encoding. 236 00:11:40,022 --> 00:11:44,702 that we had to, like, as you come to adopt it widely enough that there are a 237 00:11:44,712 --> 00:11:47,828 large set of readers for that file format. 238 00:11:47,848 --> 00:11:51,248 And I think that when you get beyond, I think whether it's 239 00:11:51,288 --> 00:11:54,718 programmer usage or not, it's when you get beyond the document format. 240 00:11:54,788 --> 00:11:58,660 That's when things start to get, this argument is more 241 00:11:58,660 --> 00:12:01,046 difficult to, not as clear. 242 00:12:01,561 --> 00:12:06,321 because, you know, I, like canvases, for example, are everywhere now. 243 00:12:06,411 --> 00:12:12,231 And there's no single file format for exporting the contents of a canvas, 244 00:12:12,231 --> 00:12:17,427 whether it's Muse export or tldraw has the tldr file, all of these things, they're 245 00:12:17,427 --> 00:12:20,587 not compatible with one another, it feels like the early days of text files, 246 00:12:20,627 --> 00:12:24,637 like BDH was just mentioning, where you've got a bunch of different formats. 247 00:12:25,267 --> 00:12:28,497 And the weird part about saying file over app is that you still 248 00:12:28,497 --> 00:12:30,707 need a reader for the file. 249 00:12:30,882 --> 00:12:34,462 Like you have to have some code somewhere that reads that file. 250 00:12:34,572 --> 00:12:37,732 And so it saying files are better than apps or files or 251 00:12:37,792 --> 00:12:39,082 should be preferred over apps. 252 00:12:39,572 --> 00:12:42,462 It's like, well, a file without an app is literally useless. 253 00:12:42,502 --> 00:12:46,639 Like you have to have an app to, manipulate that file in some way. 254 00:12:46,889 --> 00:12:48,019 Can you define what you mean? 255 00:12:48,159 --> 00:12:50,829 Like the word app is, is carrying a lot of water here. 256 00:12:50,849 --> 00:12:53,139 Can you, can you unpack that word a bit? 257 00:12:53,579 --> 00:12:54,019 Sure. 258 00:12:54,049 --> 00:12:58,119 I think when I simplify file over app, I think what he's saying is data over logic. 259 00:12:58,119 --> 00:12:58,169 Okay. 260 00:12:59,269 --> 00:13:05,309 In other words, the, the data or data over behavior, the data stored at rest in some 261 00:13:05,309 --> 00:13:09,552 way that you can carry it into the future, own it, copy it from device to device, 262 00:13:09,572 --> 00:13:11,682 that's his idea for files, I believe. 263 00:13:11,930 --> 00:13:18,235 and he's making that, I think he's making, And then for app, he's saying, 264 00:13:18,255 --> 00:13:24,002 he's basically, I feel like collapsing, apps into databases, basically, of 265 00:13:24,002 --> 00:13:25,612 like databases that you don't own. 266 00:13:25,861 --> 00:13:29,335 you can't take your individual records from that database and, 267 00:13:29,395 --> 00:13:30,655 and do something with them. 268 00:13:30,655 --> 00:13:32,849 They're stored in this, mash of things. 269 00:13:33,162 --> 00:13:36,769 at least that's why I understood it is like data over the application logic. 270 00:13:36,952 --> 00:13:39,712 The term we use at Ink & Switch is tools, not apps. 271 00:13:39,777 --> 00:13:41,337 Can you expand on that a little bit? 272 00:13:41,996 --> 00:13:47,476 the concept is that an app in its sort of cultural construction, though 273 00:13:47,476 --> 00:13:51,476 not necessarily in its technical requirements, generally implies that, 274 00:13:51,946 --> 00:13:53,756 you know, it holds the data inside it. 275 00:13:53,766 --> 00:13:57,746 I think mobile apps and web apps both have different kind of habits here, right? 276 00:13:57,756 --> 00:14:01,431 Like, For the most part, a mobile app is a hermetically sealed box. 277 00:14:01,531 --> 00:14:02,911 Nothing gets in or out of it. 278 00:14:03,217 --> 00:14:06,571 You can't open your Apple Notes in Dropbox or, you know, Notepad 279 00:14:06,571 --> 00:14:08,321 or, you know, anything else. 280 00:14:08,564 --> 00:14:12,184 That's not necessarily true, but it is practically, culturally the case. 281 00:14:12,641 --> 00:14:16,641 And so the idea is that tools operate on some kind of material, right? 282 00:14:16,641 --> 00:14:18,891 And so Obsidian has strong tool culture. 283 00:14:19,491 --> 00:14:19,691 Right? 284 00:14:19,691 --> 00:14:22,791 Like one of the interesting things with Obsidian and reflecting on 285 00:14:22,791 --> 00:14:26,971 Gordon's comments is just that like Markdown and like plain, Obsidian 286 00:14:26,971 --> 00:14:28,291 doesn't operate on plain text. 287 00:14:28,291 --> 00:14:31,021 It operates on Markdown, but there's no such thing as Markdown. 288 00:14:31,031 --> 00:14:35,341 There's like as many Markdowns as there are apps that use some grammar 289 00:14:35,341 --> 00:14:38,381 of Markdown, but you get like a certain amount of interoperability 290 00:14:39,901 --> 00:14:42,881 because it's like these really nice, graceful degradation patterns. 291 00:14:43,371 --> 00:14:43,671 Yeah. 292 00:14:43,671 --> 00:14:45,111 Markdown is like an escalator. 293 00:14:45,111 --> 00:14:45,861 It can't break. 294 00:14:45,861 --> 00:14:47,371 It can only become text. 295 00:14:47,831 --> 00:14:48,191 Right. 296 00:14:48,941 --> 00:14:53,231 So like, it's kind of an inspired choice from that perspective, but I think your, 297 00:14:53,261 --> 00:14:59,342 your point is well taken like these formats, they tend to layer and it sort 298 00:14:59,342 --> 00:15:02,892 of necessarily like interoperability is an ecological condition. 299 00:15:02,912 --> 00:15:04,362 It's something that emerges over time. 300 00:15:04,402 --> 00:15:05,357 You don't design it. 301 00:15:05,627 --> 00:15:08,623 This is often, this, this is actually why for me, sort of permissionless 302 00:15:08,623 --> 00:15:12,943 substrates, substrates that belong to the user where their data saved 303 00:15:12,943 --> 00:15:17,224 seems important because it allows interoperability to emerge retroactively. 304 00:15:18,053 --> 00:15:23,493 But in any case, like these things, they tend to emerge over time where, 305 00:15:23,493 --> 00:15:27,863 you know, one person creates a format, another kind of app implements it. 306 00:15:28,277 --> 00:15:32,147 it doesn't happen often, but when it does happen, it tends to be very valuable. 307 00:15:32,537 --> 00:15:34,117 It's often oppositional though, isn't it? 308 00:15:34,417 --> 00:15:37,207 It's often oppositional and often happens in layers. 309 00:15:37,227 --> 00:15:41,960 Like I think that, you know, text is on top of, you know, bytes and 310 00:15:41,960 --> 00:15:43,920 then markdown is on top of text. 311 00:15:43,965 --> 00:15:47,660 And then we have like Obsidian layering their own sort of like bespoke 312 00:15:47,960 --> 00:15:49,750 markup forms on top of markdown. 313 00:15:50,470 --> 00:15:54,627 And, and these layers tend to move at different speeds with the lowest layers 314 00:15:54,657 --> 00:15:56,507 kind of necessarily moving slower. 315 00:15:56,677 --> 00:15:59,757 Like the part of the problem that's standardized and that people can 316 00:15:59,757 --> 00:16:03,567 interoperate around is necessarily the part that has to move slowly. 317 00:16:03,774 --> 00:16:05,654 Well markdown's not standardized, right? 318 00:16:05,714 --> 00:16:08,829 Like it's that's an emergent Like cultural phenomenon. 319 00:16:09,089 --> 00:16:10,389 It's de facto, right? 320 00:16:10,389 --> 00:16:14,239 Like there's sort of flavors that people converge on, like GitHub flavored. 321 00:16:14,249 --> 00:16:17,039 And you know, like all, all standards are sort of cultural 322 00:16:17,039 --> 00:16:18,149 constructions at some level. 323 00:16:18,449 --> 00:16:19,099 Yeah, you're right. 324 00:16:19,099 --> 00:16:22,309 It's, it's not like standardized in like the W3C or IETF sense. 325 00:16:22,559 --> 00:16:24,439 Or even in the Unix POSIX sense, right? 326 00:16:24,469 --> 00:16:25,814 Like files are. 327 00:16:25,894 --> 00:16:28,374 You know, these kinds of bytes and these kinds of orders, and 328 00:16:28,374 --> 00:16:29,604 this is how you end a file. 329 00:16:30,138 --> 00:16:32,768 But there, there are a couple of emerging standards, right? 330 00:16:32,768 --> 00:16:35,508 We're at the, we're at the situation where there's multiple plain 331 00:16:35,508 --> 00:16:37,058 text formats of Markdown, right? 332 00:16:37,058 --> 00:16:40,748 There's Common Mark and different parsers that you can adopt that give you. 333 00:16:41,019 --> 00:16:44,979 true, guarantees around the way that markdowns, but there's as 334 00:16:44,979 --> 00:16:46,849 you said, there's no one Yeah, 335 00:16:46,868 --> 00:16:50,139 this this actually seems important to me Like I think a lot of people think 336 00:16:50,139 --> 00:16:53,979 about standards and interoperability as these sort of platonic forms that we 337 00:16:53,979 --> 00:16:57,879 design in standards bodies And you know, while that's true that there are people 338 00:16:57,879 --> 00:17:02,719 who craft that kind of material it's like Typically done in retrospect and 339 00:17:02,729 --> 00:17:07,409 in real life cooperation usually happens in the sort of ad hoc or de facto way. 340 00:17:07,509 --> 00:17:12,184 And when our systems aren't designed to support that, it's not a huge surprise 341 00:17:12,224 --> 00:17:14,784 that, you know, interoperability doesn't emerge and then we can sort of 342 00:17:14,784 --> 00:17:17,804 point and say, well, nobody wants to interoperate and it's like, well, yeah. 343 00:17:17,804 --> 00:17:19,104 Cause the material doesn't support it. 344 00:17:19,134 --> 00:17:21,854 Like, like there's a kind of chicken or the egg problem here. 345 00:17:21,854 --> 00:17:22,184 Right. 346 00:17:22,424 --> 00:17:25,434 I think both in your work and Jess's work and our work, right? 347 00:17:26,294 --> 00:17:27,444 We're all exploring. 348 00:17:28,079 --> 00:17:32,909 Different ways of exposing the substrate in more interoperable ways. 349 00:17:33,259 --> 00:17:33,559 Yeah. 350 00:17:33,629 --> 00:17:39,449 And it's not so much like locking the door open as like, right now, I think 351 00:17:39,536 --> 00:17:43,636 like the political economy of choosing files over these other things, right? 352 00:17:43,636 --> 00:17:48,302 Like if it's so much harder and worse for you as a developer to choose, Like a 353 00:17:48,302 --> 00:17:51,362 file like thing over an API like thing. 354 00:17:52,082 --> 00:17:53,832 You're probably going to pick the API like thing. 355 00:17:54,552 --> 00:17:54,922 Indeed. 356 00:17:54,932 --> 00:17:58,392 Some of this is like technical capability and some of it is cultural norms. 357 00:17:58,852 --> 00:17:59,282 Yeah. 358 00:17:59,537 --> 00:18:01,317 Like files are just the thing that's there. 359 00:18:01,347 --> 00:18:02,957 And they're actually in many ways, an odd. 360 00:18:03,277 --> 00:18:07,097 odd shaped thing for the problems we're trying to solve, but they're 361 00:18:07,097 --> 00:18:13,647 just, uh, at least in the app store and on the web, there aren't really 362 00:18:13,917 --> 00:18:15,507 good, viable alternatives yet. 363 00:18:15,517 --> 00:18:20,067 Like in the browser, we're starting to get things like the file API and I, you know, 364 00:18:20,067 --> 00:18:24,157 on, on iOS, we're starting to get like a little bit of a sort of file system. 365 00:18:25,797 --> 00:18:28,087 So it was very charming when Apple excitedly announced 366 00:18:28,087 --> 00:18:29,047 files like they'd invested in. 367 00:18:29,087 --> 00:18:30,417 Yeah, totally. 368 00:18:30,707 --> 00:18:30,967 Right. 369 00:18:30,967 --> 00:18:34,357 But I, I, it's actually kind of telling that like, why, why is 370 00:18:34,357 --> 00:18:36,407 it actually that we want this? 371 00:18:36,417 --> 00:18:38,647 It seems like a lot of knowledge work that 372 00:18:41,197 --> 00:18:44,257 needs to cross boundaries of multiple apps. 373 00:18:44,382 --> 00:18:47,522 and this is just the only tool we currently have to do it. 374 00:18:47,652 --> 00:18:49,862 Mostly because there haven't, I think, haven't been good 375 00:18:49,862 --> 00:18:51,602 commercial incentives to build. 376 00:18:51,603 --> 00:18:51,622 Right. 377 00:18:52,142 --> 00:18:56,812 Interoperability layers that, that makes sense on the network, at least not 378 00:18:56,812 --> 00:18:57,172 yet. 379 00:18:57,452 --> 00:18:59,242 Well, you still need a data container, right? 380 00:18:59,242 --> 00:19:02,242 Like it's one of the nice things that files make is like this, you know, 381 00:19:02,407 --> 00:19:07,097 relatively, this thing that has boundaries that contains a certain amount of data 382 00:19:07,137 --> 00:19:11,899 that you can then pass around via a whole bunch of different, units of 383 00:19:11,899 --> 00:19:12,339 sharing. 384 00:19:12,819 --> 00:19:13,979 Yeah, exactly. 385 00:19:14,129 --> 00:19:15,419 So I, I'm actually curious. 386 00:19:15,429 --> 00:19:19,902 So for people who are listening, who don't know, Peter's work, he's working 387 00:19:20,152 --> 00:19:24,736 on a, CRDT, which is, basically a data structure you can think of it's called 388 00:19:24,736 --> 00:19:31,034 Automerge and Automerge actually calls their, unit of, merging a document. 389 00:19:31,264 --> 00:19:31,684 So. 390 00:19:32,239 --> 00:19:37,339 Peter, do you guys think of documents, Automerge documents, as files in this 391 00:19:37,339 --> 00:19:40,349 file like way we've been describing, or do you think of them in a different way? 392 00:19:41,499 --> 00:19:45,489 The specific stated intention of Automerge is to invent the 393 00:19:45,489 --> 00:19:48,179 new file system of computing. 394 00:19:48,429 --> 00:19:51,319 Like, the CRDT thing is just like an implementation detail. 395 00:19:51,539 --> 00:19:54,954 The problem is, We don't want places and we don't want things. 396 00:19:54,954 --> 00:19:56,864 We need properties of both, right? 397 00:19:56,864 --> 00:19:58,344 There's a wave particle duality here. 398 00:19:58,344 --> 00:20:01,824 We don't want to give us the good things about files, things that we have, 399 00:20:02,144 --> 00:20:05,554 things that we can hold, things we can maintain, things we can keep for as long 400 00:20:05,554 --> 00:20:09,064 as we want that we can use in whatever way that we want, we can pop open the 401 00:20:09,064 --> 00:20:10,764 hood and peer under the covers, right? 402 00:20:10,764 --> 00:20:18,652 Like all that stuff is, is I think vital, but like, it's so apparent that the POSIX 403 00:20:18,879 --> 00:20:21,859 metaphor of the 19th, literally 1970s. 404 00:20:22,364 --> 00:20:22,604 Right. 405 00:20:22,604 --> 00:20:25,964 The series of bytes, it assumes single access, right? 406 00:20:25,964 --> 00:20:28,574 Like, God, the amount of my career I've spent trying to figure 407 00:20:28,574 --> 00:20:29,794 out how to lock a file system. 408 00:20:31,994 --> 00:20:36,044 There's so many, so many tricks that, that we use in like professional 409 00:20:36,064 --> 00:20:37,814 contexts to cope with shared 410 00:20:37,864 --> 00:20:39,874 mutable state, shared mutable state. 411 00:20:39,904 --> 00:20:43,034 And the whole idea behind Automerge was to say like, look, what if you could. 412 00:20:43,329 --> 00:20:47,649 Really think about this, really take your time, really sweat all the details, not 413 00:20:47,649 --> 00:20:52,019 be in the rush that a startup's in, not, you know, spend years with Martin Klepman 414 00:20:52,079 --> 00:20:56,219 proving the algorithm correctly, then spend years with, you know, Orion and 415 00:20:56,219 --> 00:20:57,799 Alex Good getting the performance right. 416 00:20:57,799 --> 00:21:00,639 And people are like, Oh, Automerge is this, Automerge is that, Automerge 417 00:21:00,639 --> 00:21:02,249 is just getting started, right? 418 00:21:02,259 --> 00:21:04,659 Like this is a, this is a 10 year project. 419 00:21:04,659 --> 00:21:05,809 It's a 50 year project. 420 00:21:05,819 --> 00:21:08,839 It's, it's a thing that you just keep working on until it works. 421 00:21:09,369 --> 00:21:11,659 And I think at this point a lot of the pieces are in place and we're 422 00:21:11,659 --> 00:21:14,879 starting to see that pay out and if anybody's following Ink and Switch's 423 00:21:14,929 --> 00:21:19,029 patchwork project right now, right, like what we're seeing is like this 424 00:21:19,309 --> 00:21:25,819 ability to do ad hoc, like new forms of real time and asynchronous version 425 00:21:25,819 --> 00:21:30,274 control on top of this substrate because it has the right primitives. 426 00:21:30,934 --> 00:21:34,084 And of course, this is a research project, so in the process of working on this we're 427 00:21:34,454 --> 00:21:38,424 discovering the ways that the APIs are insufficient or where we need to add new 428 00:21:38,424 --> 00:21:42,054 kinds of indexing to improve performance or, you know, all those other kinds of 429 00:21:42,054 --> 00:21:46,290 things, but it's sort of like we, We've talked to so many people, you know, I 430 00:21:46,290 --> 00:21:49,337 was talking to, someone over at Scratch the other day and they were saying like, 431 00:21:49,337 --> 00:21:53,367 oh, I did this in my thesis, but like, it wasn't actually possible to build 432 00:21:53,387 --> 00:21:54,597 because we didn't have the material. 433 00:21:54,857 --> 00:21:55,177 Right. 434 00:21:55,177 --> 00:21:58,117 And like a former collaborator, Blaine Cook, who was a coauthor on 435 00:21:58,117 --> 00:22:01,417 the Upwelling paper we did last year, you know, he was saying like, it's so 436 00:22:01,417 --> 00:22:02,727 amazing getting to work on this stuff. 437 00:22:02,727 --> 00:22:04,827 He did a startup five years ago or something. 438 00:22:05,062 --> 00:22:07,502 Where you tried to build, you know, text editing tools, but like 439 00:22:07,782 --> 00:22:09,282 they didn't have the material. 440 00:22:09,552 --> 00:22:12,532 And so it's about trying to figure out what the shape of that material is. 441 00:22:12,852 --> 00:22:17,342 And you know, I, I hadn't brought it up before because I don't want this to 442 00:22:17,342 --> 00:22:21,832 be about a particular like concept that I have or that we have about a single 443 00:22:21,832 --> 00:22:25,182 technology, but it's about like really thinking about what the opportunities 444 00:22:25,262 --> 00:22:28,632 are and the potential, but I think a lot about this question, right? 445 00:22:28,632 --> 00:22:34,092 Like I don't want my computer to be a mall where I go in and I take 446 00:22:34,092 --> 00:22:38,242 products out one at a time, you know, and bring them home and consume 447 00:22:38,242 --> 00:22:39,432 them and put them in the trash. 448 00:22:39,782 --> 00:22:44,342 I want my computer to feel like a wood shop where I have my stock of lumber and 449 00:22:44,342 --> 00:22:47,552 I've got my tools and if I want to make something, sure it's going to require a 450 00:22:47,552 --> 00:22:51,502 little more thinking and expertise, but I can make anything, I can do anything, 451 00:22:51,512 --> 00:22:53,512 I can work with other people, right? 452 00:22:53,542 --> 00:22:56,202 Like it's, it's a different kind of productivity. 453 00:22:56,657 --> 00:22:58,737 Like a kitchen is very much the same thing as well, right? 454 00:22:58,737 --> 00:23:02,907 We buy groceries, we buy staples, you know, and a handful of like basic 455 00:23:02,907 --> 00:23:07,507 tools, cutting board, a heat source, a knife, you can do almost anything in 456 00:23:07,507 --> 00:23:09,027 the kitchen with a few extra things. 457 00:23:09,267 --> 00:23:10,927 You can do remarkable things. 458 00:23:10,927 --> 00:23:11,137 Right. 459 00:23:11,137 --> 00:23:15,497 And like, you know, we, we reject the idea of unit task devices. 460 00:23:15,497 --> 00:23:18,577 Often we make fun of people who buy the one off gadgets for the 461 00:23:18,577 --> 00:23:23,217 kitchen, but then we live in a world of these one off gadgets on our 462 00:23:23,227 --> 00:23:25,007 devices, you know, on our computers. 463 00:23:25,737 --> 00:23:29,087 I'm trying to think like, if, if we're gonna invent tools, we also need to 464 00:23:29,087 --> 00:23:31,127 figure out what the stock material is. 465 00:23:31,513 --> 00:23:32,023 And like Yeah. 466 00:23:32,177 --> 00:23:35,877 Text files are cool 'cause they're old and, and like what's old is good. 467 00:23:36,687 --> 00:23:38,157 Like I don't mean that in a dismissive way. 468 00:23:38,157 --> 00:23:40,437 Like it, it is cool because, and it stood the test of time. 469 00:23:40,557 --> 00:23:40,887 Exactly. 470 00:23:40,887 --> 00:23:42,537 It's, and it will stand the test of time. 471 00:23:42,537 --> 00:23:45,057 It'll still be here in 50 years if it was here in 50 years. 472 00:23:45,087 --> 00:23:47,667 For 50 years SQLite is amazing too. 473 00:23:47,667 --> 00:23:49,647 Simon Wilson's super inspiring. 474 00:23:49,647 --> 00:23:52,101 They're working on, Like data set and these kinds of ideas where 475 00:23:52,101 --> 00:23:55,571 it's like, yeah, like a database is a file like that's awesome. 476 00:23:56,331 --> 00:23:56,571 Yeah 477 00:23:57,201 --> 00:24:03,531 It's more or less written by actual monks as well It's it really does feel 478 00:24:03,531 --> 00:24:05,608 like a kind of cathedral of technology. 479 00:24:05,701 --> 00:24:08,801 That'll be here in a thousand years Yeah, 480 00:24:10,561 --> 00:24:16,141 I think that's, I love that woodshop metaphor and it's often one that I 481 00:24:16,161 --> 00:24:20,418 think about, it, it's so evocative because if you've worked in a woodshop 482 00:24:20,841 --> 00:24:24,718 and you understand all the things that you're, the, the ways that 483 00:24:24,718 --> 00:24:27,908 you're able to modify your shop and your tools in order to get work done. 484 00:24:28,208 --> 00:24:31,848 And then you just put that same lens and look at your computer. 485 00:24:32,118 --> 00:24:36,783 You realize how incredibly rigid, the computer is, even when you're a software 486 00:24:36,885 --> 00:24:41,700 developer who has, an ideological commitment to using open source 487 00:24:41,700 --> 00:24:45,700 software, where you have the source of every single application that you use. 488 00:24:46,120 --> 00:24:50,200 The difficulty in modifying those applications to your own 489 00:24:50,200 --> 00:24:54,250 custom specifications is, is astronomical compared to working 490 00:24:54,440 --> 00:24:55,620 models and metaphors. 491 00:24:56,025 --> 00:24:56,155 Mm 492 00:24:56,215 --> 00:24:56,225 hmm. 493 00:24:56,985 --> 00:24:58,405 Yeah, the new materials you're talking about. 494 00:24:58,945 --> 00:24:59,325 It's great. 495 00:24:59,335 --> 00:25:01,875 I was reading, uh, Brian Kernighan's biography. 496 00:25:02,167 --> 00:25:05,984 it looks like the C programming language, but it's his, his self published thing. 497 00:25:06,274 --> 00:25:07,844 Unix, a history and a memoir. 498 00:25:08,394 --> 00:25:10,454 And, um, it's a funny book. 499 00:25:10,724 --> 00:25:13,994 But there's some really great parts in it where he talks about sort of like the 500 00:25:13,994 --> 00:25:18,304 invention of Unix pipelines and how it was sort of like somebody would ask how you 501 00:25:18,304 --> 00:25:22,224 could do X with a computer, you know, or with this new pipes thing they'd built. 502 00:25:22,604 --> 00:25:26,034 And then, you know, him or Richie or somebody would go off and, like, 503 00:25:26,354 --> 00:25:29,784 write the next little piece, you know, sort or whatever, so that 504 00:25:29,784 --> 00:25:31,474 they could answer that puzzle. 505 00:25:31,474 --> 00:25:34,164 And I just love this sort of, like, they discovered the Lego bricks, they 506 00:25:34,614 --> 00:25:37,344 you know, they built the shape and then they just filled in a few pieces and 507 00:25:37,344 --> 00:25:40,654 then after a little while it was kind of like, yeah, all the major pieces 508 00:25:40,654 --> 00:25:43,204 are there and that was good enough and they stuck you know, it's still 509 00:25:43,204 --> 00:25:44,324 out there and you can still use it. 510 00:25:44,704 --> 00:25:47,194 But it's not really the best way to do spellcheck anymore, you know? 511 00:25:48,669 --> 00:25:50,139 Such a glorious vision though. 512 00:25:50,369 --> 00:25:54,349 You know, I guess for me, like files are not the thing, but what they are, 513 00:25:54,359 --> 00:25:59,899 at least for particular formats is like a kind of Lego dot and producing Lego 514 00:25:59,918 --> 00:26:03,739 dots like this that allow you to compose things together, like Unix pipe is 515 00:26:03,739 --> 00:26:08,709 another kind of Lego dot this strikes me as important in like a laws of physics. 516 00:26:08,709 --> 00:26:09,179 Kind of way. 517 00:26:09,259 --> 00:26:10,540 Like, one of my favorite books,W. 518 00:26:10,540 --> 00:26:13,807 Brian Arthur's the nature of technology. 519 00:26:14,103 --> 00:26:17,143 I always get it confused with Kevin Kelly's book, but the, the nature of 520 00:26:17,143 --> 00:26:21,823 technology, he basically makes this, this very sort of, mathematically grounded 521 00:26:21,823 --> 00:26:26,443 argument that innovation at its core is a combinatorial process and not just 522 00:26:26,443 --> 00:26:31,713 like technological innovation, but, you know, evolution, language, art, like 523 00:26:31,713 --> 00:26:36,378 these are about taking pieces, composing them together to produce something 524 00:26:36,398 --> 00:26:38,678 new in a sort of recursive process. 525 00:26:39,588 --> 00:26:43,008 And like early computing was all kind of like, I don't know if this was 526 00:26:43,008 --> 00:26:47,898 intuitive or chance or what, but all of these early pioneers of computing 527 00:26:47,898 --> 00:26:49,308 designed their systems in this way. 528 00:26:49,328 --> 00:26:53,408 And we saw this kind of Cambrian explosion of really interesting 529 00:26:53,408 --> 00:26:55,098 new things emerge very rapidly. 530 00:26:55,568 --> 00:27:01,470 Like actually we've had mobile phones, for Longer than it took the browser to be 531 00:27:01,470 --> 00:27:03,850 invented after the introduction of DOS. 532 00:27:03,930 --> 00:27:06,880 So it's just like, like a lot happened in like a very short 533 00:27:06,880 --> 00:27:08,500 amount of time in that first wave. 534 00:27:08,500 --> 00:27:08,770 Right. 535 00:27:08,770 --> 00:27:12,570 And that's part of me kind of wonders that if, We sort of reduced the 536 00:27:12,570 --> 00:27:16,500 combinatoriality of technology to actually slow the rate of innovation. 537 00:27:16,703 --> 00:27:20,343 not necessarily like there's someone scheming in a room, but sort of the 538 00:27:20,343 --> 00:27:22,023 purpose of the system is what it does. 539 00:27:22,023 --> 00:27:26,383 And like, like big money, but also kind of governments and people. 540 00:27:26,383 --> 00:27:27,623 It's eternal September, right? 541 00:27:28,023 --> 00:27:28,493 Yeah. 542 00:27:28,493 --> 00:27:29,468 It's like 543 00:27:29,468 --> 00:27:30,213 if 544 00:27:30,393 --> 00:27:34,893 you have a bunch of silos and those silos do one thing, like on Instagram, 545 00:27:34,933 --> 00:27:39,423 you post photos and on TikTok, you post short videos and on, like you, There is 546 00:27:39,423 --> 00:27:44,043 no such thing as combining those into some new medium because they don't let you. 547 00:27:44,133 --> 00:27:47,733 And so you kind of have these known quantities that you can regulate 548 00:27:47,773 --> 00:27:51,873 and control and also extract 30 percent taxes on pretty efficiently. 549 00:27:52,383 --> 00:27:55,853 So there's this kind of like striation that's happened of the space. 550 00:27:56,558 --> 00:28:00,688 Some of this is probably inevitable, but I do kind of want to click the dial a couple 551 00:28:00,688 --> 00:28:02,948 notches in the other direction, just by 552 00:28:02,958 --> 00:28:03,248 nature. 553 00:28:03,518 --> 00:28:07,678 I kind of think this is, the way you describe that is, to me, a lost cause. 554 00:28:08,298 --> 00:28:11,298 Or maybe lost cause isn't actually the right term for it. 555 00:28:11,658 --> 00:28:15,494 What I mean is that, actually, a television is great if you 556 00:28:15,494 --> 00:28:16,904 want to watch Love is Blind. 557 00:28:17,321 --> 00:28:20,309 Is everything necessarily a television? 558 00:28:20,309 --> 00:28:20,536 No. 559 00:28:20,597 --> 00:28:22,561 Well, this is, this is the point. 560 00:28:22,841 --> 00:28:24,361 And so what I think though is like, 561 00:28:25,251 --> 00:28:28,471 I don't think we should be trying to convince the mainstream systems 562 00:28:28,471 --> 00:28:30,821 to change their minds or solve the problems we want to solve. 563 00:28:31,061 --> 00:28:35,441 It's that we need to, you know, like a woodshop is not the right way to build 564 00:28:35,441 --> 00:28:38,228 an IKEA, you know, assembly line, right? 565 00:28:38,238 --> 00:28:41,518 Like, but we need the existence of this other kind of computing. 566 00:28:41,888 --> 00:28:43,238 It is, it is not. 567 00:28:43,558 --> 00:28:47,218 a replacement for, it is an alternative to, for the people 568 00:28:47,218 --> 00:28:48,288 who want it and need it. 569 00:28:48,718 --> 00:28:49,748 Yeah, we don't disagree. 570 00:28:49,768 --> 00:28:52,898 Like there's always going to be Facebook, and there's always going to be like the 571 00:28:52,898 --> 00:28:57,018 Big Bang Theory or whatever, but I would love for there also be like a world where 572 00:28:57,468 --> 00:29:01,898 like there can be, you know, I don't know, independent films or hell, like, 573 00:29:01,898 --> 00:29:05,931 uh, Dune II is like something that's, kind of in the air and kind of strikes, that 574 00:29:05,931 --> 00:29:07,941 balance in a nice and interesting way. 575 00:29:07,977 --> 00:29:10,810 It just feels like Like what we want is diversity. 576 00:29:10,973 --> 00:29:14,203 We want like a technological ecosystem that can actually support 577 00:29:14,243 --> 00:29:18,453 a plurality of, of different ends and not just like Walmart. 578 00:29:19,023 --> 00:29:19,253 Yeah. 579 00:29:19,253 --> 00:29:21,623 And well, and the political economy is the challenge here, right? 580 00:29:21,623 --> 00:29:25,819 Which is that right now it costs so goddamn much to write a piece of software. 581 00:29:26,063 --> 00:29:29,793 It's like completely untenable to build or operate software at all. 582 00:29:29,833 --> 00:29:33,233 And I say this as somebody who has done quite a lot of it at all 583 00:29:33,243 --> 00:29:34,783 scales, you know, in production. 584 00:29:35,483 --> 00:29:37,038 It is just insane. 585 00:29:37,048 --> 00:29:39,768 We think of software as an informational good, right? 586 00:29:39,768 --> 00:29:42,248 Like that's sort of the like conceptual model. 587 00:29:42,278 --> 00:29:45,788 Oh, it's just some bits on, you know, floating around, but it's not, it's 588 00:29:45,788 --> 00:29:50,888 like a whole, like massive amount of extremely expensive infrastructure that's 589 00:29:50,888 --> 00:29:56,178 operated by a, you know, a priesthood of like DevOps people who sacrifice 590 00:29:56,178 --> 00:29:59,228 themselves to get up at three in the morning to figure out why the transaction 591 00:29:59,248 --> 00:30:02,908 wraparound on the Postgres has happened again, you know, like it's hell. 592 00:30:03,219 --> 00:30:03,979 It's crazy. 593 00:30:04,419 --> 00:30:04,739 Yeah. 594 00:30:04,879 --> 00:30:08,333 The strange economics of, software, I guess, support that 595 00:30:08,343 --> 00:30:10,123 kind of, like, rising floor. 596 00:30:10,183 --> 00:30:13,383 Because if you do have a hit, it tends to make a ton of money and 597 00:30:13,383 --> 00:30:14,973 then all of that's a rounding error. 598 00:30:15,503 --> 00:30:15,713 Yeah. 599 00:30:15,713 --> 00:30:15,993 It's the 600 00:30:15,993 --> 00:30:16,313 network 601 00:30:16,313 --> 00:30:16,693 effects. 602 00:30:16,713 --> 00:30:19,623 The complexity of software is determined by the economic value that 603 00:30:19,623 --> 00:30:21,093 can be extracted from the software. 604 00:30:21,593 --> 00:30:21,873 Yeah. 605 00:30:22,133 --> 00:30:22,423 Yeah. 606 00:30:22,706 --> 00:30:24,886 And that, that sort of sets the floor as well. 607 00:30:24,886 --> 00:30:25,176 Right? 608 00:30:25,206 --> 00:30:29,476 Like if you're, if you're making not thousands, but billions on a success, 609 00:30:29,486 --> 00:30:31,074 then you can afford, you know, 610 00:30:31,266 --> 00:30:31,446 Yeah. 611 00:30:31,476 --> 00:30:35,678 To burn out a bunch of, software engineers and, you know, leave them 612 00:30:35,688 --> 00:30:40,782 staggering around, their hometown, gazing bleary eyed into the morning light and 613 00:30:40,782 --> 00:30:42,182 wondering where their life went wrong. 614 00:30:42,398 --> 00:30:46,408 At the same time, like these economic incentives, they create individual 615 00:30:46,408 --> 00:30:48,833 choices for like, individual developers. 616 00:30:48,883 --> 00:30:53,213 And I think that's, I think that's where a lot of the slowdown has happened is 617 00:30:53,693 --> 00:30:58,795 when you, there aren't, there weren't options if you were into computers in 618 00:30:58,795 --> 00:31:04,085 the sixties to go make whatever the sixties equivalent of 450, 000 a year. 619 00:31:04,299 --> 00:31:06,489 and kind of at a cushy job where they. 620 00:31:06,794 --> 00:31:09,324 You know, bring food to your table and you can get up and take 621 00:31:09,324 --> 00:31:10,644 foosball breaks whenever you want. 622 00:31:10,964 --> 00:31:16,204 like the, the cruise ship mentality, I think, lures a lot of people away. 623 00:31:16,437 --> 00:31:21,387 and I think it's really hard to kind of wake them up to the fact that 624 00:31:21,407 --> 00:31:22,977 software doesn't have to be this way. 625 00:31:22,977 --> 00:31:24,217 We might have to do a little work. 626 00:31:24,807 --> 00:31:27,037 We might have to be a little uncomfortable for a little while. 627 00:31:28,357 --> 00:31:28,997 You got 628 00:31:28,997 --> 00:31:29,797 to make the right thing. 629 00:31:29,797 --> 00:31:30,417 The easy thing. 630 00:31:30,417 --> 00:31:31,997 That was the lesson we learned at Heroku. 631 00:31:32,307 --> 00:31:34,307 If you make the right thing, the easy thing, people will do it. 632 00:31:34,832 --> 00:31:39,822 All the, you know, all of the principles and ideals, like, yeah, there's a 633 00:31:39,822 --> 00:31:43,232 certain amount of cultural affinity and there'll always be some, like, weirdos 634 00:31:43,232 --> 00:31:45,922 and early adopters, but ultimately if you want to win the day, you have to 635 00:31:45,922 --> 00:31:47,162 make the right thing the easy thing. 636 00:31:47,717 --> 00:31:51,277 But you need some people doing that, making the right thing, the easy thing. 637 00:31:51,287 --> 00:31:54,847 And I think that's what I'm talking about is like, I want to find that 2 percent 638 00:31:55,347 --> 00:31:58,807 or 3 percent of the developer population who actually wants to do the work and 639 00:31:58,807 --> 00:31:59,997 make the right thing, the easy thing. 640 00:32:00,130 --> 00:32:02,440 and that, and for that, you need to talk to people. 641 00:32:02,670 --> 00:32:05,914 You know, you need to have, these wonderful mantras that, Kepano and 642 00:32:05,914 --> 00:32:10,381 that, um, Peter and, Gordon, you guys have honed over the years. 643 00:32:10,633 --> 00:32:14,123 actually, Gordon, I, to turn the conversation a bit to your work, 644 00:32:14,143 --> 00:32:19,300 because you are working on a, network tool, network thinking tool that 645 00:32:19,300 --> 00:32:24,793 captures those thoughts in documents, files, one might say, and, You 646 00:32:24,803 --> 00:32:26,563 have not chosen to use Markdown. 647 00:32:27,153 --> 00:32:30,383 You've chosen, you've made some interesting technical choices. 648 00:32:30,403 --> 00:32:34,713 So I'm curious how, when you, when you look at file over app, are you like, 649 00:32:34,723 --> 00:32:39,833 yes, that, that aligns with my, The decisions that I'm making right now 650 00:32:39,863 --> 00:32:43,513 for the tool that I'm building, or how are your thoughts different from kind 651 00:32:43,513 --> 00:32:45,043 of what you've seen Kapano lay out? 652 00:32:45,273 --> 00:32:46,653 Yeah, that's a good question. 653 00:32:46,696 --> 00:32:50,906 I guess what we are building is a sort of notebook app called Subconscious 654 00:32:50,946 --> 00:32:56,506 powered by this decentralized note graph protocol, and the protocol is multiplayer. 655 00:32:56,691 --> 00:33:00,971 So the notion is like, what if you had your Roam graph or your Obsidian graph, 656 00:33:00,991 --> 00:33:05,294 but it could sort of freely network with other graphs in this cloud of graphs. 657 00:33:05,324 --> 00:33:09,384 But that cloud of graphs doesn't live on my server where I can sort of, you know, 658 00:33:10,154 --> 00:33:11,894 extract a 30 percent text or whatever. 659 00:33:12,294 --> 00:33:14,414 It exists on this decentralized network. 660 00:33:14,724 --> 00:33:16,734 I actually, that's not quite right either. 661 00:33:16,744 --> 00:33:18,024 The protocol is local-first. 662 00:33:18,091 --> 00:33:22,701 so basically it syncs your slice of the graph, like your content plus the content 663 00:33:22,701 --> 00:33:24,521 of people you follow onto your devices. 664 00:33:24,531 --> 00:33:25,421 So you have your files. 665 00:33:25,776 --> 00:33:27,076 and then this was clear, 666 00:33:27,076 --> 00:33:27,326 right? 667 00:33:27,335 --> 00:33:28,856 They're, they are actually files. 668 00:33:29,216 --> 00:33:30,266 They're actually files. 669 00:33:30,266 --> 00:33:30,596 If you 670 00:33:30,616 --> 00:33:33,916 run orb on a, or what you guys used to call it, orb. 671 00:33:34,016 --> 00:33:34,926 Yeah, it's called orb. 672 00:33:34,926 --> 00:33:35,826 Yeah, no, it's called orb. 673 00:33:35,856 --> 00:33:37,496 There's, so there's a couple of things, right? 674 00:33:37,496 --> 00:33:41,156 There's the app, but there's also like a command line interface. 675 00:33:41,156 --> 00:33:43,026 You can use if you're a developer, that's like git. 676 00:33:43,366 --> 00:33:45,066 And, and actually it works a lot like git. 677 00:33:45,106 --> 00:33:48,493 The whole thing uses kind of git like, versioning semantics. 678 00:33:48,559 --> 00:33:52,249 the difference is that it syncs not just your code, Quote unquote 679 00:33:52,249 --> 00:33:56,067 repository of notes, but also kind of the, those are the people you follow. 680 00:33:56,079 --> 00:33:58,199 So you have your own little internet archive, I guess. 681 00:33:58,229 --> 00:33:58,519 Right. 682 00:33:58,559 --> 00:34:01,849 You like Git, uh, it's like Git sub modules or that's a terrible example, 683 00:34:01,849 --> 00:34:03,249 but it's like, No, don't say 684 00:34:03,249 --> 00:34:03,483 that. 685 00:34:03,483 --> 00:34:03,949 That's mean. 686 00:34:03,949 --> 00:34:04,709 It's not like that. 687 00:34:04,709 --> 00:34:05,229 I promise. 688 00:34:05,249 --> 00:34:07,433 It's, it's, it's all, it's much, much better than that. 689 00:34:07,453 --> 00:34:09,013 It's all versioned together. 690 00:34:09,013 --> 00:34:12,423 I mean, I, yeah, without getting deeply into the details, it's 691 00:34:12,423 --> 00:34:13,743 all sort of versioned together. 692 00:34:13,753 --> 00:34:14,873 This is part of, I guess, what's. 693 00:34:15,083 --> 00:34:18,183 That's what's a little bit different from something like Git or why you can't 694 00:34:18,183 --> 00:34:23,159 just use Git, but right, you know, I guess a lot of what we're doing, yeah, 695 00:34:23,589 --> 00:34:27,889 at some point during your usage of this, you will end up with actual 696 00:34:27,899 --> 00:34:32,179 files on your device, like, yeah, very different than most other systems that 697 00:34:32,179 --> 00:34:35,469 we interact with right now, Obsidian being one of the ones that you do 698 00:34:35,469 --> 00:34:36,729 end up with files on your device. 699 00:34:37,089 --> 00:34:38,709 But that's a choice you guys made. 700 00:34:39,169 --> 00:34:42,189 The files are, I guess you could say they're a lens over 701 00:34:42,209 --> 00:34:44,039 the data on the protocol. 702 00:34:44,299 --> 00:34:49,115 And, for me being able to get a live synced, instance of those files 703 00:34:49,115 --> 00:34:53,695 on a device is sort of proof of, of what, what we call credible exit. 704 00:34:53,725 --> 00:34:59,610 So this is like our minimal definition of what Sort of user ownership of data should 705 00:34:59,610 --> 00:35:03,590 mean for our tools for the way we choose to build for it It's like you should be 706 00:35:03,590 --> 00:35:07,143 able to take your stuff and leave or bring it into another app or whatever Now I 707 00:35:07,143 --> 00:35:10,676 think Obsidian actually has credible exit as well And they do this through through 708 00:35:10,916 --> 00:35:16,578 files, but I think they have some maybe tricky edge cases around multiplayer And 709 00:35:16,588 --> 00:35:20,378 this is because, you know, f files, one of the shortcomings of files is they don't, 710 00:35:20,678 --> 00:35:24,878 they're, they just don't do multiplayer really well on, on two axes, actually. 711 00:35:24,878 --> 00:35:30,834 One is, most file formats are not designed to sort of freely merge updates 712 00:35:30,854 --> 00:35:34,964 from a bunch of different sources, like Peter edits the file, I edit the file, 713 00:35:35,254 --> 00:35:36,574 how do we resolve those conflicts? 714 00:35:36,949 --> 00:35:42,259 The other sort of axis around which file systems are not really well designed 715 00:35:42,259 --> 00:35:44,309 for multiplayer is around security. 716 00:35:44,676 --> 00:35:49,196 so once you have multiple players, it's sort of an adversarial environment, 717 00:35:49,236 --> 00:35:51,356 or you have to design for that anyway. 718 00:35:51,776 --> 00:35:52,436 You have to predict 719 00:35:52,436 --> 00:35:54,336 the emergence of an adversarial environment. 720 00:35:54,696 --> 00:35:58,186 Yeah, because, you know, imagine you're reading and writing these files and 721 00:35:58,186 --> 00:36:01,101 then you just connect this thing to the internet, what if 4chan suddenly 722 00:36:01,101 --> 00:36:02,802 has write access to your hard drive? 723 00:36:02,841 --> 00:36:05,801 Like that's the, that's the worst case that you need to the mistakes 724 00:36:06,181 --> 00:36:07,301 Scuttlebutt had too, right? 725 00:36:07,301 --> 00:36:10,991 Which is they did this like replicating friends of friends thing and then you 726 00:36:10,991 --> 00:36:14,111 only had to compromise one person's friend graph and all of a sudden 727 00:36:14,121 --> 00:36:17,961 you were, you know, you could sort of sneak someone into the graph and 728 00:36:17,961 --> 00:36:20,801 then have everybody else back up your objectionable content for you. 729 00:36:21,344 --> 00:36:24,404 Right, which is, and then this became a major problem because everything was 730 00:36:24,480 --> 00:36:29,334 append only and everything was replicated and everything was encrypted and all of 731 00:36:29,334 --> 00:36:33,984 a sudden you're downloading gigabytes of like terrible hate speech or other 732 00:36:33,984 --> 00:36:38,031 kinds of nasty stuff because, you know, somebody made like a face account, 733 00:36:38,334 --> 00:36:42,004 you know, infiltrated a community and then like, you know, linked in all 734 00:36:42,004 --> 00:36:45,194 their like hateful people that they want to follow and now everybody else 735 00:36:45,194 --> 00:36:46,674 is like stuck mirroring their content. 736 00:36:47,419 --> 00:36:53,669 I guess, yeah, you know, again, this, this system of replicating 737 00:36:54,369 --> 00:36:56,119 friends of friends content. 738 00:36:56,629 --> 00:37:00,449 Is very easily gamed by an adversary. 739 00:37:00,843 --> 00:37:06,482 Yeah, I guess it's important to kind of define your, Risk profile. 740 00:37:07,032 --> 00:37:07,802 Yeah, yeah. 741 00:37:07,982 --> 00:37:08,852 The threat model. 742 00:37:08,852 --> 00:37:09,172 Yeah. 743 00:37:09,172 --> 00:37:13,771 Like is your threat model that, like about replicating friends of friends content? 744 00:37:13,961 --> 00:37:17,817 I like, I think, browsers for example, are even coping with this in a more 745 00:37:17,817 --> 00:37:21,327 pedestrian, not a decentralized way, but like they're introducing the, the 746 00:37:21,327 --> 00:37:25,777 file API, which actually will allow you to save files out from the browser in a 747 00:37:25,787 --> 00:37:27,357 sort of, so you could go to photoshop. 748 00:37:27,357 --> 00:37:29,867 com, edit a photo and that saves it out to your disk. 749 00:37:29,867 --> 00:37:32,597 And this is something I worked on when I was at Chrome a 750 00:37:32,597 --> 00:37:35,117 little bit, and it has a lot of. 751 00:37:35,262 --> 00:37:36,112 Thorny issues. 752 00:37:36,112 --> 00:37:40,002 Actually, most of the browsers only partially support it right now or 753 00:37:40,002 --> 00:37:46,772 support, you know, certain parts of it because the way the web secures content 754 00:37:46,872 --> 00:37:49,412 around domains is very different. 755 00:37:49,757 --> 00:37:53,737 sort of comes in at an odd angle to the way file systems think about security. 756 00:37:54,137 --> 00:37:57,577 And so anytime you have these two sort of security models budding up against 757 00:37:57,577 --> 00:38:01,127 each other, you have this turbulence zone where all sorts of funny, scary things 758 00:38:01,127 --> 00:38:03,241 can happen and you need to deal with that. 759 00:38:03,531 --> 00:38:05,761 So this is actually, this is a pretty tricky problem. 760 00:38:05,791 --> 00:38:09,374 You know, it's one that we've, taken a stab at for our use case. 761 00:38:09,724 --> 00:38:13,204 but I think often you'll run into this dilemma that isn't immediately 762 00:38:13,204 --> 00:38:16,354 obvious, but you can sort of, typically you can either have. 763 00:38:16,515 --> 00:38:21,525 sort of files or, or, or data ownership or multiplayer. 764 00:38:21,851 --> 00:38:27,471 but not both, unless you start picking apart some of the security problems 765 00:38:27,501 --> 00:38:31,691 that the web has, you know, sort of left us with some of that security stack. 766 00:38:32,046 --> 00:38:34,779 Gordon, when you say, unless you pick apart some of the security 767 00:38:34,779 --> 00:38:38,449 problems, what I hear you saying is like, you have to solve for sort 768 00:38:38,449 --> 00:38:44,459 of the identity slash network slash authentication authorization piece in 769 00:38:44,459 --> 00:38:46,069 order to get files and collaboration. 770 00:38:46,069 --> 00:38:51,594 Like it implies that there are multiple, you know, Writers that have different, 771 00:38:51,714 --> 00:38:54,874 that are different, you know, and, and you have to somehow allow them to 772 00:38:54,884 --> 00:38:57,764 communicate with one another, allow them to identify one another, and then 773 00:38:57,814 --> 00:39:02,153 also, allow them to secure content, set up the rules for who can write 774 00:39:02,183 --> 00:39:04,153 when, how, all of that kind of thing. 775 00:39:05,683 --> 00:39:06,003 Is that? 776 00:39:06,033 --> 00:39:07,763 Yeah, I think that's right. 777 00:39:07,763 --> 00:39:12,612 I've personally become convinced of the, the value of and this is rather 778 00:39:12,612 --> 00:39:16,922 low level stuff, but signing everything with a key that maps one to one to you. 779 00:39:17,342 --> 00:39:18,902 And I think, you know Hold on, everything? 780 00:39:18,902 --> 00:39:19,172 What does 781 00:39:19,172 --> 00:39:19,852 everything mean? 782 00:39:19,872 --> 00:39:23,282 Because this is a specific technical problem that we're, like, quite 783 00:39:23,812 --> 00:39:25,652 deeply investigating right now. 784 00:39:25,872 --> 00:39:30,072 Because, like, you sign every keystroke on a 200, 000, keystroke 785 00:39:30,082 --> 00:39:31,492 essay, like the Embark essay. 786 00:39:31,862 --> 00:39:33,632 And what you have is mostly signatures. 787 00:39:33,936 --> 00:39:37,546 I like the way that you, you, you love mip mapping, don't you, Peter? 788 00:39:37,546 --> 00:39:41,186 Like going one level more, granular with definitions. 789 00:39:41,336 --> 00:39:44,746 Well, it's tough because like this is this, like you have to constantly 790 00:39:44,746 --> 00:39:47,186 be moving up and down these hierarchies of abstraction when you're 791 00:39:47,186 --> 00:39:48,466 working on these problems, right? 792 00:39:48,546 --> 00:39:53,166 So like, you know, Newsphere is cool because, you know, you can operate 793 00:39:53,166 --> 00:39:55,116 at this very coarse, chunky grain. 794 00:39:55,360 --> 00:39:58,450 But when you say everything, this is why I'm asking, like, you 795 00:39:58,450 --> 00:40:02,570 know, like, does this exclude that kind of lower real time thing? 796 00:40:02,580 --> 00:40:04,380 Maybe this is a solvable technical problem. 797 00:40:04,620 --> 00:40:05,980 Just curious what you think about that. 798 00:40:06,510 --> 00:40:08,350 Well, and I suppose you might be able to sign at the 799 00:40:08,350 --> 00:40:10,470 granularity you care about, right? 800 00:40:10,510 --> 00:40:15,293 I guess what I mean is, the web anchors security to domains. 801 00:40:15,588 --> 00:40:19,985 So the way the web thinks about security is, it's guaranteed by a domain. 802 00:40:20,311 --> 00:40:26,601 if you want to start making attestations about, people or individuals or actors 803 00:40:26,601 --> 00:40:30,415 on the network, then you start, maybe wanting to give those actors keys. 804 00:40:30,515 --> 00:40:31,395 In some capacity. 805 00:40:31,925 --> 00:40:35,225 And now I think there's, you know, sort of the cypherpunk view of it, which is 806 00:40:35,225 --> 00:40:36,725 that these keys should be self sovereign. 807 00:40:36,745 --> 00:40:39,925 And I, I sort of think that that's a possibility that a protocol 808 00:40:39,925 --> 00:40:43,215 should allow for, but a lot of people are going to want to escrow 809 00:40:43,215 --> 00:40:44,455 those keys or have them recovered. 810 00:40:44,475 --> 00:40:47,485 It doesn't, a detail that users shouldn't have to care, care about most of the time. 811 00:40:47,565 --> 00:40:47,885 Right. 812 00:40:48,045 --> 00:40:48,435 And an important one too. 813 00:40:49,455 --> 00:40:49,655 Yeah. 814 00:40:49,655 --> 00:40:49,945 Yeah. 815 00:40:50,005 --> 00:40:54,201 But, what signing with keys does is. 816 00:40:54,392 --> 00:40:57,862 It allows for what a cryptographer called non repeatability. 817 00:40:57,912 --> 00:41:00,912 Like you can basically say this person definitely signed this at this time, 818 00:41:00,912 --> 00:41:04,272 or at least the person who had control of these keys, and if you keep those 819 00:41:04,282 --> 00:41:08,892 keys secure, you can actually sort of compose, trust at pretty high levels 820 00:41:08,912 --> 00:41:11,166 in pretty useful ways, mathematically. 821 00:41:11,741 --> 00:41:17,074 So in any case, I think where the file system and the network tend to run up 822 00:41:17,074 --> 00:41:21,101 against each other at odd angles is the, the internet or the web rather tends to 823 00:41:21,101 --> 00:41:26,007 think about security in terms of origins and, of domains and actually apps by and 824 00:41:26,007 --> 00:41:30,815 large adopted that security model as well, like, like iOS apps, Android apps, and the 825 00:41:30,815 --> 00:41:38,118 file system tends to think of, Security in terms of who has access to the device. 826 00:41:38,558 --> 00:41:42,398 And these, these two ways of thinking about security don't, don't mix 827 00:41:42,398 --> 00:41:46,628 very well without some sort of trust boundary or sandbox boundary 828 00:41:46,628 --> 00:41:48,528 that mediates that relationship. 829 00:41:49,308 --> 00:41:50,798 Can you, can you talk more about this? 830 00:41:50,798 --> 00:41:54,798 Cause this is, I've had many conversations with like browser heads 831 00:41:54,838 --> 00:41:58,808 and like, I get the idea of an origin and let me see if I can say this in 832 00:41:58,808 --> 00:42:01,058 a way that like a non browser head. 833 00:42:01,433 --> 00:42:05,523 I mean, maybe I'm a browser person now, too, by, by fate, but like an 834 00:42:05,533 --> 00:42:11,743 origin is basically like somebody owns the SSL cert for this DNS. 835 00:42:12,143 --> 00:42:15,143 And so we're just going to trust everything within that domain 836 00:42:15,143 --> 00:42:17,443 that's signed by that cert, period. 837 00:42:17,743 --> 00:42:20,923 But we're, but we're going to prevent mixing of that data. 838 00:42:21,663 --> 00:42:27,343 You know, unless it helps us sell ads with any data from any other origin period. 839 00:42:28,033 --> 00:42:32,143 I mean, I'm a little bit snide when I say that, but it is a very real concern 840 00:42:32,153 --> 00:42:37,613 and it is very empirically how ads work and, you know, however you feel about 841 00:42:37,613 --> 00:42:39,170 that, that's just, it is the case. 842 00:42:39,706 --> 00:42:42,456 That sounds like a pretty accurate description to me. 843 00:42:42,616 --> 00:42:44,646 We're pretty far down the rabbit hole on this stuff. 844 00:42:44,646 --> 00:42:45,856 Do we want to keep going? 845 00:42:46,031 --> 00:42:49,356 Well, the reason why I think it's relevant to the files conversation where 846 00:42:49,356 --> 00:42:55,656 we started and the apps conversation is that origin model is like so Like, many 847 00:42:56,406 --> 00:43:00,751 people I meet who work on these kinds of problems They get really frustrated by 848 00:43:00,751 --> 00:43:04,301 like cores and like same origin policies. 849 00:43:04,531 --> 00:43:07,451 And the browser keeps ratcheting these tighter and tighter and tighter 850 00:43:07,451 --> 00:43:10,721 over time, you know, yeah, exactly. 851 00:43:10,751 --> 00:43:13,971 And so to me, this is actually a really fundamental problem. 852 00:43:14,296 --> 00:43:16,326 Where it's like, well, but it's my computer. 853 00:43:16,326 --> 00:43:18,026 I want to decide what I do with my data. 854 00:43:18,076 --> 00:43:21,070 And then in the JavaScript console, it's like, browser says no. 855 00:43:21,640 --> 00:43:23,230 Yeah, actually it's the, um, right. 856 00:43:23,230 --> 00:43:28,950 But like the, the most secure web would be one where each website is hermetically 857 00:43:28,950 --> 00:43:32,500 sealed and you can neither interact with it nor receive output from it. 858 00:43:32,750 --> 00:43:34,550 Just little pocket universes. 859 00:43:35,240 --> 00:43:38,770 So, I mean, there's a sort of like reductio ad absurdum to this, where 860 00:43:38,770 --> 00:43:42,640 like we started with a pretty simple, it was like a reasonable solve right at 861 00:43:42,655 --> 00:43:46,253 a time, especially in the early days of the web when they were like, I think 862 00:43:46,253 --> 00:43:50,363 the mental model was that you might run a, a server out of a closet or perhaps 863 00:43:50,363 --> 00:43:54,693 your school would run a server, like it was this very utopian kind of flat 864 00:43:54,693 --> 00:43:56,273 Notion of what a network would be. 865 00:43:56,273 --> 00:44:01,776 And so the server was assumed to be the agent of the, you know, let's say, 866 00:44:01,776 --> 00:44:07,176 uh, Gordon's email would be like a computer that was like in my , my closet. 867 00:44:07,176 --> 00:44:07,956 And so like, yeah. 868 00:44:07,956 --> 00:44:09,306 Gordon com Right. 869 00:44:09,306 --> 00:44:10,451 Was a, yeah. 870 00:44:11,206 --> 00:44:16,516 And so if that, if that server is signing things, you know, you can sort of say, 871 00:44:16,536 --> 00:44:19,936 Oh, well, Gordon signing things, but that's not really the world we ended 872 00:44:19,936 --> 00:44:23,796 up with because of network effect, because of Facebook signs, everything. 873 00:44:24,266 --> 00:44:24,646 Yeah. 874 00:44:24,766 --> 00:44:25,086 Yeah. 875 00:44:25,496 --> 00:44:25,936 Now. 876 00:44:26,374 --> 00:44:29,164 Keys are tricky, like, because there are these funny little things 877 00:44:29,164 --> 00:44:32,405 that you can't lose, just like in real life, or you'll be locked out. 878 00:44:33,185 --> 00:44:35,675 Except there are no locksmiths. 879 00:44:35,675 --> 00:44:40,895 There are no locksmiths, yeah, at least unless the NSA has its way, you know, but, 880 00:44:41,228 --> 00:44:46,278 No, but I do, I do have some hope that we're going to see some, some interesting 881 00:44:46,278 --> 00:44:50,204 kind of new calculus emerge around this problem with, the advent of like trusted 882 00:44:50,204 --> 00:44:54,523 computing modules, like secure enclave, on the iPhone, or I forget what the Android 883 00:44:54,533 --> 00:44:58,603 version is called, which makes me a bad former Googler, but you can sort of stash 884 00:44:58,603 --> 00:45:03,003 keys on these secure pieces of hardware, and then you have a pretty, you know, 885 00:45:03,690 --> 00:45:06,543 maybe your threat model is the NSA has your phone and is trying to crack into 886 00:45:06,543 --> 00:45:09,943 it, but that's less the world I'm trying to solve for, and more the world of like. 887 00:45:10,363 --> 00:45:12,543 It'd be kind of nice to know if, 888 00:45:12,683 --> 00:45:16,213 this I think Bonsy Buddy is a, is a, is a really credible threat model, right? 889 00:45:16,213 --> 00:45:18,933 Like, that's sort of the core threat model for, that browser 890 00:45:18,933 --> 00:45:20,423 vendors think about, right? 891 00:45:20,423 --> 00:45:23,383 Which is, you've got some, like, hostile agent on the user's computer. 892 00:45:23,383 --> 00:45:26,693 They've installed a search, ostensibly a search toolbar, 893 00:45:26,703 --> 00:45:28,103 or some kind of browser plugin. 894 00:45:28,473 --> 00:45:31,933 Which is now like extracting their credit card information or their bitcoins 895 00:45:32,013 --> 00:45:33,563 or just other private information. 896 00:45:34,076 --> 00:45:35,406 So so why does this matter? 897 00:45:35,416 --> 00:45:40,806 Well, so like this this origin security model inevitably results in silos 898 00:45:40,836 --> 00:45:45,526 like by definition data silos Like the the silo is the website the the 899 00:45:45,536 --> 00:45:48,396 whole security models that the data can't make it out of the website 900 00:45:48,936 --> 00:45:50,766 And so you just sort of end up with, 901 00:45:50,813 --> 00:45:52,083 Well, it does at the server, right? 902 00:45:52,083 --> 00:45:53,473 That's, that's the funny thing. 903 00:45:53,513 --> 00:45:53,973 The server. 904 00:45:54,093 --> 00:45:54,533 That's right. 905 00:45:54,533 --> 00:45:57,553 So they run an API so you can come in from other places there, but the 906 00:45:57,563 --> 00:45:59,643 user can't do it for themselves. 907 00:46:00,053 --> 00:46:00,343 Yeah. 908 00:46:00,470 --> 00:46:04,289 and then this puts the server in a very privileged and powerful 909 00:46:04,329 --> 00:46:08,059 position on the network because an API can, can cut you off. 910 00:46:08,129 --> 00:46:13,188 so data that might be notionally yours, is in practice, it's not really. 911 00:46:13,709 --> 00:46:14,119 I don't know. 912 00:46:14,119 --> 00:46:18,389 If you want to try to solve for that problem in some capacity, like multiplayer 913 00:46:18,619 --> 00:46:23,309 and some kind of data ownership or the ability to take your content with you. 914 00:46:23,849 --> 00:46:26,839 I think there's only three ways to solve this. 915 00:46:27,036 --> 00:46:29,686 one is with a decentralized protocol. 916 00:46:30,342 --> 00:46:32,902 Without going too much deeper into it, the protocol also has to 917 00:46:32,902 --> 00:46:34,292 have certain security qualities. 918 00:46:34,582 --> 00:46:38,152 I think the other is actually with local-first data, and this is, Peter's 919 00:46:38,152 --> 00:46:39,872 working on this problem of CRDTs. 920 00:46:39,872 --> 00:46:44,452 The reason local-first data gets you this is because you know, a server might cut 921 00:46:44,452 --> 00:46:46,222 you off, but it's like, screw you, buddy. 922 00:46:46,222 --> 00:46:47,562 I already have my content, right? 923 00:46:47,572 --> 00:46:48,922 It was already synced to my device. 924 00:46:49,422 --> 00:46:51,132 No, but that's not true. 925 00:46:51,212 --> 00:46:55,302 Like I wish, I appreciate the compliment implied there, but I think you still 926 00:46:55,302 --> 00:46:56,402 require the first thing, right? 927 00:46:56,402 --> 00:47:00,152 Cause like when you get the data, like this idea of local-first data, 928 00:47:00,152 --> 00:47:03,282 if it's happening in your browser, it's still being written into an 929 00:47:03,282 --> 00:47:08,112 indexed DB or an OPFS or whatever else that's owned by the origin, there is 930 00:47:08,112 --> 00:47:11,672 the ability to write real files, but it sucks and doesn't really work. 931 00:47:12,127 --> 00:47:16,877 And I see some folks here who have, like, built apps, like, no one is making a 932 00:47:16,877 --> 00:47:20,929 user click, like, allow access to this folder every time they open an app. 933 00:47:21,257 --> 00:47:21,717 Gosh, yeah. 934 00:47:21,757 --> 00:47:24,787 Uh, so that's what the, that's like the file access API. 935 00:47:25,567 --> 00:47:25,877 Yeah. 936 00:47:26,547 --> 00:47:30,597 Right, like, so it is, it, all of that data is still trapped inside the origin. 937 00:47:30,746 --> 00:47:31,810 Yeah, I'm sure that's true. 938 00:47:31,840 --> 00:47:36,550 I, so, Peter, you were saying, I have, wait, I have a third, third point. 939 00:47:36,590 --> 00:47:36,870 Yeah. 940 00:47:37,030 --> 00:47:39,555 So, and actually I do want to say CRDTs are still important. 941 00:47:39,580 --> 00:47:41,080 You're talking totally, totally, but it 942 00:47:41,080 --> 00:47:42,060 doesn't solve the, it 943 00:47:42,060 --> 00:47:42,450 doesn't solve 944 00:47:42,450 --> 00:47:43,150 the origin thing. 945 00:47:43,150 --> 00:47:44,280 And that's the part I don't have a good, 946 00:47:45,250 --> 00:47:46,300 let me circle back to this. 947 00:47:46,330 --> 00:47:48,460 I just want to throw out one time over coffee. 948 00:47:48,460 --> 00:47:49,680 You told, you told me. 949 00:47:49,930 --> 00:47:52,880 You don't need to care about which protocol you get the data from if 950 00:47:52,910 --> 00:47:54,250 the file knows how to merge itself. 951 00:47:54,290 --> 00:47:57,320 And I thought that that was a wonderful provocation to sort of like 952 00:47:57,330 --> 00:47:59,020 argue in favor of the CRDT thing. 953 00:47:59,320 --> 00:48:01,710 And, and all of these are satis satisficing, right? 954 00:48:01,710 --> 00:48:06,090 Like a protocol, a CRDT, these are not going to give you perfect exit in any 955 00:48:06,090 --> 00:48:09,280 case because, you know, in the worst case you might be shut out from the app. 956 00:48:09,370 --> 00:48:11,190 That lets you use this stuff in a useful way. 957 00:48:11,220 --> 00:48:14,930 But I do think they give you the ground conditions for things like 958 00:48:14,930 --> 00:48:16,970 adversarial interoperability to emerge. 959 00:48:17,180 --> 00:48:20,780 But the third thing, and the one that I think is underexplored, and I haven't 960 00:48:20,780 --> 00:48:25,500 even thought through it fully, is, something like a legal contract that 961 00:48:25,500 --> 00:48:29,220 guarantees the user access to their data along some axes, as long as a 962 00:48:29,220 --> 00:48:31,330 service continues to be maintained. 963 00:48:31,570 --> 00:48:32,450 You mean like a, like a 964 00:48:32,460 --> 00:48:34,260 UCAN or like an actual, like. 965 00:48:34,485 --> 00:48:35,235 Like TNC. 966 00:48:35,985 --> 00:48:40,525 Like something like, so, and this is the thing, nothing like this exists today, 967 00:48:40,555 --> 00:48:43,475 but there's no reason you couldn't write something like a EULA where 968 00:48:43,475 --> 00:48:45,615 the valence goes the other direction. 969 00:48:45,843 --> 00:48:49,335 Instead of the user signing away their rights, the user is granted 970 00:48:49,335 --> 00:48:50,755 certain rights over their data. 971 00:48:51,045 --> 00:48:54,910 Hey, I'll take that To my lawyer and yeah, no, actually I've been 972 00:48:55,120 --> 00:48:57,460 thinking, I've been asking for 973 00:48:57,460 --> 00:48:57,740 this. 974 00:48:57,830 --> 00:49:02,530 I sent some, I sent some irony there, but if you're interested in, I was 975 00:49:02,561 --> 00:49:06,640 thinking about actually going to a lawyer and see, like asking, is this crazy? 976 00:49:06,640 --> 00:49:10,460 Cause like open source would have been crazy at one time, but you 977 00:49:10,460 --> 00:49:11,960 know, it's interesting, right? 978 00:49:11,960 --> 00:49:15,860 Like we actually can bend contract on some interesting directions to solve 979 00:49:15,880 --> 00:49:19,780 using Social technology is things that are difficult to solve with, you 980 00:49:19,780 --> 00:49:22,847 know, bits and, atoms technologies. 981 00:49:23,257 --> 00:49:23,567 Right. 982 00:49:23,567 --> 00:49:26,467 Well, the challenge here is not even, could you write a 983 00:49:26,467 --> 00:49:27,767 contract that would do this? 984 00:49:27,797 --> 00:49:31,677 The question is like, how would this affect your ability to fundraise? 985 00:49:31,677 --> 00:49:34,507 Or what would happen when you told your VP of sales what you were doing? 986 00:49:37,337 --> 00:49:38,317 Yeah, maybe so. 987 00:49:38,327 --> 00:49:41,047 I think you run into a lot of these same problems when you say, Hey, we're going 988 00:49:41,047 --> 00:49:44,467 to give users control over their data through a protocol or through a CRDT 989 00:49:44,497 --> 00:49:49,804 anyway, so, you know, it's like in a lot of ways, like, this condition of things. 990 00:49:50,284 --> 00:49:55,777 Not interoperating and users not owning their data, like, an investor might look 991 00:49:55,777 --> 00:49:57,267 at that and say, that's a moat, right? 992 00:49:57,997 --> 00:49:59,762 It is a moat. 993 00:50:00,412 --> 00:50:00,772 Yeah. 994 00:50:00,832 --> 00:50:04,542 I tend to think about this in like longer terms that, you know, it's like in some 995 00:50:04,542 --> 00:50:09,092 ways, like Google doesn't have like a lock on search, like it keeps trying with 996 00:50:09,102 --> 00:50:12,962 things like the open graph, but I, like, I think it's perfectly possible to build 997 00:50:12,962 --> 00:50:17,313 a defensible business without data lock in, but it is, it's something you get for 998 00:50:17,342 --> 00:50:19,462 free with the current software paradigm. 999 00:50:19,462 --> 00:50:24,058 And so we're sort of stuck in this metastable state where extra work. 1000 00:50:24,352 --> 00:50:27,432 This is where I think things like your protocol or Automerge or other kinds 1001 00:50:27,432 --> 00:50:29,892 of similar projects have potential. 1002 00:50:30,302 --> 00:50:34,602 If you can crack the, like what you need is enough benefit from 1003 00:50:34,602 --> 00:50:39,772 participating in the ecosystem that allows you to get like a network style 1004 00:50:39,772 --> 00:50:41,832 returns from interoperation over time. 1005 00:50:42,392 --> 00:50:42,702 Yeah. 1006 00:50:42,992 --> 00:50:45,602 You need a low enough activation costs that you can bootstrap 1007 00:50:45,612 --> 00:50:46,767 the ecosystem around it. 1008 00:50:46,782 --> 00:50:50,192 That has to be enough value from adopting the technology to see that 1009 00:50:50,192 --> 00:50:52,762 kind of like a feedback on the returns. 1010 00:50:53,152 --> 00:50:55,592 And I think the other thing that we haven't talked about that, but that 1011 00:50:55,592 --> 00:50:59,552 is implicit in all of this is like the political economy of the software. 1012 00:51:00,147 --> 00:51:04,027 That is available to us is determined by like the market economy of the 1013 00:51:04,027 --> 00:51:07,147 labor market and the VC funding market and everything else. 1014 00:51:07,147 --> 00:51:11,667 And like, it's all well and good to like hand wave that away, but it is empirically 1015 00:51:11,677 --> 00:51:15,977 the case, you know, like information may want to be free, but my rent isn't. 1016 00:51:16,657 --> 00:51:22,277 I think I look at this as in like a kind of scrappy, maybe 1017 00:51:22,277 --> 00:51:23,377 like entrepreneurial way. 1018 00:51:23,377 --> 00:51:26,417 I'm looking for the cheap hat because I don't want to wait, abolish, wait 1019 00:51:26,417 --> 00:51:29,017 for the abolition of capitalism to improve software somewhat. 1020 00:51:29,187 --> 00:51:34,627 And I do think there are these kinds of judo moves, these interventions, like 1021 00:51:34,627 --> 00:51:37,607 CRDTs that can change the calculus. 1022 00:51:39,042 --> 00:51:40,154 Yeah, maybe I'm wrong, right? 1023 00:51:40,172 --> 00:51:41,002 and, and maybe you're wrong. 1024 00:51:41,012 --> 00:51:43,182 Maybe we're all wrong, but I, I don't think so. 1025 00:51:43,202 --> 00:51:47,202 I, I think that it requires great ingenuity and creativity to find 1026 00:51:47,242 --> 00:51:49,192 the strategic angle of intervention. 1027 00:51:49,222 --> 00:51:51,512 But yeah, you know, people do this all the time. 1028 00:51:51,512 --> 00:51:57,355 They do it, for, they, They apply strategy to find an entry into a market in order 1029 00:51:57,355 --> 00:52:00,395 to gain, because incumbents don't want new entrants in the market either. 1030 00:52:00,395 --> 00:52:02,885 And I think we have to put that hat on actually, if we're going 1031 00:52:02,885 --> 00:52:06,785 to, to change the, the balance of power, that users have. 1032 00:52:07,055 --> 00:52:08,655 How do you think about that with what you're 1033 00:52:08,655 --> 00:52:08,875 doing? 1034 00:52:08,875 --> 00:52:09,525 Oh, sorry, Jess. 1035 00:52:09,955 --> 00:52:10,525 No, it's okay. 1036 00:52:10,525 --> 00:52:14,305 I was going to mention, I think there's, so I, I love your three things, Gordon. 1037 00:52:14,465 --> 00:52:16,322 The, there's three ways you can solve the problem. 1038 00:52:16,362 --> 00:52:20,804 Like some decentralized protocol that, Or two, local, distributed local file 1039 00:52:20,804 --> 00:52:22,394 state, like distributed local state. 1040 00:52:22,604 --> 00:52:25,264 And then the third, sort of a legal contract. 1041 00:52:25,594 --> 00:52:29,434 And I think the one, Peter was pointing out that the market economics right now, 1042 00:52:29,641 --> 00:52:34,111 what is easy is also very profitable and therefore the label market and the funding 1043 00:52:34,321 --> 00:52:38,996 market were, it, it drives against the, any of these values and it supports sort 1044 00:52:38,996 --> 00:52:42,036 of the data modes that we were talking about before with the same origin policy. 1045 00:52:42,466 --> 00:52:46,696 And I think the biggest funding mechanism that I see, Peter's not going 1046 00:52:46,696 --> 00:52:51,746 to love this, that is alternative to VC right now, is there is a large lump 1047 00:52:51,776 --> 00:52:55,276 of money in the Web3 blockchain world. 1048 00:52:55,576 --> 00:52:58,876 And you do see some of those projects putting that to use 1049 00:52:58,876 --> 00:53:00,306 to try to solve this problem. 1050 00:53:00,826 --> 00:53:01,356 I see. 1051 00:53:01,356 --> 00:53:06,096 Famously anti capitalist distributed wealth system of 1052 00:53:06,096 --> 00:53:08,176 the cryptocurrency market. 1053 00:53:08,716 --> 00:53:14,237 Known for its transparency, honesty, and, Fair outcomes for all involved, yes. 1054 00:53:14,677 --> 00:53:17,327 You're not wrong, and also there's a lot of money there. 1055 00:53:17,757 --> 00:53:20,777 And so this is kind of like, it's basically the flip of 1056 00:53:20,777 --> 00:53:21,617 what you were just saying. 1057 00:53:21,777 --> 00:53:24,357 It's like we have to acknowledge the reality of the market economics. 1058 00:53:24,397 --> 00:53:27,447 Well, the reality of the market economics is that there is billions of dollars 1059 00:53:27,457 --> 00:53:31,717 in these decentralized protocols that are basically payment rails for 1060 00:53:31,902 --> 00:53:33,642 Distributing tokens and things like that. 1061 00:53:33,652 --> 00:53:36,312 And a lot of shady, crazy stuff is happening there for sure. 1062 00:53:36,532 --> 00:53:38,422 but they are, tell me about the 1063 00:53:38,422 --> 00:53:40,202 stuff that's not, cause I think that's interesting. 1064 00:53:40,712 --> 00:53:41,782 So here's the one that I wanted. 1065 00:53:41,792 --> 00:53:44,502 This is the reason I brought it up is I don't know if you guys have been 1066 00:53:44,502 --> 00:53:48,718 paying attention to the Farcaster protocol, but they're distributed 1067 00:53:48,718 --> 00:53:52,078 social media protocol and they have been iterating on this thing called 1068 00:53:52,078 --> 00:53:56,988 frames and frames are like a micro app. 1069 00:53:57,293 --> 00:53:59,793 Within a tweet, if you could embed. 1070 00:53:59,843 --> 00:54:04,023 And the, the interesting thing about it, they're opting for Gordon's 1071 00:54:04,043 --> 00:54:09,216 option one for distributing state and, access and, and all of that. 1072 00:54:09,306 --> 00:54:10,246 Yeah, they actually, 1073 00:54:10,246 --> 00:54:15,690 their, their protocol is not too different from BlueSky or even our own, Neosphere. 1074 00:54:15,755 --> 00:54:19,066 but it does make a couple of choices around key rotation that, 1075 00:54:19,183 --> 00:54:20,673 and they use a blockchain for this. 1076 00:54:20,703 --> 00:54:23,100 I could get into the why, if we want to later on. 1077 00:54:23,400 --> 00:54:24,970 Well, here's the more interesting thing. 1078 00:54:24,980 --> 00:54:30,391 Just today, they showed off, frames that allow for, money tra uh, sorry, 1079 00:54:30,431 --> 00:54:32,531 token transfers to happen inside of it. 1080 00:54:32,628 --> 00:54:35,978 So basically they built into their protocol, micropayments. 1081 00:54:36,798 --> 00:54:40,218 And the reason I think this is really interesting is because I think 1082 00:54:40,218 --> 00:54:42,331 one way out of this, the current. 1083 00:54:42,566 --> 00:54:46,116 uh, world that we're in with browsers and same origin policy and the sort 1084 00:54:46,116 --> 00:54:50,870 of, the dead end, but it's a happy dead end where the web is, is a, is 1085 00:54:50,910 --> 00:54:55,780 building a payment protocol into the, the primitives of the network itself, 1086 00:54:56,180 --> 00:55:00,200 such that people can renumerate each other directly, and You know 1087 00:55:00,200 --> 00:55:01,470 the web was meant to have this? 1088 00:55:01,545 --> 00:55:05,285 There's an HTTP code for payment, like pay per view. 1089 00:55:05,665 --> 00:55:08,445 It just never got, yeah, yeah, yeah, yeah, yeah. 1090 00:55:08,765 --> 00:55:10,545 This is like Tim Berners Lee just stuck it in there. 1091 00:55:10,545 --> 00:55:13,205 There's it's, it's along there with like, uh, what is the, there's 1092 00:55:13,205 --> 00:55:14,795 another code for I am a teapot. 1093 00:55:15,195 --> 00:55:18,745 Um, there's like these funny, like reserved codes for just in case that Tim 1094 00:55:18,745 --> 00:55:22,312 Berners Lee stuck in there and payment was one, uh, we just never got it. 1095 00:55:22,455 --> 00:55:22,745 Yeah. 1096 00:55:23,260 --> 00:55:23,730 I don't know. 1097 00:55:23,730 --> 00:55:26,350 I don't know what you're going to ask with regard to Web3. 1098 00:55:26,350 --> 00:55:30,210 I think the idea of like digital payments is not crazy on its face, 1099 00:55:30,230 --> 00:55:33,690 and it would be interesting to think about ways to do that with a protocol. 1100 00:55:33,980 --> 00:55:38,370 I think my stance with regard to Web3 is sure to piss literally everyone off 1101 00:55:38,410 --> 00:55:43,120 on both sides of this very kind of like divisive issue, which is that, uh, I 1102 00:55:43,120 --> 00:55:45,988 think that, I look at a blockchain as a really interesting technological 1103 00:55:45,988 --> 00:55:50,218 artifact that does solve some problems that are very difficult to solve in other 1104 00:55:50,218 --> 00:55:53,878 ways, but the number of people who want to solve those problems is small, and 1105 00:55:53,888 --> 00:55:56,958 nevertheless, they can be high value. 1106 00:55:57,558 --> 00:56:00,518 So these are things like key rotation, which Farcaster uses. 1107 00:56:01,268 --> 00:56:04,638 There's been this, there's always been a challenge with key rotation 1108 00:56:04,668 --> 00:56:09,188 where you need like a third party to, to basically handle that rotation. 1109 00:56:09,188 --> 00:56:13,728 And that third party is kind of like a point of failure if someone, co ops it, 1110 00:56:13,858 --> 00:56:18,555 but in any case, you know, I, here's where I'm going to piss everyone else 1111 00:56:18,555 --> 00:56:20,705 off, uh, on the crypto side is like. 1112 00:56:21,190 --> 00:56:23,960 I think all of the problems of crypto are not crypto problems. 1113 00:56:24,000 --> 00:56:25,606 They're, market problems. 1114 00:56:25,636 --> 00:56:28,866 And if you look at them point for point, like, you know, tulip mania, 1115 00:56:28,896 --> 00:56:33,537 wildcat banking, crazy token pump and dump, these are literally all things 1116 00:56:33,580 --> 00:56:37,546 that we had to go through with regard to, capitalism in general, markets 1117 00:56:37,546 --> 00:56:39,573 in general, for the last 200 years. 1118 00:56:39,593 --> 00:56:45,173 And then we accrued this enormous edifice of regulation. 1119 00:56:45,518 --> 00:56:47,758 Around markets in order to get them to function. 1120 00:56:47,768 --> 00:56:52,168 So my personal attitude toward this stuff, which probably a lot of people 1121 00:56:52,168 --> 00:56:55,305 are going to agree, disagree with for one ideological reason or another, it's like 1122 00:56:55,358 --> 00:56:57,228 markets are kind of like nuclear reactors. 1123 00:56:57,258 --> 00:56:59,468 They can generate a lot of interesting outcomes. 1124 00:56:59,661 --> 00:57:02,678 but they also have a tendency to melt down, without cooling rods. 1125 00:57:03,383 --> 00:57:06,635 And, and this is just kind of what I see happening with, with crypto. 1126 00:57:06,725 --> 00:57:09,385 And I think it'll continue to happen up until the point that it gets 1127 00:57:09,385 --> 00:57:12,535 some sort of enlightened regulation, which may never come because it 1128 00:57:12,535 --> 00:57:16,085 seems like nobody's actually invested in that outcome on either side. 1129 00:57:16,654 --> 00:57:19,484 so there's Gordon's unpopular take with regard to Web3. 1130 00:57:21,054 --> 00:57:25,824 So Web3 is speed running 200 years of financial market regulation. 1131 00:57:25,824 --> 00:57:27,934 Yeah, and, and actually, 1132 00:57:27,934 --> 00:57:31,124 especially To me, like, proof of stake blockchains are a really interesting 1133 00:57:31,124 --> 00:57:35,394 technology that solve, like, a interesting problem of, like, decentralized, 1134 00:57:35,464 --> 00:57:38,964 totally ordered, sort of, source of truth that's credibly neutral. 1135 00:57:39,194 --> 00:57:42,854 These terms all have to be qualified because, you know, they're all, all 1136 00:57:42,854 --> 00:57:48,504 of that is also kept afloat by, like, basically, The financial function 1137 00:57:48,584 --> 00:57:51,894 that a chain is supposed to serve. 1138 00:57:52,228 --> 00:57:54,494 but I think the product market fit that chains have found right now is 1139 00:57:54,494 --> 00:58:00,467 basically Vegas and, you know, crypto just recently skyrocketed back up again. 1140 00:58:00,467 --> 00:58:03,127 So I've come to the conclusion that Vegas is actually anti 1141 00:58:03,127 --> 00:58:04,567 fragile and you can't kill it. 1142 00:58:05,154 --> 00:58:09,374 but that's also something that is, Vegas is not personally my favorite place to be. 1143 00:58:09,521 --> 00:58:10,076 so. 1144 00:58:10,516 --> 00:58:14,719 If I engage with it, it's, it's, you know, kind of, with, with care and 1145 00:58:14,719 --> 00:58:16,139 with a little bit of self protection. 1146 00:58:16,794 --> 00:58:21,574 Yeah, I mean, I, I think Jess, has certain expectations about my 1147 00:58:21,574 --> 00:58:24,874 perspective on these things that are not entirely unfair, but I, I would 1148 00:58:24,874 --> 00:58:27,824 say I'm not anti crypto conceptually. 1149 00:58:27,824 --> 00:58:32,684 I'm just opposed to getting dragged into the kinds of communities that I've seen. 1150 00:58:33,314 --> 00:58:37,084 You know, I just, like the ideas are reasonable. 1151 00:58:37,084 --> 00:58:38,954 It's just, the outcomes seem. 1152 00:58:39,159 --> 00:58:40,214 Odious. 1153 00:58:40,430 --> 00:58:41,130 So I'm just like, 1154 00:58:41,740 --> 00:58:42,990 so many things when, 1155 00:58:43,810 --> 00:58:47,657 when there's like a healthy, high functioning, cryptocurrency for like 1156 00:58:47,687 --> 00:58:53,097 micropayments that isn't like a, like an insane pump and dump, a penny 1157 00:58:53,097 --> 00:58:55,494 stock, gambling, whatever, right? 1158 00:58:55,494 --> 00:58:58,134 Like, yeah, like, but that would be cool. 1159 00:58:58,174 --> 00:59:02,134 I, I always ask if anybody has one in mind and nobody does, but in the 1160 00:59:02,134 --> 00:59:06,514 meantime, I also think it's a little bit irrelevant cause like, Oh man, use PayPal. 1161 00:59:06,814 --> 00:59:09,764 Use, like there's lots of, use Square Cash. 1162 00:59:09,774 --> 00:59:11,424 Like there's, use a freaking credit card. 1163 00:59:11,444 --> 00:59:14,454 Like there's, payment is, is, yeah, there's more friction 1164 00:59:14,884 --> 00:59:16,204 than, than you'd like. 1165 00:59:16,204 --> 00:59:18,214 But like Stripe is pretty good. 1166 00:59:18,254 --> 00:59:19,884 There's alternatives and Wraparate. 1167 00:59:19,924 --> 00:59:24,344 Like these are hard problems, but they're so much less hard than they used to be. 1168 00:59:24,344 --> 00:59:26,824 And they're, you know, Apple Pay is pretty great. 1169 00:59:26,854 --> 00:59:31,534 Like, you know, like we don't need to invent a whole new 1170 00:59:31,804 --> 00:59:34,494 financial economy to do payments. 1171 00:59:34,989 --> 00:59:38,319 But I do think broadly, like we've got a little bit off 1172 00:59:38,329 --> 00:59:40,422 track here, which is like files. 1173 00:59:40,932 --> 00:59:42,492 Well, no, it's files over apps. 1174 00:59:42,522 --> 00:59:46,792 And I think again, like we have to ask why, why are things the way they are? 1175 00:59:47,962 --> 00:59:49,962 And so things are the way they are because you can make a living 1176 00:59:49,962 --> 00:59:51,102 building software that way. 1177 00:59:51,292 --> 00:59:53,952 You can get investment from other people to build software. 1178 00:59:54,212 --> 00:59:56,592 And if you can't get investments and you can't make a living, then you're 1179 00:59:56,592 --> 01:00:01,322 not going to have the ability to attract, attract top talent, right. 1180 01:00:01,382 --> 01:00:04,522 To bring in the investment it takes to build a team in advance of revenue. 1181 01:00:05,552 --> 01:00:05,822 Right. 1182 01:00:05,852 --> 01:00:11,202 And like the problem with crypto money is that it always ends up being predicated on 1183 01:00:11,232 --> 01:00:16,122 like the promise of crypto style returns in sort of the, you know, idealized case. 1184 01:00:16,122 --> 01:00:19,912 And so what you see is like ecosystems aligning around trying 1185 01:00:19,912 --> 01:00:23,002 to generate one of those crypto pops, because that's the expectation 1186 01:00:23,292 --> 01:00:24,412 that comes with the investment. 1187 01:00:24,782 --> 01:00:26,582 And I think, I don't want to call anybody out. 1188 01:00:26,582 --> 01:00:29,362 I'll just say that there have been very interesting and promising 1189 01:00:29,362 --> 01:00:33,382 projects that have over time had to realign themselves to generating 1190 01:00:33,392 --> 01:00:37,367 crypto Interest style returns. 1191 01:00:37,417 --> 01:00:41,177 And that, that, that has very frequently been to the detriment of their mission. 1192 01:00:41,957 --> 01:00:42,267 Right. 1193 01:00:42,327 --> 01:00:42,537 Yeah. 1194 01:00:42,857 --> 01:00:45,737 Token pumping tends to be an unstoppable force. 1195 01:00:45,777 --> 01:00:46,117 Yeah. 1196 01:00:46,587 --> 01:00:47,797 And getting that doom loop. 1197 01:00:48,217 --> 01:00:48,377 Yeah. 1198 01:00:48,377 --> 01:00:50,817 And I wasn't necessarily bringing up web three to say that that was 1199 01:00:50,857 --> 01:00:55,877 the solution, but I do think the acknowledging there, there's two things 1200 01:00:55,877 --> 01:00:57,217 that I think are interesting here. 1201 01:00:57,237 --> 01:00:58,527 One, how do you fund the. 1202 01:00:59,232 --> 01:01:04,635 The research into making, making easy what we want, what we believe to be the future. 1203 01:01:04,892 --> 01:01:10,602 and one of those funding sources that is non VC is a pool of cash that is Web3 that 1204 01:01:10,602 --> 01:01:12,892 has all sorts of other challenges with it. 1205 01:01:13,362 --> 01:01:15,502 Right, but look at what's happened there, right? 1206 01:01:15,572 --> 01:01:18,132 Like, like really specifically look at what's happened there. 1207 01:01:18,667 --> 01:01:22,757 Well, I do actually, I want to take Jess's, perspective on this for a minute. 1208 01:01:22,917 --> 01:01:27,957 Cause I, I sort of gave my, you know, like very boring, ambivalent take on it. 1209 01:01:27,997 --> 01:01:32,807 But like, I think actually there, if you, if I remove my moral valence, 1210 01:01:33,007 --> 01:01:36,604 like there are a lot of things that seem crazy on their face, that generate 1211 01:01:36,644 --> 01:01:40,934 unexpected outcomes and like, I see a lot of money getting dumped into 1212 01:01:40,934 --> 01:01:44,854 things like ZK proofs, which is a general purpose cryptographic technology 1213 01:01:44,854 --> 01:01:46,334 that has nothing to do with chains. 1214 01:01:46,419 --> 01:01:50,287 Work has been mostly funded by, blockchain maxis. 1215 01:01:50,342 --> 01:01:53,142 I see interesting work on elliptic curves. 1216 01:01:53,419 --> 01:01:57,159 you know, like, uh, like Zuko Wilcox's work on elliptic curves, 1217 01:01:57,232 --> 01:01:58,492 that's being done around this. 1218 01:01:59,400 --> 01:02:00,640 they use IPFS. 1219 01:02:00,700 --> 01:02:04,660 IPFS ecosystem has this new kind of, I guess you could think of it as like 1220 01:02:04,660 --> 01:02:10,367 a zip format for blocks that, you can stream in and it's all sort of like 1221 01:02:10,587 --> 01:02:14,437 signed in the way that you can sort of streaming, uh, stream this stuff in 1222 01:02:14,437 --> 01:02:17,937 and, and cryptographically verify the blocks as they come in is it's using 1223 01:02:17,937 --> 01:02:21,557 this elliptic curve technology that was, you know, it's ultimately developed by 1224 01:02:21,557 --> 01:02:25,405 Zuko Wilcox for ZK stuff, uh, Zcash, I 1225 01:02:25,477 --> 01:02:25,527 believe. 1226 01:02:25,527 --> 01:02:28,737 And, uh, UCANs, from the Fission team are another great example. 1227 01:02:28,737 --> 01:02:31,347 I think they've taken, you know, a lot of research funding 1228 01:02:31,347 --> 01:02:32,537 from those kinds of sources. 1229 01:02:32,557 --> 01:02:33,257 I think that's good stuff. 1230 01:02:34,077 --> 01:02:34,567 Yeah, I think 1231 01:02:34,567 --> 01:02:39,747 we're also, we're seeing like Farcaster and BlueSky and Nostr and various sort 1232 01:02:39,747 --> 01:02:43,900 of stabs at decentralized, protocols that actually don't really have a 1233 01:02:43,900 --> 01:02:47,100 crypto component, but I think are benefiting greatly from the mental 1234 01:02:47,100 --> 01:02:51,560 models developed by crypto researchers, cryptographic researchers, as well 1235 01:02:51,560 --> 01:02:52,984 as, Cryptocurrency researcher. 1236 01:02:53,324 --> 01:02:55,434 So I think, you know, it's, it's like, there's this quote I really 1237 01:02:55,434 --> 01:02:59,177 like from this, evolutionary biologist who says, containment can lead to 1238 01:02:59,187 --> 01:03:04,794 contagion, and a degree of isolation is of, great, Importance in sort 1239 01:03:04,794 --> 01:03:06,064 of new forms of being a false. 1240 01:03:06,074 --> 01:03:08,994 So it's like the island ecology thing Like if something's off to the side 1241 01:03:08,994 --> 01:03:11,824 and it's under a set of different selection pressures You could be like 1242 01:03:11,824 --> 01:03:13,464 those selection pressures are perverse. 1243 01:03:13,484 --> 01:03:14,344 They're terrible. 1244 01:03:14,554 --> 01:03:18,604 Maybe they are but you're gonna get some weird and interesting critters 1245 01:03:18,634 --> 01:03:22,609 that emerge out of that primordial soup for good or ill, right? 1246 01:03:22,639 --> 01:03:27,099 Like I definitely think we're seeing some things emerge out of the crypto 1247 01:03:27,129 --> 01:03:32,669 landscape that wouldn't emerge out of the incentives of like the web 2. 1248 01:03:32,729 --> 01:03:35,599 0 aggregator kind of landscape. 1249 01:03:35,699 --> 01:03:37,369 Well, 1250 01:03:37,369 --> 01:03:40,189 we're, we're about a little over an hour and let me see if I can try to 1251 01:03:40,189 --> 01:03:43,749 land the plane here and kind of recap the conversation we've had so far. 1252 01:03:43,809 --> 01:03:48,749 So we kind of jumped in with this files over apps and kind of talking about each, 1253 01:03:48,819 --> 01:03:51,449 some of our different work around this. 1254 01:03:51,479 --> 01:03:55,601 And then, there was a lot of history discussion around sort of how 1255 01:03:55,752 --> 01:04:00,266 did we get to the current system where apps could even be used in 1256 01:04:00,266 --> 01:04:02,316 a sentence like file over app. 1257 01:04:02,522 --> 01:04:05,122 and what does that, what does that mean for where we are today? 1258 01:04:05,162 --> 01:04:07,632 And then I think the, the most recent exploration has been 1259 01:04:07,642 --> 01:04:09,172 how do we get somewhere else? 1260 01:04:09,222 --> 01:04:13,852 How do we get to a place where files to open, to echo Peter's opening 1261 01:04:13,852 --> 01:04:17,672 comment, where files didn't get their butts kicked and where we can actually 1262 01:04:17,762 --> 01:04:22,682 rely on some of the file like goodness that we get, where we can get this, 1263 01:04:22,752 --> 01:04:24,402 a combination of files and places. 1264 01:04:24,952 --> 01:04:30,013 And, Yeah, there's been some really great work, that, Gordon and Peter and 1265 01:04:30,093 --> 01:04:34,039 certainly, I've been trying to chip in as well on, moving us in this direction. 1266 01:04:34,049 --> 01:04:37,466 Really appreciate Obsidian and Kapano for kind of, being a 1267 01:04:37,526 --> 01:04:41,468 working piece of software that embodies these concepts as well. 1268 01:04:41,611 --> 01:04:45,641 we've talked a lot about, local-first software as well. 1269 01:04:45,698 --> 01:04:46,958 that's another term. 1270 01:04:46,968 --> 01:04:50,138 If you're not familiar with it, you should definitely look for the original 1271 01:04:50,138 --> 01:04:53,228 article from Ink and Switch that defined the term local-first software. 1272 01:04:53,523 --> 01:04:56,703 And if you want to kind of hear more conversations like these, 1273 01:04:56,723 --> 01:04:59,903 there's a podcast by Johannes, which I noticed is sitting in 1274 01:04:59,913 --> 01:05:01,993 the audience, called localfirst. 1275 01:05:02,013 --> 01:05:02,573 fm. 1276 01:05:02,873 --> 01:05:07,099 And that'll kind of take you on the journey of, local-first and which 1277 01:05:07,119 --> 01:05:11,499 really does, not 100 percent overlap with the file over app, philosophy, 1278 01:05:11,499 --> 01:05:13,169 but there's a lot of overlap there. 1279 01:05:13,214 --> 01:05:15,309 And there's a lot of technology that's being developed that can 1280 01:05:15,319 --> 01:05:17,099 hopefully get us from where we are. 1281 01:05:17,389 --> 01:05:22,179 And sort of this current ecological conditions to a new place. 1282 01:05:22,426 --> 01:05:26,276 but Gordon or Peter, do you guys have any closing comments before we 1283 01:05:26,916 --> 01:05:27,216 wrap up? 1284 01:05:27,216 --> 01:05:31,579 I do, I do, which is, I liked Peter's put that we need to make 1285 01:05:31,636 --> 01:05:32,986 the right thing, the easy thing. 1286 01:05:33,196 --> 01:05:37,196 I think it's actually extraordinarily difficult right now to build an app 1287 01:05:37,236 --> 01:05:41,119 that, puts the user in control of their data in any meaningful sense. 1288 01:05:41,322 --> 01:05:44,612 Almost literally, no matter how you define user ownership of data. 1289 01:05:44,652 --> 01:05:49,822 And, you know, the work Peter's doing in CRDTs, and I think the many decentralized 1290 01:05:49,842 --> 01:05:55,082 protocol projects, including our own, are all attempts at trying to lower the floor 1291 01:05:55,112 --> 01:05:59,902 so that more people can, can build apps that actually do put users in control. 1292 01:05:59,946 --> 01:06:01,326 I think that's, that's necessary. 1293 01:06:01,326 --> 01:06:03,486 cause otherwise it's going to continue to be prohibitively 1294 01:06:03,486 --> 01:06:06,436 expensive to make that a reality. 1295 01:06:07,426 --> 01:06:09,096 Yep, absolutely. 1296 01:06:09,096 --> 01:06:09,116 Absolutely. 1297 01:06:09,846 --> 01:06:11,226 Peter, anything to wrap us up? 1298 01:06:11,696 --> 01:06:13,906 I don't think we have an answer yet. 1299 01:06:14,166 --> 01:06:16,896 Like, I don't mean us here, though, also that. 1300 01:06:17,226 --> 01:06:20,983 But, like, I think that, there's a lot more work to do and a lot more to say. 1301 01:06:21,438 --> 01:06:25,958 And, you know, I have plenty of like pet theories and, and ideas as I'm sure 1302 01:06:25,958 --> 01:06:32,051 everybody here on this call, does, but I think, I've tried not to, I've tried 1303 01:06:32,051 --> 01:06:36,541 not to fall into solutioneering in this conversation because I think it's, it's 1304 01:06:36,541 --> 01:06:40,924 easy to get, jump into the why don't we just, kind of mode, but I think that 1305 01:06:40,925 --> 01:06:45,325 like a good, clear understanding of the opportunity, the challenge and the 1306 01:06:45,325 --> 01:06:49,610 benefits and like a, uh, Like I just feel like very often people sort of 1307 01:06:49,620 --> 01:06:55,670 lament the way things are, but I think Gordon's approach to kind of analyzing 1308 01:06:55,690 --> 01:06:59,970 the, not just the technical landscape, but like the political and cultural 1309 01:06:59,970 --> 01:07:05,510 landscape as well is part of why I so enjoy these conversations that we have. 1310 01:07:05,510 --> 01:07:08,930 And I really, thank you, Jess, for, for allowing me to 1311 01:07:08,930 --> 01:07:10,120 jump in and be a part of it. 1312 01:07:10,516 --> 01:07:11,196 Likewise. 1313 01:07:11,336 --> 01:07:11,906 It was great. 1314 01:07:12,576 --> 01:07:18,488 But yeah, I'm, I'm, I'm very, uh, Excited to see folks like yourself, you know, 1315 01:07:18,488 --> 01:07:23,541 like actively engaging kind of one rung closer to sort of market forces. 1316 01:07:23,541 --> 01:07:26,918 And, you know, I don't think there's a wrong thing to try. 1317 01:07:27,508 --> 01:07:30,858 Like if you're doing things, I wouldn't, I'm doing things you wouldn't. 1318 01:07:30,898 --> 01:07:31,908 I think that's great. 1319 01:07:32,391 --> 01:07:35,471 I'm not here to be a bigot for an approach or a technology. 1320 01:07:35,471 --> 01:07:36,951 I'll speak my mind and tell you what I think. 1321 01:07:36,971 --> 01:07:41,761 And if your thing works, I will celebrate, you know, that's, I hope that we all 1322 01:07:41,761 --> 01:07:46,936 have that mindset of like, You know, it's not about arguing for ideological 1323 01:07:46,981 --> 01:07:50,031 purity or like the one true solution. 1324 01:07:50,551 --> 01:07:53,051 I think it's just we got to get out there and try and make things that work 1325 01:07:53,051 --> 01:07:56,901 for people and then See what people say when they try them and then keep, keep 1326 01:07:56,901 --> 01:07:58,651 going, keep iterating, keep trying again. 1327 01:07:59,311 --> 01:08:01,571 So if you're sitting and listening to this, I don't 1328 01:08:01,571 --> 01:08:02,361 know how many people are here. 1329 01:08:02,391 --> 01:08:03,521 There's a bunch of people wandered in. 1330 01:08:03,894 --> 01:08:06,364 yeah, like go, go make things, I guess. 1331 01:08:06,594 --> 01:08:09,524 Or try some of the things that we've made and complain about 1332 01:08:09,524 --> 01:08:10,534 the ways they don't work for you. 1333 01:08:10,534 --> 01:08:15,204 That's, that's honestly, that's honestly a pretty good, pretty good contribution too. 1334 01:08:15,754 --> 01:08:16,454 Such a gift. 1335 01:08:16,674 --> 01:08:17,104 Such a gift. 1336 01:08:17,353 --> 01:08:17,853 All right, guys. 1337 01:08:17,883 --> 01:08:18,443 Well, thanks. 1338 01:08:18,523 --> 01:08:21,146 And, yeah, look forward to the next time I get to chat with both of you. 1339 01:08:21,686 --> 01:08:22,296 I see it, Jess. 1340 01:08:22,906 --> 01:08:23,006 Take 1341 01:08:23,026 --> 01:08:23,486 care, y'all. 1342 01:08:23,626 --> 01:08:23,976 Oh, Hey. 1343 01:08:23,976 --> 01:08:27,446 And if anybody out there wants to see, I think you're going to the 1344 01:08:27,446 --> 01:08:28,916 local-first conf in person, right? 1345 01:08:28,916 --> 01:08:29,386 Yes. 1346 01:08:29,676 --> 01:08:29,936 I will. 1347 01:08:29,946 --> 01:08:30,106 Yeah. 1348 01:08:30,106 --> 01:08:30,736 I'm going to be there. 1349 01:08:30,736 --> 01:08:31,466 Gordon, are you coming? 1350 01:08:31,836 --> 01:08:33,836 I'm so sad to miss it. 1351 01:08:33,886 --> 01:08:35,211 Yeah, I will not. 1352 01:08:35,341 --> 01:08:35,811 Yeah. 1353 01:08:36,135 --> 01:08:37,965 I think it's going to be glorious though. 1354 01:08:37,995 --> 01:08:41,261 It's, it's going to undoubtedly be an interesting cross section of people. 1355 01:08:41,261 --> 01:08:44,391 I feel like this is a, an idea that's just breaking into 1356 01:08:44,391 --> 01:08:46,011 sort of broader consciousness. 1357 01:08:46,101 --> 01:08:48,401 and the people who have been investing in it for a long time, 1358 01:08:48,401 --> 01:08:49,801 I'm sure are all sure to be there. 1359 01:08:49,801 --> 01:08:51,601 And it's, it sounds like it's going to be a real party. 1360 01:08:51,861 --> 01:08:52,141 Yeah. 1361 01:08:52,141 --> 01:08:55,121 local-first conf I mean, not everybody will be there, but hey, that's the idea. 1362 01:08:55,355 --> 01:08:57,934 local-first conf, it's in Berlin, end of May. 1363 01:08:58,464 --> 01:08:59,834 yeah, you should look it up. 1364 01:09:00,774 --> 01:09:02,064 Berlin is amazing too. 1365 01:09:02,494 --> 01:09:04,054 That should be like excuse enough. 1366 01:09:04,084 --> 01:09:04,904 Oh my goodness. 1367 01:09:05,371 --> 01:09:05,961 What a place. 1368 01:09:06,731 --> 01:09:07,091 Alright. 1369 01:09:07,701 --> 01:09:08,151 See you guys. 1370 01:09:08,341 --> 01:09:08,651 Bye.