Automerge: a new foundation for collaboration software [video]
1–10 of 33 posts
Re: Automerge: a new foundation for collaboration software [video]
#2Re: Automerge: a new foundation for collaboration software [video]
#3I had to roll my own persistence implementation on top of IndexedDB and I still haven’t touched the backend synchronization part.
I would love to see Y.js or Automerge more throughly supported by a wider ecosystem of elements that make building a production app easier.
Re: Automerge: a new foundation for collaboration software [video]
#4I really love Automerge, had some fun in the last months with building some small experiment. Some major problem I see currently is the lacking ecosystem. I had to roll my own persistence implementation on top of IndexedDB and I still haven’t touched the backend synchronization part. I would love to see Y.js or Automerge more throughly supported by a wider ecosystem of elements that make building a production app eas…
Re: Automerge: a new foundation for collaboration software [video]
#5Re: Automerge: a new foundation for collaboration software [video]
#6I really love Automerge, had some fun in the last months with building some small experiment. Some major problem I see currently is the lacking ecosystem. I had to roll my own persistence implementation on top of IndexedDB and I still haven’t touched the backend synchronization part. I would love to see Y.js or Automerge more throughly supported by a wider ecosystem of elements that make building a production app eas…
Re: Automerge: a new foundation for collaboration software [video]
#7I really love Automerge, had some fun in the last months with building some small experiment. Some major problem I see currently is the lacking ecosystem. I had to roll my own persistence implementation on top of IndexedDB and I still haven’t touched the backend synchronization part. I would love to see Y.js or Automerge more throughly supported by a wider ecosystem of elements that make building a production app eas…
BTW Rust port of Y.js might be start of something rather wild. :)
Re: Automerge: a new foundation for collaboration software [video]
#81. Extremely difficult to build backend in other programming languages than Nodejs
Rust implementations https://github.com/automerge/automerge-rs https://github.com/yjs/y-crdt
You will cry looking at source code https://github.com/yjs/y-crdt/blob/main/yffi/src/lib.rs
C-binding, FFI, etc
2. Both communities are great. Before committing recommend to go through issues and discussions
Yjs forum https://discuss.yjs.dev/
Automerge Slack https://join.slack.com/t/automerge/shared_invite/zt-e4p3760n...
3. Watch out implementations of underline libraries. Trace lib0 libraries usage and internals in Yjs for example
https://github.com/yjs/yjs/blob/7bd764fba73fecb8bacd1eb82a4b... https://github.com/dmonad/lib0
JavaScript engines use UTF-16 encoding. Golang (my main backend language) is using UTF-8 ... reimplementing Yjs code in Golang with algorithms and optimization and futher scaling might become impossible for small startups.
Build parallels with Automerge
4. Rich editing similar to Google Doc is very very complicated subject with lot of landmines
BitPhinix seems making a progress on updated example https://github.com/BitPhinix/slate-yjs/tree/next
However there is a surprise waiting for you on backend https://github.com/BitPhinix/slate-yjs/blob/next/examples/ba...
See "@hocuspocus/server" https://tiptap.dev/hocuspocus/
5. There's ProseMirror editor for collaborative editing. However you might not like its internals compare to Slatejs (which is far from perfect and lot of people rely on hard forks)
Feel free to ping me on Telegram @reactima if you are committed to build something similar to Notion.so or thinking to add collaborating editing with Slatejs and Reactjs. I'm really curious how other people plans to live with Yjs and Automerge impressive foundation.
Re: Automerge: a new foundation for collaboration software [video]
#9Re: Automerge: a new foundation for collaboration software [video]
#10Main takeaways from toying with both Yjs and Automerge: 1. Extremely difficult to build backend in other programming languages than Nodejs Rust implementations https://github.com/automerge/automerge-rs https://github.com/yjs/y-crdt You will cry looking at source code https://github.com/yjs/y-crdt/blob/main/yffi/src/lib.rs C-binding, FFI, etc 2. Both communities are great. Before committing recommend to go through iss…
What we’ve done or set up for the next year:
* The Y-Collective to fund more and more related projects, like slate-yjs: https://opencollective.com/y-collective
* The Hocuspocus backend you've discovered, which will become public in April or so
* A cloud offering we’re bootstrapping to hopefully get even more money into the ecosystem
* Y.js core support for the Tiptap editor (900k downloads/month), with a lot more advanced features coming next year
* More and more frontend libraries, like SyncedStore which was on the frontpage a few days ago: https://syncedstore.org/docs/
* The Y.js Rust port: https://github.com/yjs/y-crdt
Exciting times!