Live data from Hacker News

Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT

github.com

11–20 of 33 posts

Re: Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT

#11
post #9

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?

Because CRUD is the opposite of collaborative editing, and people are sick of it - CRDT represents a solution to getting humans working together through computers that isn't based on decades of cruft (disclaimer: imho)

Re: Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT

#12
post #9

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?

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 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

#14
post #9

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?

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…

>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.

.. and can equally be used to make CRUD if you wanna.

Re: Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT

#15

Could WebRTC be used instead of websockets? Then you wouldn’t need a server (apart from a public STUN/TURN endpoint)

Haven't tried with this specific project, but Yjs has a WebrtcProvider [0] which could be used where the project now uses WebsocketProvider [1].

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

#16
post #9

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?

> Why is the talk around CRDTs all about collaborative editing, and less about the more mundane...

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

#17
since this is based on CRDTs, does that mean one of the collaborators can go offline, continue working, and re-synchronize with the rest of the collaborators when they come back online?

synchronizing 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

#20
post #9

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?

Never heard of those before, what's a use case for multi-master CRUD apps?
Post reply on HN