NPAC/WebWisdom.com Tango Interactive Shared Browser
HomePage
- Master should invoke Dialog Page and Select URL or
Favorite
- Non master should be patient
- Note Clock records events and 30 second heartbeat
- Details are given below the graphic ......
Capabilities of NPAC/WebWisdom.com JavaScript Shared Browser
- This allows a rich sharing of Web Pages between a Master Browser and any
number of other (called non master) clients. The Sharing is implemented by
sharing browser events and events are transmitted between browser windows using
the largely Java TangoInteractive.
- The Shared Browser itself is written in some 10,000 lines of JavaScript
which can be perused by anybody but we respectfully note that they are
copyrighted July 1999 by Syracuse University and WebWisdom.com
- The dynamic HTML support is based on ideas published in Dynamic HTML,
The Definitive Reference by Danny Goodman (1st ed, O'Reilly, 1998)
- Core capability is a Shared Web Page Controlled by Master where location of
Page can be set from either
- Explicit Entry of URL in text field
- Choice of URL from list of "favorites" preset in configuration
files stored in archival files or cookies
- Clicking of links and such Browser invocations
- Key properties of pages can be shared including
- Frame locations
- Dynamic HTML and layers
- Scrolling Position
- Form properties
- Window Size
- Note web page through form can specify access to a general server side
object (such as a CGI Script, CORBA Broker, Servlet) Thus this shared web
browser can in fact share any server side
object accessed from HTML pages
- One can save your personal pages of interest(called personal bookmaks) in
pages which are conveniently controlled from central dialog box
- Only the master can control the main shared page but subsidiary system
bookmarks where only the the URL is shared, can be distributed to all users by
either master or if given permission, a non-master client. These pages can be
used for general information of value during the session.
- Location of System and Personal bookmarks can be set by same mechanisms
allowed for main page.
- All Properties of Forms can be shared such as
- Text fields
- Text areas
- Multiple and Single Selection Lists
- File Browsing
- Passwords
- Radio Buttons
- Check Boxes
- All types of Buttons
- Further forms can be saved, read back and/or transmitted between master and
non-master, This allows master to check and edit forms filled in by non masters
- Behavior can be individually customized and saved either in named cookies
or web pages. Configurations can be retrieved by name.
- Possibe Customization includes
- Whether or not scrolling shared
- Which windows saved at end of session
- Whether non master clients can click on shared browser page
- Sessions can be completely archived in terms of all events generated or
received from TangoInteractive; URL's seen in Shared Browser; Personal and
System Bookmarks; Configuration data.
- Archived Sessions can be read back and replayed with original or
accelerated timing.
- As well as formal archives, all messages are saved in a console which is
available for inspection and which also can be saved for debugging or other
purposes.
- Optimized support for Powerpoint Internet Export and WebWisdom Pages
- This includes automatic registration of these pages through the onload
handler. This makes sharing of pages more precise as Shared Bowser otherwise
uses an heuristic to decide if page is loaded and it is safe to manipulate it.
- Shared Pointer package exploiting dynamic HTML Support
- Network Performance package allows one to
- Measure ping from a "netmaster" node to any or all of
participants
- Examine processing status of any client and download times for all pages
received. This can be compared to download time of Netmaster or other nodes
- Measure and display average download times of selected Images
- Performance can be invoked or displayed locally or requested remotely by a
netmaster
- Netmaster status is gotten by granting or requesting Tango Master Status
- One cannot change master of main browser window
- You can get response from non masters using System Bookmarks which can be
controlled by any client
- One can open up any number of simultaneous Shared Browsers which run
without Interference. This allows anybody to control their own session
- Any non master can map URL's by changing stem. This enables support of
mirror sites.
- Heuristic Algorithm with user customization is used to predict Next and
Previous Pages in a set and to guess image locatuion of thumbnail for a page
- Thumbnail can be used to provide a preview (master) or review (non master)
of coming or past pages.
- Control Bar forced above other windows and includes key access to
parameters and files as well as a JavaScript Clock recording time of events in
last minute with 2 second resolution.
- Here and with bookmarks one can force "focus" on particular
windows and so manage a cluttered desktop
- Control Bar can be positioned in any corner of screen and allows you to
move other windows around.
- Dynamic HTML can be used in two ways
- Direct Sharing of mouse and keyboard events (clicks, mouse up/down, mouse
over/out)
- A custom interface used by shared pointers and games where for instance
mouse clicks are directly linked to TangoInteractive in the event handler
- The game interface is defined and enbles multi-player JavaScript Games to
be developed
- Two simple card games -- Concentration and Internet Snap are provided as
Examples
- There is a heartbeat which operates every 30 seconds and keeps non-masters
"on track" inspite of deliberate or accidental deviations
- Using TangoInteractive notification mechanism, new clients joining are
immediately updated.
- Using a nifty set of heuristics to determine page loading, the shared
browser delays subsequent events on nonmasters until page is ready
- This copes with delays due to filling in passwords on protected pages or
just greater delays on nonmasters than master for a particular page
- The Shared Browser is built around the concept of events covering all
actions from form content or URL change to pinging of clients and window
resizing. These events have in total some 100 distinct properties which can be
displayed from "History Page". There is a general serialization
package for JavaScript events used to pack internally, send over
TangoInteractive channels, and save in archive pages or cookies.