In the most simple definition, TUIO is a way of sending a representation of touch points between two applications.
TUIO is a protocol specification for encapsulating data from 2d or 3d space so that it can be sent from a server to a client application.
It’s somewhat similar to how and XSD defines an XML file that is used to retrieve data from web services.
By creating a standard format for how the data is transferred it allows multiple different server and client applications to talk to each other even if they are implemented in different technologies. This specification allows, as an example, an application like CCV to be written in C++ to take camera data, run filters on it that convert white blobs to points and send it to a flash client to present a rich presentation.
Most commonly the data is in binary and sent over UDP. The specification is one that also allows for data to be lost along transmission. This is great as it allows robust handling for potential network data loss and also for instances where the server provides information at a rate that is faster than the client can accept and process.
It should be noted that in addition to x,y and z location (as percentages of the total stage size) the protocol supports rotation, blob size and vectors of acceleration and rotation.
The entire specification has more detail.
Nate is currently a Senior Presentation Layer Architect at Razorfish Chicago. As an SPLA Nate: participates in technology leadership team and resource allocations, manage fulltime and contractor resources, represents technology for groups of brands across multiple clients, furthers development of standards within the office, architects project implementations and fosters community and mentoring.