TWICE JavaDoc

JavaDoc is available for the following modules:

AuthenticationThis module provides authentication functionalities. It encrypts and decrypts messages, stores user specific encryption keys and can be included into the ServerPushEventBus mechanism.
ClientServerTimeOffsetThis module calculates the offset between the client application (in the browser) and the server clock. This is required for estimating the current server time for building a common clock base to establish conflict handling mechanisms.
CursorSimulatorThis modules allows to introduce programmatically controlled cursors following specified paths or random movement patterns. This is useful for the simulation of multiple users in experimental settings.
DeviceUtilsThis module provides fundamental utils required for any client (device) in a collaborative setting. Examples are the generation of a unique identifier to separate the device from others as well as the separation of predefined device types.
DragNDropA multi-pointer and touch capable drag and drop library. The library relies on the extra information added to native mouse events through the multi-pointer functionality and allows - with a touch sensitive implementation to provide drag and drop functionalities on touch-based devices with the same API.
DragNDropStandaloneThe testing application for the drag and drop module
DynamicLayoutThis module provides a dynamic layouting mechanism depending on the type of devices. For big screens, a tab-oriented arrangement of components allows to rearrange the components by drag and drop while the mobile layouting mechanism offers access to the different components by a menu triggered by a button on the top left of the screen.
ExperimentWorkflowA module that provides a workflow for experiments. Different experiment tasks can be arranged, end conditions can be defined and instruction screens can be included
MindMapA showcase application of the capabilities of the toolkit providing mindmap functionalities.
MouseControlThis module provides the functionalities for controlling a remote pointer on a shared screen. The TouchPad widgets are device dependent and are suited for client devices wishing to control the pointer. The implementation on the "shared device" side can be found in the Multipointer module.
MouseControlStandaloneThe testing application for the mouse control module
MPProxyThis module provides a forward-proxy implementation which can be used to inject JavaScript code into third party web pages. This is used e.g. to extend standard web pages / web applications with collaborative functionalities such as multi-pointer awareness.
MultipointerThis module provides the multi-pointer functionalities on a shared screen. It provides the graphical representations of the mouse pointers and defines the interfaces for controlling the pointers from remote. It additionally takes care of the firing of native mouse events as well as their extension with additional informations.
MultiPointerStandaloneThe testing application for the multipointer mechanism
MPProxyFrameA wrapper-module that provides a standard widget (iFrame) suited for the use of the proxy mechanism (cp. MPProxy).
QRCodeGeneratorA module that allows to create QR codes dynamically. This is used e.g. to create visual tags for the entry URL of the current collaborative setting or for providing the credentials of a WiFi connection.
ServerPushThis package provides an extension of the GWT Event Bus for transparent remote event handling. It provides the necessary base classes for optimizing the event distribution between clients by offering the event types "discarding", "undoable" and (by default) "blocking".
ServerPushStandaloneThis is the testing application for the ServerPush module
TWICEModuleThis module provides the structures for the lifecycle and lazy-loading management of TWICE components.
TWICEModuleTestThis module is the test application for the TWICEModule component