6 ms·
So it looks like the clients talk to each other through AWS. Would it be possible to use GDrive/Syncthing/Dropbox as the IPC mechanism for CRDT (e.g. store cha
by Evidlo 5y ago
So it looks like the clients talk to each other through AWS.
Would it be possible to use GDrive/Syncthing/Dropbox as the IPC mechanism for CRDT (e.g. store changes in a bunch of small files in a hidden folder which gets synced to other clients)?
I understand syncing would probably not be fast enough for a live cursor, but the benefit is you wouldn't have to worry about networking or accounts.
Just an idea I've had in my head for a while.
- sambigeara 5y agoProviding Go has a decent enough client/interface into the tools you listed above, absolutely!! The original "remote" I implemented was a single S3 bucket (no websockets, just a static file location), and if you set the synchronisation intervals to something in the realms of 10ths-1s of a second, you had near enough real time sync/collaboration! I created a (really poorly named) abstraction called a WalFile which is basically an interface to implement these remote targets. Theoretically, you could build one for any service out there. If there was demand for one, I'd totally give it a go! Sods law - I temporarily disabled support for the direct S3 remote yesterday because it's slightly broken. But it's a minimal amount of work away from having it functioning again.
- Evidlo 5y agoWhy would you need to interface with these tools at all? In my mind it would be completely agnostic of the synchronization service and rely solely on file read/writes on the shared filesystem.
- sambigeara 5y agoSorry, I think I misunderstood. The sync mechanism itself is completely agnostic. The interface I'm describing is more in regards to accessing it. Only requirement is that you can access a file and run a bunch of basic operations (list, get, put etc)