Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide more notes on realtime #7

Merged
merged 1 commit into from
Mar 17, 2017
Merged

Provide more notes on realtime #7

merged 1 commit into from
Mar 17, 2017

Conversation

rgbkrk
Copy link
Member

@rgbkrk rgbkrk commented Mar 16, 2017

Follow up to #6

@rgbkrk
Copy link
Member Author

rgbkrk commented Mar 16, 2017

/cc @pcuci

@betatim betatim merged commit bad8c97 into master Mar 17, 2017
@betatim
Copy link
Member

betatim commented Mar 17, 2017

gotta encourage those that write stuff down 📝

@lgeiger lgeiger deleted the realtime-notes branch March 17, 2017 14:34
@rgbkrk
Copy link
Member Author

rgbkrk commented Mar 17, 2017

I thought we also had some notes somewhere about realtime from chatting with @williamstein. Maybe we left them in hackpad?

@williamstein
Copy link

Maybe we should chat again... Incidentally, I spent the last week working on a new sync-friendly from-scratch react.js-based frontend for Jupyter that will integrate with SMC but looks like Jupyter.
I'm doing this since solid working sync for Jupyter is incredibly important to our customers, and I've failed at getting this to work 100% on top of the existing Jupyter implementation, e.g., due to lack of a stateful backend and other issues. In short, I'm trying to fix this bug.

@williamstein
Copy link

Gees, I should also add that I also spent two very focused weeks recently on a new realtime sync implementation for "basically" JSON documents rather than strings. This is, of course, critical for structured documents like Jupyter. This is now in production, and has exactly just enough functionality to handle our structured document types, but not too much. It's very useful designing something like this based on concrete actual needs (i.e., to fix into existing implementations) rather than fantasy.

This implementation is not documented very well or explained anywhere, but here's the code. The philosophy of how it works is probably a lot more useful than the code -- it really was just a few days to implement on top of other building blocks, once I knew what I needed. Incidentally, it turns out that using immutable.js was incredibly helpful for this; I did a complete implementation without immutable.js which sucked, so I just deleted that entire thing and started over.

@williamstein
Copy link

I thought we also had some notes somewhere about realtime from chatting with @williamstein. Maybe we left them in hackpad?

Maybe https://jupyter.hackpad.com/Real-Time-Collaboration-Notes-nYZaQMst6JL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants