Joel Gustafson / Things

GitHub, Demo

Prototypical is a decentralized note-taking application. You can type things, save them, and share them with your friends.

You can use markdown to make headers and style text, and also embed images with ![alt text](image url). That's pretty cool. You can also save your work (with Ctrl+S or Cmd-S), which changes the URL to be some scary hash thing. Then if you share that URL with someone else, they'll see the content that you saved by asking your computer for it! You can also open another hash with Cmd-O or Ctrl-O, or just by pasting the hash into the url bar. It's magic.

You can also collaborate! Cmd-Shift-S displays your document id, and Cmd-Shift-O lets you join others' documents by pasting in their id. Prototypical uses Y.js for CRDTs so that changes never cause documents to diverge - and uses pubsub over IPFS to broadcast operations. This means the latency is super low - low enough to type on one machine while looking at the document on another. For now, you can't collaborate between two windows on the same computer - only between two physically different computers. I could change that, but it would break other things that I like having around more.

The content that gets persisted to IFPS is pure HTML (i.e. not markdown, "# Hello" => <h1>Hello</h1>) so when js-ipfs finishes circuit relays you can just cat a hash from the terminal or visit read-only pure-html content at an IPFS gateway (e.g.<hash>). Exciting!