Jupyter Notebooks are the most widely used open-source tool for computer science education and research using Python. Particularly in machine learning and data analytics, these notebooks offer a way to incrementally explore and build up your work. However, these notebooks only support a single user at a time. For those working in teams, Jupyter Notebooks are simply not an option. With Actually Colab, we are providing online Jupyter notebooks that support real-time collaboration amongst any number of users. Similar in functionality to services like Google Docs, any number of users can work in the same notebook at the same time and see the changes that their peers make. In addition to making changes, each user has their own custom runtime to execute their code as they go. Once their code executes, the outputs are also shared with each user with the same technology that supports the cell edits. If needed, they can also export the notebook to a local copy that is compatible with the ori...
Jupyter Notebooks are the most widely used open-source tool for computer science education and research using Python. Particularly in machine learning and data analytics, these notebooks offer a way to incrementally explore and build up your work. However, these notebooks only support a single user at a time. For those working in teams, Jupyter Notebooks are simply not an option. With Actually Colab, we are providing online Jupyter notebooks that support real-time collaboration amongst any number of users. Similar in functionality to services like Google Docs, any number of users can work in the same notebook at the same time and see the changes that their peers make. In addition to making changes, each user has their own custom runtime to execute their code as they go. Once their code executes, the outputs are also shared with each user with the same technology that supports the cell edits. If needed, they can also export the notebook to a local copy that is compatible with the original Jupyter Notebook service.

One of the key concerns in hosting a service that allows users to write and execute arbitrary code is the potential cost of users who need to leverage large datasets or are creating complex machine learning models. While the hosting costs of supporting real-time collaboration are minimal, the potential execution costs of user runtimes are immense. To address this, we came up with a novel solution that allows users to run and connect to their own local runtime seamlessly. To do this, we leveraged the existing open-source Jupyter Kernel and created a simple application that users can run on their computer or on any remote server they own. With this, users' own machines take on the runtime, while our servers remain lightweight and only manage the live collaboration aspects.
More information

Employees