From NUI Group Community Wiki

Jump to: navigation, search

TUIO (Tangible User Interface Objects) is a simple yet versatile protocol designed specifically to meet the requirements of table-top tangible user interfaces. This protocol defines common properties of controller objects on the table surface as well as of finger gestures performed by the user. Initially the protocol has been implemented within reactivision, the computer vision engine developed for the reacTable project. It also has been adopted by several other projects related to tangible and multi-touch interaction, such as the touchlib and the NUI group community. The TUIO protocol is based on OpenSound Control and is therefore usable on any platform supporting this protocol. There are many example clients available for programming languages such as C/C++, C#, Java, Objective C, Python, Smalltalk, ActionScript and multimedia environments such as Pure Data, Max/MSP, Quartz Composer, SuperCollider and Flash.

The default transport method for TUIO is the delivery of binary OSC data by sending UDP packets via port 3333. This method ensures a compact, platform independent and low latency message delivery. Since Flash currently does not support TUIO/UDP there exists an alternative TUIO/LC (shared memory) method for Flash, which has been implemented within a dedicated Flash/AS3 library. There also exists an additional TUIO/TCP transport method. The current CVS version of the TUIO C++ reference implementation supports TUIO/LC and TUIO/TCP in addition to the default TUIO/UDP transport.

Although many Flash examples are presently using a Flash/XML TUIO format, as delivered through flosc or directly by the current version of CCV, this solution is not a direct representation of the TUIO protocol, since it encapsulates the TUIO data in rather large XML messages. Therefore we encourage the use of the TUIO/LC gateway for trackers that only support standard TUIO/UDP. The next versions of reacTIVision and Touché will both support direct TUIO/LC to be used with Flash.

TUIO was designed by Martin Kaltenbrunner, Till Bovermann, Ross Bencina and Enrico Costanza during a short-term scientific mission supported by the COST287-ConGAS project.

See also

For more info on programming languages and environments that have TUIO support, read Writing TUIO Apps

External links