Why is the talk around CRDTs all about collaborative editing, and less about the more mundane but much more common scenario of multi-master CRUD apps?
Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT
11–20 of 33 posts
Re: Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT
#12Why is the talk around CRDTs all about collaborative editing, and less about the more mundane but much more common scenario of multi-master CRUD apps?
Last year I experimented with combining Yjs with PouchDB/CouchDB to achieve automatic conflict handling with a multi master type architecture and eventual consistency. It worked brilliantly!
I think it’s because there is just generally so much hype around “real-time” collaborative apps at the moment. But the reality is people spend much more time working async and merging changes later. I suppose what’s particularly brilliant with CRDTs is that they handle both use cases very well, you don’t have to have two different systems.
Re: Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT
#13This looks really fun, modern incarnation of Google Wave. Made a test room here: https://yboard.lol/lobby?join=hackernews
Re: Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT
#14Why is the talk around CRDTs all about collaborative editing, and less about the more mundane but much more common scenario of multi-master CRUD apps?
Completely agree. Where CRDTs really shine is when you have a larger deviation of changes over time. They are brilliant for offline first type apps, and in fact are what Apple Notes use. Last year I experimented with combining Yjs with PouchDB/CouchDB to achieve automatic conflict handling with a multi master type architecture and eventual consistency. It worked brilliantly! I think it’s because there is just general…
.. and can equally be used to make CRUD if you wanna.
Re: Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT
#15Could WebRTC be used instead of websockets? Then you wouldn’t need a server (apart from a public STUN/TURN endpoint)
Yjs is built to allow you to switch easily between providers so it shouldn't be too much trouble to make the change.
[0] https://github.com/yjs/y-webrtc [1] https://github.com/felipeleivav/yboard/blob/main/src/service...
Re: Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT
#16Why is the talk around CRDTs all about collaborative editing, and less about the more mundane but much more common scenario of multi-master CRUD apps?
I'm unclear how much of this is just a function of the 'talk' that we hear. For cultural reasons building frontend web-apps has bigger communication share than e.g. embedded software. Something similar might apply.
Alternatively, CRUD apps are more the domain of enterprise SW which has not traditionally been where innovative software engineering has been done.
Re: Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT
#17synchronizing after offline editing is the main reason to use CRDTs, but i don't see offline mentioned at all in the readme. (demo is currently hugged to death, so i can't test.)
Re: Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT
#18"Couldn't connect to the room server. Error joining room" Show something cool on HN and get hugged to death :)
Websocket server went down but already fixed that.
Thanks for testing.
Re: Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT
#19Why is the talk around CRDTs all about collaborative editing, and less about the more mundane but much more common scenario of multi-master CRUD apps?
Re: Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT
#20Why is the talk around CRDTs all about collaborative editing, and less about the more mundane but much more common scenario of multi-master CRUD apps?