One of the essential directions of modern web development is real-time collaboration. Ability to work simultaneously online is introduced into many popular systems and software. Mozilla Labs offered a tool that can help in implementing this feature - a drop-in collaboration framework TogetherJS.
TogetherJS is a free and open source HTML5 based JavaScript library that aims at providing real-time collaboration between users. It makes adding collaboration features and tools to your website as easy as possible. Since TogetherJS is implemented in JavaScript, no additional software or plugins are needed. Just include a couple lines of JavaScript code and TogetherJS tools are enabled. To start collaborating on the web site users need to activate the TogetherJS tool and send a unique url to a friend. After the friend opens it, each user sees the same page and they can interact with it simultaneously in real time.
The most basic yet important feature provided by TogetherJS is cursor-mirroring. The users can see each other’s mouse cursors, their clicks and positions on the screen in real time. For communication users can chat with each other using instant messaging or real-time voice chat (Web RTC technology is applied to ensure its proper work). Synchronization is available for collaborative editing of forms/texts and playing/pausing videos. Among library’s built-in features are: co-browsing and real-time content sync. Users can follow each other browsing through the same domain and can see content on a website or an application dynamically change.
TogetherJS developers wanted to add real-time collaboration, co-browsing, and co-presence to all websites and applications without being development platform dependent or domain-specific. TogetherJS has the basic features out-of-the-box, but can be easily customized to adapt to the targeted website.
To have basic Plone integration for TogetherJS you can add collective.js.togetherjs package to your Plone website. This add-on provides registration for JS resource and a viewlet that injects the button for enabling TogetherJS.
TogetherJS is a JavaScript library that adds collaboration tools to your website. It is built for the web, customizable and friendly with existing web pages. Make it easy for users to collaborate and help each other out in real time. For more information visit TogetherJS website or watch introductory video: