Hacker News Comments on
Tutorial: How to build an Collaborative Editing Application with IPFS using CRDT
IPFS
·
Youtube
·
62
HN points
·
1
HN comments
- This course is unranked · view top recommended courses
Hacker News Stories and Comments
All the comments and stories posted to Hacker News that reference this video.There are two 'code-along' style videos on the IPFS youtube page I found helpfulIPFS PubSub Demo: https://www.youtube.com/watch?v=Nv_Teb--1zg
Google Docs esque clone with CDRTs: https://www.youtube.com/watch?v=-kdx8rJd8rQ
Theres also a pubsub room example on the ipfs-shipyard github: https://github.com/ipfs-shipyard/ipfs-pubsub-room
⬐ KirinDaveJust an aside: Someone could make this a neovim, emacs/spacemacs, or sublime plugin in a heartbeat. It's easy to encrypt the traffic (although key-sharing is harder).Collaborative editing is "solved" enough now that it's essentially a library to include, not an open engineering task.
⬐ moosingin3spaceIt is my hope that one day, we'll use IPFS and other similar tools to enable our apps to work effectively in mixed-connectivity environments.⬐ KirinDave⬐ z3t4Imagine a future version of IPFS that can recognize partitions and form sub-networks within an isolated network. Then, there's no difference between offline, isolated network, and public mode except for connectivity, and the way to import data is to have your inner nodes pin it!⬐ moosingin3spaceI really like this idea. Would improve the user-visible quality of wireless mesh networks where latency can be high.⬐ KirinDaveI think the challenge to it is that DHT structures right now are not themselves commutative. We need a CRDT foundation for DHTs, themselves!And one that has an asymptotic algorithmic complexity bounded near O(N^2) or less to handle the massive workloads these things can see.
Where's the code for implementing support for textarea, ace, codemirror etc ?⬐ gravypodWhy did the browsers drop connection to each other when he turned off wifi? Shouldn't they still be able to see each other? Do they need to talk to a 3rd party?⬐ timthelionIf it is decentralized, then why do I need node-js? Why do I need a webserver?⬐ lgierth⬐ lgierthPeerPad, which evolved from the data structure in this tutorial, can totally fine be run from any location:- https://ipfs.io/ipns/peerpad.net
- https://ipfs.io/ipfs/QmXhnaUzhiZ6EGvr2SwPgSZzVhfsTnzTW5EsXH6...
- http://localhost:8080/ipfs/QmXhnaUzhiZ6EGvr2SwPgSZzVhfsTnzTW...
And with the ipfs-companion browser extension:
- dweb:/ipns/peerpad.net
- dweb:/ipfs/QmXhnaUzhiZ6EGvr2SwPgSZzVhfsTnzTW5EsXH6TNnQcYD
- ipns://peerpad.net
- ipfs://QmXhnaUzhiZ6EGvr2SwPgSZzVhfsTnzTW5EsXH6TNnQcYD
Or by grabbing it using `ipfs get /ipns/peerpad.net` and clicking the html file in the resulting directory.
⬐ yosaminoBecause the datastructure being manipulated is the "decentralized" feature here.And to manipulate a datastructure you need software.
I am intrigued by your comment and your expectation about"decentralized", though.
And now I am curious: What were you expecting ?
⬐ timthelion⬐ KirinDaveI was expecting a standalone html file that could be run by clicking on it, or, due to that "same origin" b_llsh*t [1], at least served using any generic http server, not one which has to be specially configured and installed.[1] I know the security reasons behind this, I just find the hassle to be a counter-logical irksome, and insecure in most cases, hack.
⬐ KirinDaveI suspect you didn't read my reply, because if you did you'd recognize that [1] is simply not true.The only considerations here are simplifying the programming model. AFAICT, nothing in this demo needs a dedicated node server, it just simplifies the explanation.
Odds are though that if you're going to need your own personal centralization of some sort if there is any concept of user privilege in your system.
Actually, you absolutely could host the website inside IPFS and if you don't mind going to an incomprehensible ipfs.io/ipfs/___ address, it'll fetch.The webserver is there in this case to make life easier during dev, and to make it easy to call your local ipfs API service to do things like monitor the messages on the pubsub.
Oops, the URL in the video is outdated, the repo now lives at https://github.com/ipfs-shipyard/shared-editing-demoThis is also the tech that PeerPad is built on: https://peerpad.net && https://news.ycombinator.com/item?id=15624158