Applications and libraries

From NUI Group Community Wiki

Jump to: navigation, search

See also:

This wiki list all the frameworks, libraries, software and other resources to create multi-touch applications. If you know a framework or library that could be used to create multi-touch applications, but has a more generic usage, such as OpenCV and VVVV, please go to Software Resources

NUI Group Thread Mirror: http://nuigroup.com/forums/viewthread/3823/

Contents

Format

Framework or Library name

Programming Language:
Status: active | inactive
Source code: yes | no
License:
Page:
Description:

The Frameworks and libraries are sorted alphabetically. There is also five categories based on the purpose of the framework or software resource: Vision, Gateway, Client, Simulator and Other.

Vision

BBTouch

Programming Language: Cocoa (Mac)
Status: active
Source code: yes
License: GPL license
Page: http://benbritten.com/blog/bbtouch-quick-start/
Description: BBTouch is an open source, OSX based tracking environment for optical multitouch tables...

Bespoke Multi-Touch Framework

Programming Language: C#
Status: active
Source code: yes
License: BSD License
Page: http://www.bespokesoftware.org/multi-touch/
Description: The Bespoke Multi-Touch Framework is a feature-rich and extensible software framework for developing multi-touch interfaces. Licensed under the BSD open-source license, you are free to use and extend the source code to suit your purposes. The framework can be paired with any vision-based multi-touch hardware platform (e.g. FTIR, or Diffused Illumination). The package includes a number of example applications, a Windows mouse emulator, 2D Ink/Symbol recognition, 4-point calibration, and independent presentation layer (support for XNA and WinForms included), and OSC network support using unicast, multi-cast, and broadcast UDP/IP.

Community Core Vision (CCV) formerly know as tBeta

Programming Language: C++
Status: active
Source code: not yet
License: MPL or MIT (not defined)
Page: http://tbeta.nuigroup.com/
Description: Community Core Vision, CCV for short, is a open source/cross-platform solution for computer vision and multi-touch sensing. It takes an video input stream and outputs tracking data (e.g. coordinates and blob size) and touch events (e.g. finger down, moved and released) that are used in building multi-touch applications. CCV can interface with various web cameras and video devices as well as connect to various TUIO/OSC enabled applications and supports many multi-touch lighting techniques including: FTIR, DI, DSI, and LLP with expansion planned for the future (custom modules/filters).

Movid

Programming Language:
Status: active
Source code: yes
License: QPL license
Page: http://movid.org/
Description: Movid is the acronym for Modular Open Vision Interaction Daemon. It's a crossplatform and Open Source tracker, designed to be as modular as possible.

reacTIVision

Programming Language: C++
Status: active
Source code: yes
License: GPL license
Page: http://reactivision.sourceforge.net/
Description: reacTIVision is an open source, cross-platform computer vision framework for the fast and robust tracking of fiducial markers attached onto physical objects, as well as for multi-touch finger tracking. It was mainly designed as a toolkit for the rapid development of table-based tangible user interfaces (TUI) and multi-touch interactive surfaces.

Touché

Programming Language: Cocoa (Mac)
Status: active
Source code: yes
License: LGPLv3
Page: http://gkaindl.com/software/touche http://code.google.com/p/touche/
Description: Touché is a free, open-source tracking environment for optical multitouch tables. It has been written for MacOS X Leopard and uses many of its core technologies, such as QuickTime, Core Animation, Core Image and the Accelerate framework, but also high-quality open-source libraries such as libdc1394 and OpenCV, in order to achieve good tracking performance.

Touchlib

Programming Language: C++
Status: inactive
Source code: yes
License: New BSD License
Page: http://nuigroup.com/touchlib/ http://code.google.com/p/touchlib/
Description: Touchlib is a library for creating multi-touch interaction surfaces. It handles tracking blobs of infrared light, and sends your programs these multi-touch events, such as 'finger down', 'finger moved', and 'finger released'. It includes a configuration app and a few demos to get you started, and will interace with most types of webcams and video capture devices. It currently works only under Windows but efforts are being made to port it to other platforms.

Gateway

FLOSC

Programming Language: Java
Status: inactive
Source code: yes
License: MIT
Page: http://code.google.com/p/flosc/
Description:

Oscar

Programming Language: Cocoa/Python
Status: active
Source code: yes
License: GPL
Page: http://www.todo.to.it/blog/oscar
Description: Oscar is an OSC/TUIO-to-Flash gateway.
It provides a handy and simple user interface, tag filtering, activity monitor, configurable options and a nice design ;)
Currently available for Mac Os X 10.5 only (Universal Binary).

Client

Creative multi-touching

Programming Language: Actionscript 3 (Adobe Air)
Status: active
Source code: yes
License: not specified
Page: http://www.multitouching.nl/page.asp?page=148
Description: Creative Multitouching is a tool on a multi-touch environment to enhance creative projects together. Things to do are drawing, simple writing and search for photo's and video's on Flickr and Youtube and combining them together into a creative collage.

