Collaborative Web Browsing
The goal of the Collaborative Web Browsing project is to enable simple, real-time, distributed collaboration via web browsers. This effort allows Internet users to collaborate (without any special software) by remotely controlling each other's web browser. The end user requirements are very lightweight to insure that users can participate simply by visiting a web page. Despite the minimal system requirements, a surprisingly high level of collaborative functionality is provided -- such as distributed browsing, scrolling, form-filling, and pointing.
Background & Objective: Real-time, browser-based collaboration allows users anywhere on the Internet to synchronously view the same content, at the same time, using their web browsers. For example, if one user browses to a new web page, or scrolls down in a web page, then every other user in the collaborative session will see that change reflected in their web browser, too. It is desirable to provide such a collaboration solution that allows arbitrary users to collaborate immediately from anywhere using a standard unmodified web browser. Some heavyweight solutions require users to pre-install a binary application or a browser plug-in. Existing solutions may be proprietary, and may have significant network bandwidth requirements. In order to leverage existing web sites and web tools, it is also desirable to find a solution that allows users to collaborate on web content. That is, users should be able to see and manipulate actual (HTML) web pages in their browsers, rather than being restricted to content that is in some proprietary data format. Furthermore, web page authors or web site administrators should not have to modify the contents of their existing web pages in order to allow users to collaborate on them. Nor should users have to learn a new user interface. Finally, it should optionally be possible to conduct such collaborative sessions privately, and through existing firewalls.
Technical Discussion: Our solution to provide browser-based, real-time, distributed collaboration that meets all of the objectives outlined above involved keeping things extremely simple on the client side. A separate browser window or frame contains a monitor control panel web page with Javascript code that regularly detects changes in the target browser window or frame (in which the target web page being used for collaboration is loaded). Users can initiate collaboration simply by visiting a web page or activating a Bookmark/Favorite to load the monitor control panel. It is assumed that users are talking on the telephone while collaborating, although it is straight-forward to integrate this solution with Internet phone applications.
Technology Area: Net Services
Modification Date: July 14, 2004
