Channels

Services

Mozilla parks TowTruck to help browsers collaborate

TowTruck is a new Mozilla Labs experiment for collaboration on the web. Implemented entirely in JavaScript, the proof-of-concept service is designed to give real-time chat and voice communications and let two users work together on a web page. Typically, collaboration on the web has meant specially customised applications to handle multiple users, but with TowTruck, it should be possible to allow any web page or web application to be a collaborated page.

A developer need only add a "TowTruck" button to their page; when a user clicks on that button, they are given a TowTruck link which they can share with a friend. That friend can go to the link and the user will be notified and a TowTruck session begun. A backend Node.js server is used to pass messages back and forth between clients.

Those messages include the clicks and other page changes that each user makes being sent to the other user's browser; if user one types "hello" into a text field, user two's browser will get the same sequence of events – selecting the text field and typing h-e-l-l-o – injected into it by the TowTruck client. While this is going on, the users can audio chat or text chat about what they are doing.

The mechanism currently appears to rely on the state of the page being identical when the session begins and in initial testing at The H it was difficult to establish a functioning session between two browsers, though this may be due to issues with the server backend as the service has only just launched. There is also a Firefox add-on which can add TowTruck to any site.

All the TowTruck code is described as being of alpha quality and not ready for production use. The code is available on GitHub, under an MPL 2.0 licence, for interested developers.