4 ms·
Assuming I trust Google with all the data and all my users have Google Drive, this looks like a super easy way to make documents created in a web app editable i
by pak 14y ago
Assuming I trust Google with all the data and all my users have Google Drive, this looks like a super easy way to make documents created in a web app editable in real time by multiple users.
I'm curious about the details though, which would be ironed out with some more detailed playground examples. Does the API handle merging of the update events on the client side, or do I have to do all that work myself from the stream of insert/removal events? Can I handle them myself if I want? Assuming I want to extend the UI of these updatable strings, so that people can see other people's cursors and such, what would I need to do? Is the client-side library extendable so it can update my UI without hammering my customizations (cursor position, formatting, embedded data transformed into HTML)? How will that scale once the document grows to a considerable size (will I be able to update only changed portions of the DOM created by a large document without doing my own complex diffing logic on the client side)?
For example, build me a basic rich text editor in this that mimicks some of the features of Docs, and show me how much extra code that takes. This code sample by itself doesn't make me confident that the above features would be simple: https://github.com/googledrive/realtime-playground/blob/master/js/rtpg.string.js https://github.com/googledrive/realtime-playground/blob/mast...
It's precisely those richer features of the Google Docs experience that people crave when they say they want to add "realtime collaboration" to an app, not just .val()'ing form fields to the latest known value from the server. Right now this looks like it has the features of a backbone.js + Couch adapter (e.g., http://janmonschke.com/projects/backbone-couchdb.html http://janmonschke.com/projects/backbone-couchdb.html) except Google sits on all my data.