Surfnet logo


The Simple Multi-touch Toolkit

Developing multi-touch applications can be difficult and tedious, especially for people without a programming background. The Simple Multi-touch Toolkit, a library for Processing and Java, unifies all the most common touch input devices, including TUIO and Windows Touch, and sports simple, easy to understand syntax. Accessible, yet powerful, it opens up the realm of touch to the inexperienced programmer, and makes coding multi-touch interactions much easier. []


Touchtoolkit is a tool designed to ease the development and testing of multi-touch applications. Currently, it supports WPF4, Silverlight 4, the Microsoft Surface, Anoto Pen and other devices that utilize the TUIO protocol.
For more information and a download link, please click here.

Agile Planner for Digital Tabletop (APDT)

APDT is a tool designed for distributed agile planning on digital tabletops.
For more information and a download link, please click here.

Proximity Toolkit

The Proximity Toolkit is a runtime environment that uses various sensors to track people, digital devices, and fixed items in a space such as large digital surfaces, where it returns information about the absolute location of those things as well as proximity relationships between things. It is still under active development, but version 1.0 plus documentation and training material is available.
For more information and a download link, please click here.

A Proximity and Orientation Aware Video Playback Application

This application, built atop the proximity toolkit, controls video playback on a large screen and reacts accordingly to a number of implicit actions. It shows different views on video data depending on the user’s presence and proximity. It allows one to select and browse by touching or by pointing from a distance with a mobile phone.Sitting down and looking at the screen automatically enables video playback and other people that enter the room will be provided with additional information about the playing video. The system can recognize user actions, like making a call or looking away and pause the playback.
For more information and a download link, please click here

Haptic Puck Development Tools

Haptic Tabletop Puck development tools is a set of files, instructions and software that facilitate the creation and development of haptic experiences for tabletop computers. It is still under active development.
For more information, please click here

The ME-dia Space

The ME-dia Space is a video/audio telecommuting system (See projects). While not a toolkit, the software is included as it may help others develop similar systems. It is still under active development.
For more information, please click here.


.NetworkingGT is a toolkit for rapidly prototyping distribured applications with the Microsoft.NET platform. While this project began with other grants, we are continuing to debug it within Surfnet. .NetworkingGT provides the shared dictionary: a centrally coordinated distributed shared memory system for inter-application communication. Programmers work with the shared dictionary as though it were a hash table. Values are identified with string keys that look like paths in a conventional disk file system. Behind the API the programmer works with, the networking infrastructure based on the GT Toolkit, takes care of serializable values and distributing them through the client/server architecture. Programmers can monitor the dictionary for changes with subscriptions.
For more information, please click here.


EquisFTIR is an input processing toolkit for optical surfaces, i.e., surfaces using cameras for input, such as those based on Diffuse Illumination (DI) or Frustrated Total Internal Reflection (FTIR). EquisFTIR provides an experimental testbed for input processing algorithms, and embeds the novel dual quad noise reduction filter which is both faster and more accurate than existing algorithms.
More specifically, EquisFtir processes camera input to detect touches on optical multi-touch surfaces, such as those based on FTIR and diffuse illumination. It delivers touch events to applications written in C, C++, or C# with Microsoft XNA.
For more information, please click here.