Still today, the most common way to interact with software
applications and internet it is by using a keyboard and a mouse device.
Altough, in the last years technology brought us new interesting ways
of interacting with informations and systems such as multitouch
surfaces, movements and speed tracking by using accelerometers,
gestures recognition and so on.
My Multitouch Table prototype (i-Cube) and MIRIA SDK in action
In this scenario seems like the OSC protocol, a protocol used for transmitting output received by those devices, is becoming a standard.
MIRIA relays on top of this protocol and it is a cross-platform software that consist of two components:
MIG (Multi Input Gateway) a desktop client for the end-user and it
will let him interact with applications by using his multitouch table,
ipod/iphone, wii-remote, wii-fit and such. MIG has also a Remote Pad functionality that let you use your ipod/iphone as a multitouch pad to control your PC remotely.
MIRIA SDK library for adding, to standard desktop or
Silverlight /Moonlight web applications, multi device support and
let end-user experience a more natural interaction with them. MIRIA SDK is available for .NET and
MONO platforms.
MIRIA is originary written using the .NET Framework has now been
succesfully ported to the MONO platform. The Linux/Mac OS X release
will be available for download soon (sorry, some p/invoke issues =) on the Remote Pad feature).
How it works and what kind of devices are supported
Once you installed MIRIA, you can start the Multi Input Gateway
application (MIG). MIG receives input from your OSC devices and forwards it
to desktop applications or remote web applications based on Microsoft
Silverlight 2/Moonlight or Adobe Flash 9 and above.
In order to be MIG compatible, your device must have a driver or
third party application that sends its output using the OSC protocol (or its
derivates like the TUIO protocol, commonly used for multitouch surface
devices). The current release of MIG supports any TUIO device,
accelerometer devices like IPod Touch or IPhone. It will be supporting
wii-mote and other devices in future releases.Feel free to ask adding
support for other devices. Planned for the MIRIA 1.0 release is a RawOSC listener that will enable developers implementing even custom messaging between application and custom devices.
For using MIRIA with your IPod Touch/IPhone device you have to
install the OSCemote or equivalent software available throught the
Apple App Store.
Most Multitouch table/wall should already have builtin OSC output client (OSC.exe for touchlib based surfaces).
Get more info about multitouch devices and related technology in the great
NUI Group Forum site . You can also find all the info you need to build
yourself your own multitouch table.
MIRIA SDK can be used to easily add multi-input support to your new or existing
applications that runs on any .NET/MONO platform (Windows, Mac OS X or
Linux). In the program folder you'll find the MIRIA.dll library that you can add as a reference to your multitouch/input project to get started using it.
MIRIA SDK Documentation
I'm still working on the new documentation but you can still referer to the old project documentation page(code examples shown)and to the latest MIRIA 0.85 beta online API documentation (draft). MIRIA.DLL built for Silverlight has some little differences from the MIRIA-WPF.dll that are still not documented. For easy startup I suggest to download the example WPF project source code.
Download MIRIA 0.85 beta package for Linux/Debian Platform (available in november)
Download MIRIA 0.85 beta package for Mac Leopard OS X Platform (available in november)
MIRIA 0.85 features list:
forwards TUIO /tuio/2Dobj and /acceleration/xyz messages
UDP OSC forwarding to Silverlight
using MIRIA SDK for a real Multi Touch Silvierlight experience =)
(MIRIA is the first and only OSC forwarder and multitouch SDK available for Silverlight at the
moment)
built-in Socket Policy Server for Silverlight to enable web applications access MIG devices using sockets
UDP OSC forwarding to Flash clients (XMLSocket) =) using FLOSC compatible XML
built-in Socket Policy Server for Flash to enable web applications access MIG devices using sockets
Remote Pad feature to control your PC remotely using your IPhone/IPod touch (with gestures recognition as well, see videos) =D
Device Monitor that graphically shows received blobs and accelerometer values.
Features planned for next release:
multiple OSC device management and configuration with easy one click activation
OSC messages filtering and mapping (map to system actions like mouse movements, keyboard strokes, program launching, etc..)
output plugin architecture (to let custom processing of raw OSC messages)
RawOSC output plugin
downloadable configuration for automatic device setting for a specific website
OSC input recording and playback
MIRIA 0.86 beta and examples source code Download (.Net / WPF and Silverlight 2)
Download here the WPF version of
MIRIA.dll including WPF and Silverlight 2 examples with source code. In order to use Silverlight 2 examples applications with your OSC device, you must download MIRIA 0.85 setup (see above) which includes the MIG client needed to send OSC input to Silverlight 2 applications. WPF examples applications doesn't need MIG anymore because now has got builtin support for OSC input =)