Collabs Demos

Each link leads to a collaborative app. Anyone who visits that page can make edits and (hopefully) see the same state. Try it out by opening a demo in multiple tabs or using it at the same time as a friend.

Note: Collabs is alpha software, and the demos are prototypes. So errors or inconsistencies (different users seeing different states) may occur. This is especially true for demos marked "(experimental)", which try out new or more complex library features. Additionally, the server occasionally resets when no one is using it, erasing the demos' states.

Usage Over Matrix

You can also run the above demos over Matrix, using a Matrix room (group chat) to communicate instead of this server.

To add a demo to a Matrix room:

  1. Copy the "Matrix widget command" from the demo's "More Info" page. E.g., for the rich text editor, it is

  2. Send that command as a message to the room. This adds the widget.
  3. Now or later, open the widget using a widget-capable Matrix client. E.g., in Element Web: click "Room Info" in the top-right, then select "Custom Widget".
When you use Matrix instead of the above links:

Demo Containers

All of the demos are packaged as Collabs containers that you can run on the network of your choice. Specifically, you can run the container in any "container host", which handles networking and storage for the container. This is how we deploy our demos both on this server and over Matrix: each runs a container host, while the demo is compiled only once. Selector and Tile Board also run nested apps this way.

Each demo's "More Info" page has a download link that you can use to download or link to its container. You can provide this file/link to a container host run by someone else, or to Selector or Tile Board when they ask for a file/URL. Unless noted otherwise, the file is an HTML file that includes all of the demo's code and dependencies. This means that if you download the file now, you can use it later in a (version-compatible) container host, even if this website goes down.

About

Collabs (npm, Github) is a TypeScript library for building and using collaborative data structures. This site demos collaborative apps built on top of the library, made by Collabs contributors.

The demos linked above connect users via this server and don't really support offline editing. However, in principle, they can run on top of any network (Matrix, WebRTC, someone else's server, a mix, etc.) and continue working offline, syncing changes later. They can also be downloaded (link on each demo's "More Info" page) and used indefinitely, unlike traditional cloud-based collaborative apps, which can go away at any time.

Source code