3 ms·
This is delightful!!! Especially their attempt at MPC or CAS, and they get huge points for their research on CRDTs (something our Open Source library handles fo
by marknadal 8y ago
This is delightful!!! Especially their attempt at MPC or CAS, and they get huge points for their research on CRDTs (something our Open Source library handles for you https://github.com/amark/gun https://github.com/amark/gun) and OT (not P2P, requires a centralized resolver). Key quote:
> We have opted for a centralised repository-like approach that would store editing operations from different users. This is also the basis of the per-user undo system, and we combined that with a local database to store transient snapshots (canvas is bitmap based), so that we can redraw any point of the repo history with minimal number of operations. Repository also implements automatic pruning of older history to limit complexity for longer sessions.
They then mention a star configuration, yet they clearly demonstrate the app working without WiFi, could somebody on the team explain more what they mean by that? Just that the data is in a star configuration (not the network)?
Incredible work :) :) :) it is very rare I see legit P2P tech out there, definitely worth the upvotes!
- rsebbe 8y agoThank you! I'm from the team, I'll try to answer your question. One tablet creates the drawing group, and other tablets join that group. The host centralizes the data submitted by participants (guests), and it redistributes it to all other. So it's "star" because one manages the data, and it's "peer-to-peer" because it uses an Apple Wi-Fi extension that enables direct NxM networking of devices (no Wi-Fi access point needed). Also works with Apple TV.
- archagon 8y agoHey! I'm not the person you're responding to, but since you're here anyway, I have a quick question. I found your article by Googling "MultipeerConnectivity" and "CRDT", to see if anyone had put the two technologies together. I was wondering: why did you decide to eschew MultipeerConnectivity in favor of your custom solution? What was missing from that framework? Also, what's the Wi-Fi extension that you used to implement your tech? Haven't heard anything about this, would be very interested in investigating further!