Having been a dev on EtherPad, Google Wave, Coda, and other real-time collaborative apps with OT, undo, and so on... I think it's correct that, ideally, there would be a framework that handles real-time collaboration, undo/redo, and offline support for you, and then you build your app with these problems already solved. I will probably create such a framework eventually. I don't see it as a database engineering probl…
Web Applications from the Future: A Database in the Browser
21–30 of 75 posts
Re: Web Applications from the Future: A Database in the Browser
#22Having been a dev on EtherPad, Google Wave, Coda, and other real-time collaborative apps with OT, undo, and so on... I think it's correct that, ideally, there would be a framework that handles real-time collaboration, undo/redo, and offline support for you, and then you build your app with these problems already solved. I will probably create such a framework eventually. I don't see it as a database engineering probl…
Where would one go to follow along if you start building this framework? You’ve got one pending GH star from me :)
We solve a lot of these problems. This whole article speaks to the longer term vision. Even the article's Title is effectively our internal pitch: a web first database... that enables very low latency collab
Re: Web Applications from the Future: A Database in the Browser
#23Re: Web Applications from the Future: A Database in the Browser
#24Having been a dev on EtherPad, Google Wave, Coda, and other real-time collaborative apps with OT, undo, and so on... I think it's correct that, ideally, there would be a framework that handles real-time collaboration, undo/redo, and offline support for you, and then you build your app with these problems already solved. I will probably create such a framework eventually. I don't see it as a database engineering probl…
There are a few of those frameworks. The first one that comes to mind is YJS here is a getting started[1]. 1. https://www.tag1consulting.com/blog/deep-dive-real-time-coll...
And the parent comment may be making light of some of the big issues in the space. You need to be generic, but also performant and simple compared to the competition.
Real time text editing is not trivial although there's solid prior art now. Even undo management is a whole problem space (what should a cross user undo look like if there have been dependent changes).
Re: Web Applications from the Future: A Database in the Browser
#25Earlier quoted context omitted.
"as long as we’re okay with having a single leader, and are fine with last-write-wins kind of semantics, we can drastically simplify this and just facts are enough" It's not a direct reference to CfRDTs or operational transforms. They're not wrong that last-write-wins is easiest to implement, but some applications it doesn't quite cut it.
Most CRDTs (last-write-wins being one of them) will result in a terrible user experience, and nobody would want to use it for collaboration. That's why most of these collab systems use OT, which is not trivial to implement.
Re: Web Applications from the Future: A Database in the Browser
#26Earlier quoted context omitted.
+1. I would even pay to watch you code this.
Didn’t know there was a market for coding session watchers. Let me know if someone’s interested in watch me slow-code my current long running side project: Focusly.
I think this is an actual niche on Twitch.
Re: Web Applications from the Future: A Database in the Browser
#27You should have a look at RxDB which does exactly what you have described. Also notice that neither firebase nor supabase is really offline-first. https://github.com/pubkey/rxdb
Re: Web Applications from the Future: A Database in the Browser
#28Having been a dev on EtherPad, Google Wave, Coda, and other real-time collaborative apps with OT, undo, and so on... I think it's correct that, ideally, there would be a framework that handles real-time collaboration, undo/redo, and offline support for you, and then you build your app with these problems already solved. I will probably create such a framework eventually. I don't see it as a database engineering probl…
Re: Web Applications from the Future: A Database in the Browser
#29Not a single mention of CRDTs or operational transforms in the article. If all you need is a client side database to replicate Figma and Google Docs then they would have long shut down.
https://en.wikipedia.org/wiki/Conflict-free_replicated_data_...