In May 2009, when Google launched Google Wave at its developer conference, real-time collaboration across browsers represented the cutting edge of Web technology. Four years later, collaboration can be implemented as an afterthought.
As Ian Bicking, engineer at Mozilla, and Robert Nyman, technical evangelist at Mozilla, explain in a blog post, TogetherJS allows website visitors to see each other's mouse position on screen, to follow each other's browsing, to edit Web forms or watch videos together and to chat via audio and WebRTC.
[ Is Captcha, the swirly-letter security mechanism we love to hate, on its way out? Read Forget Captcha, Try Inkblots. ]
To those who follow Web technology closely, this might evoke a sense of deja vu. The introduction of TogetherJS is really the re-introduction of a Mozilla project called TowTruck that debuted in April.
TogetherJS is TowTruck under a new name, with new capabilities, including: auto-follow, which allows a user to follow another user to a different Web page; participant windows, which provide information about other users in an active collaboration session; profile settings, which allow avatar selection and color customization; revised notifications, which provide a clearer sense of what other participants are doing; and mobile device support.
The framework remains extremely simple to implement. Mozilla has made it possible to add collaboration to any website with only a few lines of code. However, not all browsers can handle TogetherJS: Web Sockets support is required. Recent versions of popular Web browsers support Web Sockets, but Mozilla recommends either Firefox or Chrome. WebRTC support is required for audio chat.
TogetherJS assumes users will be happy using Mozilla's hub server for coordination. For companies that can't do this for security reasons, it's also possible to host one's own hub server.