Fid_abs

Programming Language: Pure Data
Status: active
Source code:
License: creative commons nc by sa
Page: http://jy.gratius.free.fr/?q=node/82
Description: set of pure-data abstraction for building multitouch / tangible applications.
-classes for events handling, structures for data storage
-GEM utilities for video feedback and multitouch controls
-pure data TUIO simulators

Grafiti

Programming Language: C#
Status: alpha/beta
Source code: yes
License: GNU General Public License (GPL) v3
Page: http://code.google.com/p/grafiti/
Description: A multi-platform, extensible Gesture Recognition mAnagement Framework for Interactive Tabletop Interfaces. Built on top of the TUIO client, it supports the development of multitouch gestural interfaces, possibly including the use of tangible objects as targets.

Kivy

Programming Language: Python
Status: Active
Source code: yes
License: LGPL
Page: http://kivy.org/
Description: Kivy is an open source software library for rapid development of applications that make use of innovative user interfaces, such as multi-touch apps.

MT4j

Programming Language: Java
Status: Active
Source code: yes
License: GPL v3
Page: http://www.mt4j.org/
Description: MT4j - Multi-Touch for Java™ - is an open source Java™ development platform, created for rapid developement of graphically rich applications. MT4j is designed to support different kinds of input devices with a special focus on multi touch support. Most well known multitouch gestures are already built in and can be accessed as simple as listening to mouse events. It allows hardware accelerated 2D or 3D graphics using a scene graph based on Processing.

Multi-Touch Vista

Programming Language: C#
Status: active
Source code: yes
License: GNU General Public License (GPL) v2
Page: http://www.codeplex.com/MultiTouchVista
Description: Multi-Touch Vista is a user input management layer that handles input from various devices (touchlib, multiple mice, wii remotes etc.) and normalises it against the scale and rotation of the target window. It will allow standard applications to be scaled and rotated in a multi-touch style and receive standardised input. It will also provide a framework on which to build multi-input WPF applications. It supports Windows Vista and XP.

PyMT

Programming Language: Python
Status: active (but the devs are working on kivy 'the next generation PyMT')
Source code: yes
License: GPL v3
Page: http://pymt.txzone.net/
Description: PyMT is a python module for developing multi-touch enabled media rich OpenGL applications based on pyglet. Currently the aim is to allow for quick and easy interaction design and rapid prototype development. There is also a focus on logging tasks or sessions of user interaction to quantitative data and the analysis/visualization of such data.

TouchAPI

Programming Language: Action Script 3
Status: ???
Source code: ???
License: ???
Page: ???
Description:

touchpy

Programming Language: Python
Status: early development/active
Source code: yes
License: GPL
Page: http://touchpy.googlecode.com
Description: TouchPy is a bare bones light weight Python Multi-Touch framework that does not bind you to any specific GUI Toolkit. It is simple to use, and is the most versatile Python Multi-Touch framework.
Tutorial:http://xelapondsstuff.wordpress.com/tutorials/

Touchscape SDK

Programming Language: C++
Status: Active (Beta2)
Source Code: No
License: Free for non-commercial use.
Page: Website Wiki Page
Description: The Touchscape SDK provides a standard platform for developing Multitouch applications, removing the need for the developer to worry about the standard features of a Multi-Orientated Multitouch environment. As a developer, you can keep the focus of your work on the application you are wanting to produce, without concerning yourself with multiple instances, orientation or scaling among other things. The SDK is currently only implemented for Windows Operating System, with Windows 7 being the optimal platform.
Tutorial: Coming soon!

2DCur

Programming Language: Python, Lily (Javascript Visual Language on Mozilla Framework)
Status: early alpha
Source code: http://2dcur.googlecode.com
License: GPL3
Page: http://2dcur.googlecode.com
Description: The Lily libraries are more mature. The Python library is messy. Both are without Object support but have some basic stats on the way to gesturing, but a more robust gesture framework is desired. May integrate existing Javascript gesture libraries soon.

Simulator

SimTouch

Programming Language: Action Script 3 (Adobe Air)
Status: active
Source code: yes
License: MIT License
Page: http://code.google.com/p/simtouch/
Description: SimTouch is another TUIO simulator build using the Adobe Air runtime. The core benefit to using SimTouch is the transparent background allowing the application developer to have a better grasp of what he/she is 'touching'.

TUIO Simulator

Programming Language: Java
Status: active
Source code: yes
License: GNU General Public License
Page: http://reactivision.sourceforge.net/#files
Description:

QMTSim

Programming Language: c++
Status: active
Source code: yes
License: GNU General Public License
Page: http://code.google.com/p/qmtsim
Description:More information: http://nuigroup.com/forums/viewthread/2570/

Other