Token and Constraints (TAC) Paradigm
The TAC Paradigm describes a TUI as a set of TAC relationships, defined by tokens and constraints. In the example of the reacTable TUI, the tokens are those graspable pyfos – the tangible music controllers to be manipulated above the table-top surface. There are 6 groups of tangibles, including Generators, Audio filters, Controllers, Control filters, Audio mixers, and Global. The constraints are the bounds of the table-top surface, serving as a reference frame for the user’s interactions with the tangible music controllers, as well as the tangible music controllers themselves, as they relate to each other atop the surface. The variables – the digital information coupled with the tangible music controller tokens – are the behaviors of each of the tokens and the connections the tokens can make with each other.
Properties of the TAC Paradigm
There are five properties of the TAC Paradigm: Couple, Relative Definition, Association, Computational Interpretation, and Manipulation. We’ve already described Coupling as the relation between the variables and the tokens of the reacTable. We’ve shown Relative Definition exists when the tangible music controllers serve as both tokens and constraints depending on the table-top context. We’ll proceed by showing the latter three properties.
The Association property says that a new TAC is created when a tangible music controller A is placed upon the table-top surface. Because a tangible music controller is both a token and and constraint, the TAC consists of a token – the tangible music controller A – and a constraint list including the other tangible music controllers already on the table. By removing one of the neighboring controllers B, you remove not only one constraint from the TAC of controller A, but you also destroy the TAC associated with controller B, the token associated with that TAC. Likewise, when you remove the controller A from its associated TAC, you destroy the TAC and remove one constraint from each of the other TACs associated with the table-top controllers.
A token has Computational Interpretation when it is associated with its constraints. For example, when the user places a token atop the reacTable surface, it plays sounds and displays visuals (from the specific behavior of the specific tangible music controller). When the user surrounds the token by yet more constraints, any neighboring tangible music controller constraints, the token has more levels of computational interpretation (from the connections between the tangible music controllers). When the token is removed from the table (its constraint), the sounds and visuals associated with that token stop.
The Manipulation of reacTable is continuous. The manipulation of tokens and constraints atop the surface result in continuous feedback.
TAC Relationships in reacTable TUI
We can now describe the TAC relationships in the reacTable TUI:

Under the tabletop surface, the TUI uses computer vision (camera) and a projector. The camera loads video into reacTIVision, which analyzes the markers on the pucks and their placement on the tabletop surface. The algorithms spit out a TUIO into the connection manager, which then transmits the connection info into an audio synthesizer and visual synthesizer. The visual synthesizer determines the video to be displayed through the projector. Meanwhile, the audio synthesizer not only plays the audio but also produces for the visual synthesizer the waveform data to be displayed.


Student of Computer Science and Economics at Wellesley College, B.A. May 2011. Cross-registered at MIT. Web designer. Curious problem solver. Always an aspiring artist. Family in Shanghai. Home in Sillicon Valley. Interested in HCI, user experience, interface design, product design and development, and all things progress and innovation.