4 ms·
Hey Everyone! Really appreciate this discussion. Here's some extra context. Logseq is an open source notetaking app (similar to Roam) that has a feature where
by bribri 4y ago
Hey Everyone! Really appreciate this discussion. Here's some extra context.
Logseq is an open source notetaking app (similar to Roam) that has a feature where you can publish your notes as a static site.
It has some advanced features where you can attach data to pages and bullet points (like some basic bio info, like name, site, twitter, tags) that you can query.
There are some public graphs out there, but they're hard to find and figure out who made them. The main goal is just to create a "link ring" where we can find each other.
This spec suggests a standard page on each graph called [[logseq-social/profile]]
That way, when you find a public graph, you can go there to find out about its author and who they follow. You can download that page to your notes, and a simple logseq query makes the bio information of each user you save show up on your follower list.
The idea is really simple, just agreeing on a convention for a "profile" page on logseq that has some standard tags.
Logseq has a really powerful plugin system that can have a whole react app in it, so down the line you could make a UI for friending, browsing, etc when more people have public graphs.
Plus, there's now tooling to host your logseq notes as a programmatic api.
So having some metadata standards opens up some interesting possibilities.
https://github.com/logseq/nbb-logseq/tree/main/examples/fly-io https://github.com/logseq/nbb-logseq/tree/main/examples/fly-...
There's lots of other stuff out there like this, but since this is just public static data there's hopefully a way to make it interoperable with existing solutions. If anyone knows of a good existing "bio" or link ring schema, I would be interested in taking a look.
I have other fun ideas like hosting graphs on IPFS, or even some day having every logseq bullet point block be an immutable record on ipfs for use by everyone.
Another example out there is agora, which seems to be somewhat compatible with markdown flat files that logseq uses https://anagora.org/agora-editor https://anagora.org/agora-editor
- chrisco255 4y agoHey Brian! Long time no see old friend! Love the broad direction, and I'm interested in digging into this area myself (decentralized social networks and applications). Recently been studying Lens Protocol a bit (https://lens.xyz/ https://lens.xyz/) which has a social graph system that records to the blockchain (Polygon in this case). Check that out and let me know what you think of it. I like the idea of hosting logseq graphs on IPFS. It does seem that with other decentralized networks I've looked at, that scaling up to Facebook level would not be practical as the size of the graph grows. It almost seems like you have to sacrifice decentralization for a centralized database. Do you think logseq would perform on that scale or would it be limited to niche social networks? Either way, signed up for the newsletter, looking forward to following your progress on this! And always down for a chat with an old friend!
- bribri 4y agoHey Chris! It's definitely an area I'm interested in. The super decentralized IPFS blocks is a little bit of a pipe dream, but it seems like it could work in theory. I like logseq because the "primitive" where they store/organize the data called a "block" which is pretty well thought out. It's just an object with content and a pointer to a parent. Seems like you could content hash it and store it on ipfs forever. Haven't fully thought out what that would look like yet though. It could be developed as a plugin for logseq. Seems like it could scale, lots of other problems like search though. {:block/uuid #uuid "62a8318e-ff36-4f97-9ef5-f19c3f3041bf", :block/left {:db/id 67152}, :block/format :markdown, :block/content "Users create a bio under a page called `[[logseq-social/profile]]`", :db/id 67144, :block/path-refs [{:db/id 20}], :block/parent {:db/id 67160}, :block/unordered true, :block/page {:db/id 20}} https://github.com/logseq/logseq/blob/d0755ef161eb826e452b928861ef7c116c037b62/deps/db/src/logseq/db/schema.cljs https://github.com/logseq/logseq/blob/d0755ef161eb826e452b92... The other dapp "primitive" I'm interested in is dChat. Seems like there could be some overlap between blocks and chat built on the same primitive. For now, I'm mostly focused on getting technical users to just make their own personal sites since it's really easy with logseq and netlify. I'm not a dapp expert at all (though I do host my traditional static site on ipfs https://gateway.pinata.cloud/ipfs/QmRDPhzAjBdBovPhhPKt4tanFpRpfuJw1ji9m2wGXLQHbj https://gateway.pinata.cloud/ipfs/QmRDPhzAjBdBovPhhPKt4tanFp...) Happy to hear from you and I'll definitely look into the lens protocol!