Software

Software needed to get multitouch interaction to work can be confusing as there are many different choices. The best place to see all the different kinds of vision, gateway, client and simulator software is to see this page of the NUI Group wiki. Below I will talk about the main and most often method of getting the software running.

Vision

Vision software is what takes the images from the camera, the blobs made by objects interacting with the touch surface and translates them into a point of interaction. Different software outputs different parameters, but all output an x and y coordinate. Touchlib was one of the first open source vision programs to do so, working with TUIO to send these coordinates to the client software. Below is a pic showing how TUIO works:


In 2008, the NUI community released tbeta, which is basically a redesigned and simplified GUI version of Touchlib. tbeta allows the manipulation of filters to be more easily adjusted and maintains the easy to follow calibration software found in Touchlib. Below are some tbeta screenshots:



In 2009, nuigroup broght tbeta out of it's "beta" stage and named it Community Core Vision, or ccv for short. You can download it HERE. It adds a few new features to tbeta that are very helpful. Newer and forum user modifed versions allow multiple cameras, fiducial tracking, etc.

reacTIVision is another vision software which mainly concentrates on the ability to use fiducials, software recognizable patterns. It allows objects to be "tagged" so that it's position, rotation, speed etc. can be tracked and worked with. To use fiducials the surface must be Rear DI or DSI, unless you make the objects themselves light up the fiducial patterns.

Client

Client software takes the data sent from the vision software like ccv and applies the coordinate points to events. These events are usually touch events since each blob is a touch on the touch surface. There are many popular client software, with Adobe Flash being one of the main ones used on the NUI Group forums. The main tutorial to getting flash to work with multitouch touch events is here on the NUI wiki page. Looking at that page will give you a really good idea how to simply change mouseevents to touchevents and how to work with the RotateScalable class to do the two finger rotate, zoom etc popular in multitouch photo manipulation programs. Don't forget to adjust the flash security settings to include the folder where your flash app is stored.

To get some good flash applications to use, check out softmt.com or sparkon.net