Welcome to the HCI Lab TT Wiki!
Looking for tutorials and reference material? Check the TTDocumentation page.
The entire wiki is presently in the midst of a major overhaul - please bear with us while we're growing!
What is TT?
In short, TT is a .NET library (written in C#) to simplify the process of constructing prototypical and experimental applications for a tabletop platform.
TT provides a simple interface for building a server module to support virtually any motion tracker device and uses a Windows form for imaging through any Windows-supported display device, such as a projector or tabletop display. Additionally, a constantly-growing library of typical components are provided to simplify the development of new applications.
Why is TT useful?
The tabletop paradigm presents a number of problems that are not encountered within typical pointer-based environments.
- Perhaps the most important consideration is the necessity to accomodate input from multiple users at one time. All Events that are raised by the TTWorkspace are tagged with the ID of the sensor used to trigger the event, which makes it easy to build apps that accomodate multiple users within a single workspace.
- Another difficulty stems from the position and orientation of users around the tabletop surface. Users that stand along the conventional "top" edge of the screen would suffer a usability handicap when trying to interact with components that can only be positioned "right-side-up". To solve this problem, TTComponents can be positioned any way and are easily rotated and scaled, in addition to discerning input from multiple sensors.
What hardware is supported?
Out of the box, TT provides support for the Polhemus Liberty 6DOF motion tracker. For maximum flexibility, additional input server modules can be setup with minimal effort through the ITTServer interface. To demonstrate the possibilities of configuring alternative input server modules, and to aid the the development of TT applications when no motion tracker is available, the DummyServer is included that accepts input from the mouse to simulate a 6DOF input device with no additional hardware necessary.
How does it work?
The TT project consists of a number of conceptual modules that distribute the workload:
- InputModule - Accepts data from an input device such as a motion tracker and generates objects to represent the current state of the device
- CalibrationModule - prepares the data from the server module for use by the workspace module by transforming it to fit into the relative workspace frame to prepare it for the workspace module
- WorkspaceModule - consisting of TTWorkspaceForm (analogous to a .NET form) and its related classes, the workspace module receives calibrated input and is responsible for interpreting that input, managing components and timers, and generating events dependent on the state of these components and the input.
Additionally, the concept of filters provides a simple means of applying filters to the application's input, output and state, chiefly for the purpose of transparently applying various interaction paradigms upon agnostically-constructed applications.
Users of TT can build apps by creating a new subclass of TTWorkspaceForm, adding TTComponents, and attaching Events to these components to respond to user input. If more sophisticated levels of control are required, TTComponents can be eschewed in favor of other alternatives built directly upon the underlying .NET platform while still reaping the benefits of input and calibration handling provided by TT.
Who owns TT?
TT is being actively developed at the University of Manitoba under the supervision of Dr. Pourang Irani. Past and present contributors include Jonathan Cullen, Sean Gustafson, Grant Partridge and Matthew Tate.
How can I get TT?
TT is currently not available. While TT is being developed primarily for internal purposes, the intent is to make it available for other educational instatutions and interested individuals once a reasonable level of stability has been achieved. Inquiries about TT should be sent to irani@cs.umanitoba.ca. Stay tuned to this wiki for the latest information!
Where can I learn more about TT?
Check the TT Documentation!
Comments (0)
You don't have permission to comment on this page.