Live lets you share your DOM and cursor so other people can see what you are browsing. This will also let other users interact with your DOM with some limitations, making all the tabs in the space feel like a collaborative document. If done well, syncing tabs should be:

UI/UX


Live UX Spec

Once a user turns a Shared in to a Live, other users within the shared tabs space will be able to see that the tab itself starts glowing in the color designated to the original user. This tab will now be controlled by the original user.

All users default to multiplayer turned off. The original user can allow in other users on an individual basis, or all together. This is managed in Room

While in Live for the spectators, they'll be forced to look at the tab the non spectators are interacting in. Users will always be able to go to private tabs and use them but shared tabs will be locked to the one currently being synced.

If another user joins Live, the original user will be able to see the cursor of the new user with their designated color, and vise versa. This paradigm continues as users join the tabs.

Sensitive fields like passwords will not be synced.

whiteboard of mock tab

whiteboard of mock tab

Technical Requirements


this will be non trivial

Testing