Realtime collaborative apps using Google Drive Realtime API
Google Drive lets users create Docs, Sheets, and Slides, collaborate on them in realtime. The Google Drive Realtime API provides collaboration as service for files in Google Drive via the use of Operational Transforms. Using Google Drive Realtime API, you can now easily build your own collaborative apps. Realtime API is based on the same collaboration technology used by Google Docs.
Realtime Collaboration System:
What Google Drive Realtime API does for you ?
Realtime API handles everything for you like network communication, storage, conflict resolution, and other collaborative details:
- Functions to load and work with Realtime documents.
- Built-in collaborative objects (Strings, Lists and Maps).
- Also you can create your own custom collaborative objects.
- Events for detecting changes to the collaborative data model.
- A text binder to bind your collaborative objects to the DOM.
Google Drive Realtime API provides all the tools you need to create your own great collaborative application without running your own server.
What you have to do ?
The only thing you have to do is to focus on the following two things:
- Designing a good data model (shared data model)
- Focus on building great apps.
Once you design your collaborative/shared data model for your app. It works just like local in-memory data model objects. You write code to manipulate maps, lists etc., When some user make changes in the shared data model, the data model automatically changes for all the users on the Realtime document/ Collaborative document. So what you need to do is attach listeners to the collaborative document, so that UI will get updated with the changes to reflect any remote changes thats been made. That’s it.
Note: The Google Drive Realtime API is a web-only API and not currently supported for use with server frameworks such as Node.js.
Lifecycle of a Realtime/Collaborative App:
- Enable the Drive API
- Load the Realtime library
- Authorize requests.
- Open/create a Realtime Document file.
- Load a Realtime Document and initialize the Shared data model.
- Make changes/ Listen for changes on the collaborative/shared data model.
Secrets of Realtime Collaboration:
- Every change to the data model is a mutation.
- Stores the entire mutation history.
- Local mutations are applied immediately.
- Google Drive Realtime API is based on OT (Operational Transformation).
Where we have used Google Drive Realtime API in our application ?
We have used Google Drive Realtime API to reconcile messages on different mobile devices i.e., when user login in one mobile device using registered gmail account id and uses the same account to login in another device, then the chat history/ messages will be reconciled and messages that user see on both devices will be consistent with another irrespective of from where user sends the message.