i have been building 友/os (tomo) which you may have seen on my feed. 友 is a p2p native operating system that tries to tie together a selection of technologies and design patterns that we think could be used to create some really cool user experiences. up until now we’ve been exploring the p2p/dex space to see what was out there. lotta cool shit fam we’ve taken a lot of notes (which we are slowly copying into this wiki) and we’ve finally gotten to the point where we’re comfortable getting my hands dirty and building stuff.
defeating web in terms of development and user experience on a micro scale isn’t all that hard. market share is nice, but what we really care about is having a community of people that is excited about building interesting stuff. we really like the approach haiku has taken where they are open to external tech, but they spend a lot of time integrating it so it feels like a native part of the system. now, we hope we can have a faster pace than haiku, but that’s a different topic.
we have mentioned this in other posts, but the strategy we’re taking is what we call a freedom garden. sort of a play on “walled garden” where some means are used to keep users trapped or tethered to your platform somehow. a freedom garden is a decentralized application platform that actively prevents non-freedom respecting interests from gaining a meaningful amount of traction. how?
- we use only non-ip copyfree/public domain licenses
- all network traffic is encrypted and anonymized by default
- all user data is encrypted by default
of course this could be used for all kinds of awful things, but the actual point is to place my data and my software exclusively under my own control. this allows us to start from a place of absolute freedom that can be tempered through voluntary agreements. i don’t know what the best interaction model is so i’m not going to pick one.
we are calling this core model anonymous pseudonymity basically, your identity is an asymmetric keypair that can’t be linked to a specific physical device, network address, or location through normal coms so, if you want strong anonymity you can discard your key after every session and/or keep certain keys around to provide a reference persistent or semi-persistent identity. you can always add more identity, but if your system is designed to have identity it can be very difficult to remove the concept.
its also important to enable commerce in a way the respects the privacy conscious ideas we have embraced. i am very inspired by the elementaryOS indie dev market that has a “pay what you want” model build right into the app center. that’s dope. libre software with an easy option to support the developer if i want to. this is something that @firstname.lastname@example.org got exactly right. he created mastodon and gets tipped for his work. patreon has issues, but the basic model is sound in my mind.
another angle on this
consider something like snapchat. one feature raised 3 BILLION USD. that’s nuts. the problem is, they didn’t win. facebook copied their idea (brilliant imo, but that’s a separate topic) and used their network to get traction really fast. SNAP still has a lot of capital, but they are facing a money making machine with effectively unlimited resources. i really don’t think they can win if they mean to go head to head with FB.
looking at this one might think, how do we level the playing field when the opposition is effectively god? like the key to all of this is resources. so maybe we consider who is paying for what? cloud operations are really expensive at scale, and, as a developer, i have to front all of that myself if i want to get any users. this also means that my costs increase as my user base increases. this model dooms us to a world of acqui-hires and giant tech conglomerates. infrastructure cost is a real problem.
individually, users don’t cost much. the flip side is that social networks aren’t interesting without a lot of users. ok so we need scaleability and low costs, like really low costs, like zero. if (as a developer) my infrastructure is free all i have to worry about is making cool shit. i don’t have any pressure to monetize (but i can always take tips!) and if FB or anyone else tries to copy me they can’t outspend me because the only resource i’m utilizing is time.
think about that last statement for a second:
if FB or anyone else tries to copy me they can’t outspend me because the only resource i’m utilizing is time
at scale, we could be attacking these mega-corporations from every angle and force them to bleed capital while our grassroots communities are happily using our dex tech and tipping us with monero for doing a good job. there are a lot of unknowns and challenges here, but by having each user pay for their own slice of the network it frees developers to create much cooler shit because they can just have a fun time.